:root{--bg: #f2f4f7;--surface: #ffffff;--ink: #131a29;--ink-soft: #4c5670;--ink-faint: #626b80;--brand: #0d3d6b;--brand-deep: #0a2c4d;--brand-soft: #e2ecf6;--accent: #d08c1f;--accent-soft: #fdf1dc;--good: #2e7d5b;--mid: #b07d21;--low: #ad4a38;--na: #8d95a6;--line: #dfe4ec;--radius: 14px;--shadow: 0 1px 2px rgba(19, 26, 41, .05), 0 10px 28px rgba(19, 26, 41, .07);--font-body: "Heebo", system-ui, sans-serif;--font-display: "Frank Ruhl Libre", "Heebo", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);line-height:1.25;margin:0 0 .5em}h1{font-size:clamp(1.7rem,4.5vw,2.6rem);font-weight:900}h2{font-size:clamp(1.3rem,3vw,1.7rem);font-weight:700}h3{font-size:1.1rem;font-weight:700}a{color:var(--brand)}.container{max-width:1080px;margin-inline:auto;padding-inline:1rem}.narrow{max-width:720px}.site-header{background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-block-end:1px solid var(--line);position:sticky;top:0;z-index:20}.site-header .container{display:flex;align-items:center;gap:1rem;min-height:60px;flex-wrap:wrap}.logo{font-family:var(--font-display);font-weight:900;font-size:1.15rem;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.45rem}.logo .compass{color:var(--brand)}.nav{display:flex;gap:.25rem;margin-inline-start:auto;flex-wrap:wrap}.nav a{text-decoration:none;color:var(--ink-soft);padding:.7rem;border-radius:999px;font-size:.92rem;font-weight:500;min-height:44px;display:inline-flex;align-items:center}.nav a.active,.nav a:hover{background:var(--brand-soft);color:var(--brand)}.hero-band{background:radial-gradient(120% 140% at 80% 0%,#14548f 0%,transparent 60%),var(--brand-deep);color:#fff;padding-block:clamp(2.4rem,6vw,4.2rem) clamp(2rem,5vw,3.4rem);text-align:center}.hero-band h1{color:#fff;text-wrap:balance}.hero .kicker{display:inline-block;color:var(--accent);font-weight:700;font-size:.9rem;margin-block-end:.9rem;padding:.28rem .85rem;border-radius:999px;background:#ffffff17}.hero p.lead{font-size:clamp(1rem,2.2vw,1.18rem);color:#ffffffd1;max-width:40rem;margin:.6rem auto 1.5rem;text-wrap:pretty}.hero .lead strong{color:#fff}.countdown{color:#ffffffb8;font-size:.9rem;margin-block-start:1.3rem}.countdown .days{color:var(--accent);font-weight:700}.disclaimer{display:inline-block;max-width:36rem;margin:0 auto 1.5rem;padding:.65rem 1.1rem;border-radius:10px;background:#ffffff1a;color:#ffffffe6;font-size:.88rem;line-height:1.55}.disclaimer strong{color:#ffd489}.on-paper .disclaimer,main>section:not(.hero) .disclaimer{background:var(--accent-soft);color:#7a5510}main>section:not(.hero) .disclaimer strong{color:#5e3f08}.btn{display:inline-block;border:none;cursor:pointer;text-decoration:none;font-family:var(--font-body);font-size:1.02rem;font-weight:700;padding:.7rem 1.6rem;border-radius:999px;transition:transform .12s ease,box-shadow .12s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#23180a;box-shadow:0 6px 20px #d08c1f4d}.btn-primary:hover{box-shadow:0 10px 28px #d08c1f6b}.btn-ghost{background:transparent;color:var(--brand);border:1.5px solid var(--brand)}.hero-band .btn-ghost{color:#fff;border-color:#ffffff80}.hero-band .btn-ghost:hover{background:#ffffff1a}.btn-soft{background:var(--brand-soft);color:var(--brand)}.btn-row{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem;box-shadow:var(--shadow)}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.section{padding-block:2rem}.muted{color:var(--ink-soft)}.small{font-size:.88rem}.center{text-align:center}.quiz-progress{display:flex;gap:6px;margin-block:1.2rem}.quiz-progress span{flex:1;height:6px;border-radius:3px;background:var(--line)}.quiz-progress span.done{background:var(--brand)}.quiz-q{font-size:clamp(1.15rem,2.6vw,1.45rem)}.quiz-opts{display:grid;gap:.7rem;margin-block-start:1.2rem}.quiz-opt{text-align:start;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:.85rem 1.1rem;font-size:1rem;font-family:var(--font-body);cursor:pointer;transition:border-color .12s,background .12s}.quiz-opt:hover{border-color:var(--brand);background:var(--brand-soft)}.quiz-opt.selected{border-color:var(--brand);background:var(--brand-soft);font-weight:600}.quiz-nav{display:flex;justify-content:space-between;margin-block-start:1.4rem}.settlement-input{position:relative}.settlement-input input{width:100%;font-family:var(--font-body);font-size:1.05rem;padding:.75rem 1rem;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--surface)}.settlement-input input:focus{outline:2px solid var(--brand);border-color:transparent}.settlement-list{position:absolute;inset-inline:0;top:100%;background:var(--surface);border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);max-height:240px;overflow-y:auto;z-index:10;box-shadow:var(--shadow)}.settlement-list button{display:block;width:100%;text-align:start;padding:.6rem 1rem;border:none;background:none;font-family:var(--font-body);font-size:.98rem;cursor:pointer}.settlement-list button:hover{background:var(--brand-soft)}.score-row{display:flex;align-items:center;gap:.6rem;margin-block:.3rem}.score-label{flex:0 0 auto;width:7.5rem;font-size:.85rem;color:var(--ink-soft)}.score-track{flex:1;height:8px;background:var(--line);border-radius:4px;overflow:hidden}.score-fill{height:100%;border-radius:4px}.score-num{flex:0 0 auto;width:2rem;font-size:.85rem;font-weight:700;text-align:center}.score-na{color:var(--na);font-size:.8rem;font-weight:500}.cand-list{display:grid;gap:.8rem}.cand-card{display:flex;gap:1rem;align-items:flex-start}.cand-card .info{flex:1;min-width:0}.cand-name{font-weight:700;font-size:1.05rem;text-decoration:none;color:var(--ink)}.cand-name:hover{color:var(--brand)}.cand-meta{font-size:.85rem;color:var(--ink-soft)}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.1rem .55rem;border-radius:999px;background:var(--brand-soft);color:var(--brand);margin-inline-start:.4rem;vertical-align:middle}.badge.gold{background:#f6efdd;color:#8a6d1f}.badge.gray{background:#eef0f3;color:var(--ink-soft)}.total-score{flex:0 0 auto;width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:1.05rem;color:#fff}.stats-strip{background:var(--surface);border-block-end:1px solid var(--line)}.stats-strip .container{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.5rem;padding-block:1.1rem}.stat{text-align:center}.stat b{display:block;font-family:var(--font-display);font-size:1.6rem;font-weight:900;color:var(--brand);line-height:1.1}.stat span{font-size:.82rem;color:var(--ink-faint)}.ballot-explain{display:grid;gap:1rem;margin-block:1rem}.ballot-part{display:flex;gap:.9rem;align-items:flex-start}.ballot-part-num{flex:0 0 auto;width:2.6rem;height:2.6rem;border-radius:12px;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:1.15rem;background:var(--brand);color:#fff}.ballot-part p{margin:.2rem 0 0}.warn-line{background:#fdf3f1;color:#8d3c2f;padding:.6rem .9rem;border-radius:10px;margin-block-start:.6rem}.score-pair{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.2rem}.score-pair-label{font-size:.68rem;color:var(--ink-faint);font-weight:600}.total-score.is-secondary{width:2.4rem;height:2.4rem;font-size:.85rem;opacity:.55}.total-score.is-empty{background:var(--surface);color:var(--na);border:1.5px dashed var(--line);font-size:.8rem;font-weight:600}.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-block:1rem}.filters select,.filters input{font-family:var(--font-body);font-size:.95rem;padding:.5rem .8rem;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink)}.filters input{flex:1;min-width:180px}.ballot-slot{display:flex;align-items:center;gap:.8rem;padding:.65rem .9rem;background:var(--surface);border:1px solid var(--line);border-radius:12px}.ballot-slot .idx{flex:0 0 auto;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:700;font-size:.9rem;display:grid;place-items:center}.ballot-slot .swap{margin-inline-start:auto;background:none;border:none;color:var(--ink-faint);cursor:pointer;font-size:1.1rem;padding:.3rem}.ballot-slot .swap:hover{color:var(--brand)}.weights-summary{display:flex;gap:.5rem;flex-wrap:wrap;margin-block:1rem}.weight-chip{font-size:.82rem;padding:.25rem .7rem;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-weight:600}.facts{margin:.4rem 0 0;padding:0;list-style:none}.facts li{padding:.45rem .7rem;margin-block:.35rem;font-size:.92rem;background:var(--bg);border-radius:8px}.facts .src{font-size:.8rem;color:var(--ink-faint)}details.param{border-block-start:1px solid var(--line);padding-block:.6rem}details.param summary{cursor:pointer;list-style:none;border-radius:8px}details.param summary::-webkit-details-marker{display:none}details.param summary:hover{background:var(--brand-soft)}details.param summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.param-toggle{flex:0 0 auto;display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;color:var(--brand);font-weight:600;white-space:nowrap}.param-toggle:after{content:"⌄";font-size:.9rem;line-height:1}details.param[open] .param-toggle:after{content:"⌃"}details.param[open] .param-toggle .label-closed{display:none}.param-toggle .label-open{display:none}details.param[open] .param-toggle .label-open{display:inline}.footer{border-block-start:1px solid var(--line);margin-block-start:3rem;padding-block:1.6rem;color:var(--ink-faint);font-size:.85rem;text-align:center}@media(max-width:640px){.score-label{width:6rem}.site-header .container{min-height:52px}.nav{gap:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%;margin-inline-start:0}.nav::-webkit-scrollbar{display:none}.nav a{padding-inline:.55rem;font-size:.85rem;white-space:nowrap}}.checked-on{display:inline-block;background:var(--brand-soft);color:var(--brand);padding:.35rem .75rem;border-radius:8px}
