:root{
  --bg:#f5f6fa; --card:#fff; --ink:#20263a; --muted:#667085;
  --accent:#3554d1; --accent-soft:#eceffb; --line:#dde1ec;
  --warn-bg:#fff0e6; --warn-ink:#d9480f; --ok-bg:#e6f4ea; --ok-ink:#2f9e44;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
.wrap{max-width:640px;margin:0 auto;padding:40px 16px 72px}
h1{font-size:1.4rem;margin:0 0 4px}
.sub{margin:0 0 6px;color:var(--muted);font-size:.95rem}
.hint{margin:0 0 20px;color:var(--muted);font-size:.85rem}
.progress-row{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted);margin-bottom:8px}
.bar{height:8px;background:var(--line);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .25s ease}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 24px;margin-top:20px;box-shadow:0 2px 12px rgba(32,38,58,.05)}
.step:focus{outline:none}
.badge{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);border-radius:99px;padding:4px 12px;margin-bottom:14px}
fieldset{border:0;margin:0;padding:0}
legend{font-size:1.25rem;font-weight:600;line-height:1.45;margin-bottom:20px}
.opt{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1.5px solid var(--line);border-radius:12px;margin-bottom:10px;cursor:pointer;user-select:none;background:#fff}
.opt:hover{border-color:var(--accent)}
.opt:has(:checked){border-color:var(--accent);background:var(--accent-soft)}
.opt input{width:18px;height:18px;margin:0;accent-color:var(--accent);cursor:pointer}
.nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px}
button{font:inherit;border:0;border-radius:10px;padding:11px 22px;cursor:pointer}
.primary{background:var(--accent);color:#fff}
.primary:disabled{background:#c3c9de;cursor:not-allowed}
.ghost{background:none;color:var(--muted)}
.ghost:hover{color:var(--ink)}
h2{font-size:1.15rem;margin:0 0 8px}
.part{margin-bottom:28px}
.verdict{padding:14px 16px;border-radius:12px;margin:12px 0;font-weight:600}
.verdict.pos{background:var(--warn-bg);color:var(--warn-ink)}
.verdict.neg{background:var(--ok-bg);color:var(--ok-ink)}
.verdict.info{background:var(--accent-soft);color:var(--accent)}
.freq-list{margin:12px 0 0;padding:0;list-style:none}
.freq-list li{padding:10px 0;border-top:1px solid var(--line)}
.freq-list .q{font-weight:600}
.freq-list .a{color:var(--muted);font-size:.9rem}
.note{margin-top:8px;font-size:.85rem;color:var(--muted)}
.disclaimer{margin-top:24px;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.pdf-link a{color:var(--accent);text-decoration:none}
.pdf-link a:hover{text-decoration:underline}
#results:focus{outline:none}
[hidden]{display:none!important}

@media print{
  @page{margin:0.35in}
  body{background:#fff;color:#000;font-size:9pt;line-height:1.25}
  .wrap{max-width:none;padding:0}
  header,.progress-row,.bar,#quiz,.nav,.note,.disclaimer{display:none!important}
  #results{display:block!important;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}
  .part{margin:0 0 10pt}
  h2{font-size:11pt;margin:0 0 3pt}
  .verdict{margin:3pt 0;padding:4pt 6pt;border-radius:0;font-weight:400}
  .freq-list{margin:3pt 0 0}
  .freq-list li{padding:2pt 0;border-top:1px solid #ccc;break-inside:avoid}
  .freq-list .a{font-size:8pt;color:#333}
  .part:last-of-type{margin-bottom:0}
}
