#main [hidden]{display:none!important}
.sc-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px 40px;align-items:start}
.sc-main{max-width:860px}
.sc-side{position:sticky;top:96px}
.sc{display:grid;gap:14px}
.q{margin:0;padding:20px 22px 22px;border-left:3px solid var(--line-strong)}
.q legend{float:left;width:100%;padding:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start}
.q legend~*{clear:both}
.q-n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-strong);font-family:var(--display);font-weight:700;font-size:16px;color:var(--ink)}
.q-t{font-size:18px;line-height:1.45;color:var(--ink);padding-top:3px}
.q-area{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.q-help{margin:12px 0 0 48px;font-size:15px;color:var(--ink-2);border-left:2px solid var(--amber);padding-left:10px}
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:480px;padding:16px 0 0 48px}
.q.answered{border-left-color:var(--leaf)}
.q.unanswered{border-color:var(--c1);border-left-color:var(--c1)}
.q-need{margin:12px 0 0 48px;font-size:15px;font-weight:600;color:var(--pin-text)}
.opt{position:relative;display:block;--oc:var(--leaf)}
.opt.o-unsure{--oc:var(--amber)}
.opt.o-no{--oc:var(--c1)}
.opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.opt span{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-2);color:var(--ink);font-weight:600;font-size:16px;line-height:1.2;text-align:center;white-space:nowrap}
.opt span::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;border:2px solid var(--muted);box-sizing:border-box;background:transparent}
.opt input:checked+span{border-color:var(--oc);background:color-mix(in srgb,var(--oc) 16%,var(--surface-2));box-shadow:inset 0 0 0 1px var(--oc)}
.opt input:checked+span::before{border-color:var(--oc);background:radial-gradient(circle,var(--oc) 0 3.5px,transparent 4px)}
.opt input:focus-visible+span{outline:2px solid var(--amber);outline-offset:3px}
@media (hover:hover) and (pointer:fine){
  .opt:hover span{border-color:color-mix(in srgb,var(--oc) 70%,var(--line-strong))}
}
@media (prefers-reduced-motion:no-preference){
  .opt span{transition:var(--pop-tr),background-color .15s}
  .opt span::before{transition:background .15s,border-color .15s}
  @media (hover:hover) and (pointer:fine){
    .opt:hover span{transform:translateY(var(--lift-s));box-shadow:0 8px 18px -10px color-mix(in srgb,var(--oc) 70%,transparent);transition:var(--pop-tr-in),background-color .15s}
    .opt:hover input:checked+span{box-shadow:inset 0 0 0 1px var(--oc),0 8px 18px -10px color-mix(in srgb,var(--oc) 70%,transparent)}
  }
  .opt input:focus-visible+span{transform:translateY(var(--lift-s));transition:var(--pop-tr-in)}
  .opt:active span{transform:var(--press-s);transition:var(--pop-tr-press)}
  .q{transition:var(--calm-tr),border-left-color .2s}
}
.sc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px}
.sc-msg{margin:4px 0 0;min-height:1.6em;font-size:16px;color:var(--pin-text)}
.sc-msg:empty{display:none}
.side-card .kicker{margin-bottom:12px}
.side-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.side-list li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;font-size:15px;line-height:1.45;color:var(--ink-2)}
.side-list .ic{width:20px;height:20px;color:var(--leaf);margin-top:1px}
.side-progress{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.sp-text{margin:0 0 10px;font-size:15px;color:var(--ink-2)}
.sp-text b{font-family:var(--display);font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}
.sp-bar,.r-bar{display:grid;gap:5px}
.sp-bar{grid-template-columns:repeat(5,1fr)}
.sp-bar i,.r-bar i{display:block;height:6px;border-radius:3px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.sp-bar i.on{background:var(--leaf);box-shadow:none}
.sc-result{border-top:1px solid var(--line)}
.result-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 32px;align-items:start}
.result-card{border-top:3px solid var(--tile);padding:clamp(22px,3vw,32px);background:linear-gradient(160deg,color-mix(in srgb,var(--tile) 10%,var(--surface)),var(--surface) 65%)}
.result-card .kicker{margin-bottom:8px}
.result-card h2{color:var(--tile);margin-bottom:10px}
.result-card h2:focus{outline:none}
.result-card h2:focus-visible{outline:2px solid var(--amber);outline-offset:4px}
.r-points{margin:0 0 10px;color:var(--ink-2)}
.r-points b{font-family:var(--display);font-weight:800;font-size:28px;color:var(--ink);font-variant-numeric:tabular-nums}
.r-bar{grid-template-columns:repeat(10,1fr);margin:0 0 18px}
.r-bar i.on{background:var(--tile);box-shadow:none}
.r-line{font-size:18px;color:var(--ink)}
.r-disc{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:15px;line-height:1.45;color:var(--muted)}
.r-disc .ic{width:18px;height:18px;margin-top:2px;color:var(--muted)}
.tips-h{margin:0 0 14px}
.tips{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tip{border-left:3px solid var(--tile)}
.tip-k{margin:0 0 6px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--tile)}
.tip h4{margin:0 0 6px;font-family:var(--display);font-weight:700;font-size:19px;line-height:1.25;color:var(--ink)}
.tip p{color:var(--ink-2)}
.tip-note{font-size:15px;border-left:2px solid var(--amber);padding-left:10px}
.bands{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.band{border-top:3px solid var(--tile)}
.band h3{color:var(--tile)}
.b-range{margin:0 0 6px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.b-line{color:var(--ink-2)}
.sc-guide .r-disc{max-width:var(--measure);border-top:0;padding-top:0;margin:14px 0 32px}
.sc-guide .tips{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:28px}
.sc-guide .tips:last-child{margin-bottom:0}
.cta-link{font-size:15px;color:var(--sea)}
.cta .said{color:var(--ink);font-weight:600;margin-bottom:8px}
@media (max-width:1000px){
  .sc-layout{grid-template-columns:minmax(0,1fr)}
  .sc-side{display:none}
  .result-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .bands,.sc-guide .tips{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .q{padding:18px 16px 18px}
  .q-t{font-size:17px}
  .opts,.q-help,.q-need{padding-left:0;margin-left:0}
  .opts{gap:8px;max-width:none}
  .opt span{padding:10px 8px;gap:7px;font-size:15px}
}
@media (forced-colors:active){
  .opt span{border:1px solid ButtonText}
  .opt input:checked+span{outline:3px solid Highlight;outline-offset:1px}
  .opt input:checked+span::before{forced-color-adjust:none;background:Highlight;border-color:Highlight}
  .sp-bar i,.r-bar i{border:1px solid CanvasText}
  .sp-bar i.on,.r-bar i.on{forced-color-adjust:none;background:Highlight}
}
@media print{
  .sc-side,.sc-actions,.sc-msg{display:none}
  #main .sc-guide[hidden]{display:block!important}
}
