:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f6f8;--surface:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--primary:#0ea5e9;--primary-ink:#082f49;--radius:14px;--shadow:0 8px 30px #0f172a14;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0b1220;--surface:#111827;--text:#f8fafc;--muted:#94a3b8;--border:#1f2937;--primary:#38bdf8;--primary-ink:#e0f2fe;--shadow:0 8px 30px #00000059}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}#app{min-height:100dvh}.shell{flex-direction:column;max-width:40rem;min-height:100dvh;margin:0 auto;padding:0 1rem 2rem;display:flex}.topbar{background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex;position:sticky;top:0}.brand{color:var(--text);font-weight:700;text-decoration:none}.legal-nav{gap:.75rem;font-size:.85rem;display:flex}.legal-nav a{color:var(--muted)}.main{flex:1}.footer{color:var(--muted);text-align:center;margin-top:2rem;font-size:.8rem}.eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .5rem;font-size:.75rem}.hero h1,.result-screen h1{margin:0 0 .75rem;font-size:clamp(1.8rem,5vw,2.3rem);line-height:1.15}.lead{color:var(--muted);margin:0 0 1rem}.bullets{color:var(--text);margin:0 0 1.5rem;padding-left:1.2rem}.bullets li{margin-bottom:.35rem}.fine{color:var(--muted);font-size:.85rem}.actions{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.actions.bottom{margin-top:2rem}.btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;min-height:44px;padding:.85rem 1.25rem;font-weight:600}.btn.primary{background:var(--primary);color:var(--primary-ink);border-color:#0000}.btn.ghost{background:0 0}.btn.link{color:var(--muted);background:0 0;border:none;min-height:auto;padding:.25rem 0}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.quiz-top{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.progress-label{color:var(--muted);font-size:.9rem}.progress-bar{background:var(--border);border-radius:999px;height:6px;margin-bottom:1.5rem;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width .2s}.thesis-text{margin:0 0 .5rem;font-size:1.25rem;line-height:1.35}.axis-tag{color:var(--muted);margin:0 0 1.25rem;font-size:.85rem}.scale{flex-direction:column;gap:.6rem;display:flex}.scale-btn{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);cursor:pointer;width:100%;min-height:52px;box-shadow:var(--shadow);align-items:center;gap:.85rem;padding:.9rem 1rem;display:flex}.scale-btn.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 35%, transparent)}.scale-value{width:2.2rem;color:var(--primary);font-weight:700}.scale-label{flex:1}.axes{gap:1rem;margin:1.25rem 0;display:grid}.axis-card,.party-card,.narrative,.share-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem}.axis-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.axis-head h3,.narrative h2,.parties h2,.share-box h2{margin:0 0 .5rem;font-size:1.05rem}.axis-pct{color:var(--primary);font-weight:700}.axis-hint,.disclaimer,.party-desc,.overlap-line{color:var(--muted);margin:.5rem 0 0;font-size:.85rem}.meter{background:var(--border);border-radius:999px;height:10px;margin-top:.5rem;overflow:hidden}.meter-fill{background:var(--primary);border-radius:999px;height:100%}.meter-fill.party{background:var(--party,var(--primary))}.narrative ul{margin:0;padding-left:1.1rem}.narrative li{margin-bottom:.4rem}.parties{margin-top:1.5rem}.parties .disclaimer{color:var(--text);background:#f59e0b2e;border:1px solid #f59e0b73;border-radius:10px;margin:.75rem 0 1rem;padding:.75rem .9rem}.party-card{border-left:4px solid var(--party,var(--primary));margin-bottom:.85rem}.party-card header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.party-card h3{margin:0}.badge{text-transform:uppercase;letter-spacing:.04em;color:var(--text);background:#f59e0b40;border-radius:999px;padding:.2rem .45rem;font-size:.7rem}.party-name{margin:.25rem 0;font-weight:600}.share-box{margin-top:1.5rem}.share-preview{border:1px solid var(--border);border-radius:10px;margin:.75rem 0;overflow:auto}.share-canvas{width:100%;height:auto;display:block}.share-text{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:10px;margin-top:.75rem;padding:.75rem}.share-status{min-height:1.25rem;color:var(--muted);font-size:.85rem}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.nolan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:1.25rem 0;padding:1rem 1.1rem}.nolan-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.nolan-head h2{margin:0;font-size:1.05rem}.nolan-quadrant{color:var(--muted);margin:0;font-size:.95rem}.nolan-quadrant strong{color:var(--primary);font-size:1.05rem}.nolan-chart-wrap{width:100%;max-width:28rem;margin:0 auto}.nolan-chart{width:100%;height:auto;color:var(--text);display:block}.nolan-chart .nolan-q-label{fill:var(--muted);font-family:system-ui,sans-serif;font-size:11px}.nolan-chart .nolan-axis-label{fill:var(--text);font-family:system-ui,sans-serif;font-size:13px;font-weight:600}.nolan-chart .nolan-dot{fill:var(--primary);stroke:var(--surface);stroke-width:2px}.nolan-hint{color:var(--muted);text-align:center;margin:.75rem 0 0;font-size:.8rem}@media (width<=420px){.nolan-chart .nolan-q-label{font-size:9px}}
