:root{
  --pmdd-bg:#f4f7fb;
  --pmdd-surface:#ffffff;
  --pmdd-surface-soft:#f8fbff;
  --pmdd-text:#172033;
  --pmdd-text-sub:#5b6780;
  --pmdd-line:#e6ebf3;

  --pmdd-primary:#6c7cff;
  --pmdd-primary-strong:#5869f2;
  --pmdd-primary-soft:#eef1ff;

  --pmdd-accent:#f472b6;
  --pmdd-accent-soft:#fff1f7;

  --pmdd-info:#4f8dfd;
  --pmdd-info-soft:#eef5ff;

  --pmdd-warn:#ef4444;
  --pmdd-warn-soft:#fff1f2;

  --pmdd-advice:#8b5cf6;
  --pmdd-advice-soft:#f5f3ff;

  --pmdd-chip:#fdf2f8;
  --pmdd-chip-text:#be185d;
  --pmdd-chip-line:#fbcfe8;

  --pmdd-shadow:0 10px 30px rgba(20,32,60,.08);
  --pmdd-shadow-soft:0 4px 14px rgba(20,32,60,.06);

  --pmdd-radius-xl:24px;
  --pmdd-radius-lg:18px;
  --pmdd-radius-md:14px;
}

.pmdd-screening-wrap{
  max-width:760px;
  margin:28px auto;
  padding:0 14px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  color:var(--pmdd-text);
}

.pmdd-card{
  background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);
  border:1px solid var(--pmdd-line);
  border-radius:var(--pmdd-radius-xl);
  padding:24px;
  box-shadow:var(--pmdd-shadow);
}

.pmdd-title{
  margin:0 0 10px;
  font-size:30px;
  line-height:1.22;
  letter-spacing:-0.02em;
  color:#121a2b;
  font-weight:800;
}

.pmdd-subtitle{
  margin:0;
  font-size:15px;
  line-height:1.85;
  color:var(--pmdd-text-sub);
}

.pmdd-result-summary,
.pmdd-disclaimer,
.pmdd-scale-caption{
  line-height:1.85;
  color:var(--pmdd-text-sub);
}

.pmdd-note,
.pmdd-warning,
.pmdd-advice,
.pmdd-axis-scores{
  margin-top:18px;
  padding:16px 18px;
  border-radius:18px;
  font-size:15px;
  line-height:1.8;
  box-shadow:var(--pmdd-shadow-soft);
}

.pmdd-note{
  background:var(--pmdd-info-soft);
  border:1px solid #cfe0ff;
  color:#1e40af;
}

.pmdd-warning{
  background:var(--pmdd-warn-soft);
  border:1px solid #fecaca;
  color:#991b1b;
}

.pmdd-advice{
  background:var(--pmdd-advice-soft);
  border:1px solid #ddd6fe;
  color:#5b21b6;
}

.pmdd-axis-scores{
  background:#f8fbff;
  border:1px solid #dbeafe;
  color:#1e3a8a;
}

.pmdd-progress-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  font-size:13px;
  color:var(--pmdd-text-sub);
  margin:0 0 10px;
  font-weight:700;
}

.pmdd-progress-bar{
  position:relative;
  height:14px;
  background:#e9eef6;
  border-radius:999px;
  overflow:hidden;
  margin-bottom:22px;
}

.pmdd-progress-fill{
  position:relative;
  height:100%;
  width:0;
  background:linear-gradient(90deg,var(--pmdd-accent) 0%, var(--pmdd-primary) 55%, #7c3aed 100%);
  border-radius:999px;
  transition:width .28s ease;
}

.pmdd-progress-fill::after{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:80px;
  height:100%;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 100%);
}

.pmdd-axis-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--pmdd-chip);
  color:var(--pmdd-chip-text);
  border:1px solid var(--pmdd-chip-line);
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  margin-bottom:14px;
}

.pmdd-question-text{
  font-size:26px;
  line-height:1.55;
  margin:0 0 8px;
  color:#101828;
  font-weight:800;
  letter-spacing:-0.02em;
}

.pmdd-options{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.pmdd-option{
  position:relative;
  border:1px solid #c7d2e5;
  background:linear-gradient(180deg,#dfe7ff 0%, #cad8ff 100%);
  color:#15213a;
  border-radius:18px;
  padding:16px 18px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-size:16px;
  font-weight:800;
  box-shadow:0 3px 12px rgba(15,23,42,.06);
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
  -webkit-tap-highlight-color:transparent;
}

.pmdd-option::before{
  content:"";
  width:18px;
  height:18px;
  min-width:18px;
  border-radius:50%;
  border:2px solid #6c7cff;
  background:#ffffff;
  margin-right:10px;
  box-sizing:border-box;
  transition:.14s ease;
}

.pmdd-option:hover{
  transform:translateY(-1px);
  border-color:#8ea0ff;
  background:linear-gradient(180deg,#d6e1ff 0%, #bccdff 100%);
  box-shadow:0 8px 18px rgba(76,91,140,.12);
}

.pmdd-option.is-selected{
  border-color:var(--pmdd-primary);
  background:linear-gradient(180deg,#7b8aff 0%, #6274f7 100%);
  color:#ffffff;
  box-shadow:0 0 0 4px rgba(108,124,255,.16), 0 10px 20px rgba(88,105,242,.18);
}

.pmdd-option.is-selected::before{
  border-color:#ffffff;
  background:radial-gradient(circle at center, #ffffff 0 42%, var(--pmdd-primary) 43% 100%);
}

.pmdd-option-score{
  font-size:13px;
  color:#334155;
  font-weight:800;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.8);
  padding:6px 10px;
  border-radius:999px;
  white-space:nowrap;
}

.pmdd-option.is-selected .pmdd-option-score{
  color:#ffffff;
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.28);
}

.pmdd-nav{
  display:flex;
  gap:12px;
  justify-content:space-between;
  margin-top:22px;
}

.pmdd-btn{
  appearance:none;
  border:none;
  border-radius:16px;
  padding:15px 20px;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  transition:transform .14s ease, opacity .14s ease, background .14s ease, box-shadow .14s ease;
  -webkit-tap-highlight-color:transparent;
}

.pmdd-btn:hover{
  transform:translateY(-1px);
}

.pmdd-btn-primary{
  background:linear-gradient(135deg,var(--pmdd-primary) 0%, var(--pmdd-primary-strong) 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(88,105,242,.24);
}

.pmdd-btn-primary:hover{
  background:linear-gradient(135deg,#6475ff 0%, #4f5fe8 100%);
}

.pmdd-btn-secondary{
  background:#eef2f7;
  color:#243046;
  border:1px solid #dde5f1;
}

.pmdd-btn-secondary:hover{
  background:#e6ecf5;
}

.pmdd-btn:disabled{
  opacity:.48;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

.pmdd-result-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  padding:9px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--pmdd-primary) 0%, #7c3aed 100%);
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 8px 20px rgba(88,105,242,.18);
}

.pmdd-score-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 0;
  border-bottom:1px dashed #d6deeb;
  font-size:15px;
}

.pmdd-score-row:last-child{
  border-bottom:none;
}

.pmdd-chart{
  margin:20px auto 0;
  width:100%;
  max-width:420px;
  display:block;
}

@media (max-width:640px){
  .pmdd-screening-wrap{
    margin:16px auto;
    padding:0 10px;
  }

  .pmdd-card{
    padding:18px 16px;
    border-radius:20px;
  }

  .pmdd-title{
    font-size:24px;
    line-height:1.3;
  }

  .pmdd-subtitle{
    font-size:14px;
    line-height:1.75;
  }

  .pmdd-question-text{
    font-size:21px;
    line-height:1.55;
  }

  .pmdd-option{
    padding:15px 14px;
    font-size:15px;
    border-radius:16px;
    align-items:flex-start;
  }

  .pmdd-option-score{
    font-size:12px;
    padding:5px 9px;
  }

  .pmdd-btn{
    width:100%;
    padding:15px 16px;
    font-size:15px;
  }

  .pmdd-nav{
    flex-direction:column;
  }

  .pmdd-progress-meta{
    font-size:12px;
  }
}
