/* shared cards*/
.task-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:16px;
  box-shadow:0 1px 2px rgba(0,0,0,0.04);
  margin-bottom:12px;
}

.task-title{
  font-size:22px;
  font-weight:700;
  margin-bottom:6px;
}

.task-sub{
  color:#6b7280;
  font-size:14px;
  margin-bottom:12px;
}

.step-list{
  padding-left:18px;
  margin-bottom:0;
}

.step-list li{
  margin-bottom:8px;
  font-size:15px;
}

.hint{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:10px;
  padding:10px 12px;
  font-size:14px;
  color:#334155;
  margin-top:10px;
}

.lineup-shell{
  background:transparent;
  border:none;
  border-radius:12px;
  padding:0;
  min-height:80vh;
}

.placeholder{
  height:80vh;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6b7280;
  font-size:16px;
  background:#fafafa;
  border-radius:10px;
  border:1px dashed #d1d5db;
}

/* hero */
.hero{
  padding:18px;
  border-radius:14px;
  border:1px solid #e5e7eb;
  background:#ffffff;
  margin-bottom:14px;
}

.hero-title{
  font-size:28px;
  font-weight:800;
  margin:0 0 6px 0;
}

.hero-sub{
  color:#475569;
  font-size:16px;
  margin:0;
  line-height:1.5;
}

.big-btn{
  font-size:18px;
  font-weight:700;
  padding:12px 14px;
  border-radius:12px;
}

.consent-main-title {
  font-size: 32px;
  font-weight: 800;
  margin-bottom: 10px;
}

.consent-page .consent-subtitle {
  font-size: 25px !important;
  font-weight: 600;
  color: #6b7280;
  margin-bottom: 22px;
}


.consent-divider {
  margin: 12px 0 18px 0;
  border-top: 1px solid #e5e7eb;
}


/*  mini method cards */
.mini-card{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:14px;
  background:#ffffff;
  box-shadow:0 1px 2px rgba(0,0,0,0.04);
  height:100%;
}

.mini-title{
  font-size:15px;
  font-weight:800;
  margin-bottom:8px;
}

.mini-list{
  margin-left:18px;
  margin-bottom:0;
}

/* ---- consent page ---- */

.consent-page {
  max-width: 980px;
  margin: 0 auto;
  padding: 28px 18px 40px 18px;
}

.consent-title {
  font-size: 44px;
  font-weight: 700;
  margin: 0 0 6px 0;
}

.consent-subtitle {
  color: #6b7280;
  font-size: 16px;
  margin-bottom: 22px;
}

.consent-divider {
  margin: 18px 0;
  border-top: 1px solid #e5e7eb;
}

.consent-section h4 {
  margin-top: 22px;
  font-weight: 700;
}

.consent-section p,
.consent-section li {
  font-size: 16px;
  line-height: 1.6;
}

.consent-section ul {
  margin-top: 8px;
}

.consent-actions {
  margin-top: 24px;
}

.consent-actions .btn-primary {
  margin-top: 10px;
}

.demo-page {
  max-width: 600px;
  font-size: 14px;
  margin: 60px auto;   
}

.demo-page h3 {
  font-size: 30px;
  margin-bottom: 30px;
}


/* done page */
.done-card{
  text-align:center;
  padding:40px;
  border:1px solid #e5e5e5;
  border-radius:12px;
  background-color:#f9fafb;
}
/* mic testing page */
.mic-card {
  max-width: 800px;
  margin: auto;
  padding: 28px;
}

.mic-step {
  display: flex;
  gap: 14px;
  margin-top: 18px;
  align-items: flex-start;
}

.mic-divider {
  margin: 24px 0;
  border-top: 1px solid #e5e7eb;
}

blockquote {
  background: #f8fafc;
  padding: 12px 16px;
  border-left: 4px solid #2563eb;
  margin-top: 8px;
  font-size: 16px;
}






