:root{color-scheme:dark light;--bg: #14151a;--surface: #1c1e25;--surface-hi: #252831;--border: #313642;--text: #e9edf4;--muted: #97a1b2;--accent: #6ea8fe;--accent-ink: #0b1220;--ok: #63d19e;--warn: #fab219;--viz-surface: #1a1a19;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--seq-1: #86b6ef;--seq-2: #5598e7;--seq-3: #3987e5;--seq-4: #2a78d6;--seq-5: #184f95;--seq-450: #3987e5;--diverging-low: #3987e5;--diverging-high: #e66767;--diverging-mid: #383835;--radius: 12px;--step: .34s}@media(prefers-color-scheme:light){:root{--bg: #f6f8fb;--surface: #fff;--surface-hi: #eef3fa;--border: #d6dee9;--text: #16202c;--muted: #56637a;--accent: #2563eb;--accent-ink: #fff;--ok: #0ca30c;--viz-surface: #fcfcfb;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--seq-1: #1c5cab;--seq-2: #2a78d6;--seq-3: #3987e5;--seq-4: #5598e7;--seq-5: #86b6ef;--seq-450: #2a78d6;--diverging-low: #2a78d6;--diverging-high: #e34948;--diverging-mid: #f0efec}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 ui-sans-serif,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#app{min-height:100%;display:flex;flex-direction:column}.progress{position:fixed;inset:0 0 auto;height:3px;z-index:10}.progress>i{display:block;height:100%;width:0;background:var(--accent);transition:width var(--step) cubic-bezier(.22,.61,.36,1)}main{flex:1;display:grid;place-items:center;padding:72px 20px 120px}.stage{width:min(680px,100%);position:relative}.screen{animation:enter var(--step) cubic-bezier(.22,.61,.36,1) both}.screen.leaving{animation:leave .18s ease-in both;position:absolute;inset:0;pointer-events:none}.screen.back{animation:enterBack var(--step) cubic-bezier(.22,.61,.36,1) both}@keyframes enter{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes enterBack{0%{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:none}}@keyframes leave{to{opacity:0;transform:translateY(-18px)}}@media(prefers-reduced-motion:reduce){.screen,.screen.back,.screen.leaving{animation:none}.progress>i{transition:none}}.kicker{color:var(--muted);font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}h1{font-size:clamp(22px,4.2vw,30px);line-height:1.25;margin:0 0 8px;font-weight:650}.hint{color:var(--muted);margin:0 0 24px;font-size:15px}.hint.small{font-size:13px;margin-top:14px}.opts{display:grid;gap:8px;margin:0 0 20px}.opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 15px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;font:inherit;cursor:pointer;transition:border-color .12s,background .12s,transform 80ms}.opt:hover{border-color:var(--accent);background:var(--surface-hi)}.opt:active{transform:scale(.995)}.opt.sel{border-color:var(--accent);background:var(--surface-hi)}.opt .key{flex:none;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--border);border-radius:7px;font-size:12px;color:var(--muted);background:var(--bg)}.opt.sel .key{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.opt .label{flex:1}.opt .tick{color:var(--accent);opacity:0;font-size:15px}.opt.sel .tick{opacity:1}.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.scale button{padding:20px 0;font-size:19px;font-weight:600;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;cursor:pointer}.scale button:hover{border-color:var(--accent);background:var(--surface-hi)}.scale button.sel{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.scale-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:24px;gap:16px}textarea,input[type=text],input[type=password]{width:100%;padding:14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit;resize:vertical;margin-bottom:8px}textarea:focus,input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.inline-text{margin-bottom:16px}.inline-label{display:block;color:var(--muted);font-size:14px;margin-bottom:4px}.count{color:var(--muted);font-size:12px;text-align:right;margin-bottom:20px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{padding:11px 20px;border-radius:10px;border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;background:var(--accent);color:var(--accent-ink)}.btn.ghost{background:transparent;color:var(--muted);border-color:var(--border);font-weight:500}.btn.ghost:hover{color:var(--text);border-color:var(--accent)}.enter-hint{color:var(--muted);font-size:13px}kbd{font:11px/1 ui-monospace,monospace;padding:4px 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;background:var(--surface);color:var(--muted)}.chrome{position:fixed;left:0;right:0;bottom:0;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(transparent,var(--bg) 45%);font-size:13px;color:var(--muted);gap:12px}.chrome[hidden]{display:none}.nav{display:flex;gap:6px}.nav button{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;font-size:13px}.nav button:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.nav button:disabled{opacity:.35;cursor:default}.save-state{display:flex;align-items:center;gap:6px;min-height:14px}.save-state[hidden]{visibility:hidden;display:flex}.save-state i{width:6px;height:6px;border-radius:50%;background:var(--ok);display:inline-block}.save-state.pending i{background:var(--muted)}.save-state.warn{color:var(--warn)}.save-state.warn i{background:var(--warn)}.note{border-left:2px solid var(--accent);padding:10px 14px;background:var(--surface);border-radius:0 8px 8px 0;color:var(--muted);font-size:14px;margin-bottom:22px}.note b{color:var(--text);font-weight:600}.note.warn{border-left-color:var(--warn)}.note.resume{border-left-color:var(--ok)}.big{font-size:44px;line-height:1;margin-bottom:14px;color:var(--ok)}@media(max-width:560px){main{padding:60px 16px 110px}.scale{gap:5px}.scale button{padding:16px 0;font-size:16px}.opt .key,.enter-hint{display:none}}.admin{width:min(1180px,100%);margin:0 auto;padding:28px 20px 80px}.admin-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}.admin-head h1{margin:0}.admin h2{font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:40px 0 14px}.band{border-top:1px solid var(--border);padding-top:4px}.login{width:min(360px,100%);margin:18vh auto 0;padding:0 20px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.tile .value{font-size:28px;font-weight:650;line-height:1.1}.tile .label{color:var(--muted);font-size:13px;margin-top:4px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.card h3{margin:0 0 2px;font-size:16px;font-weight:600;line-height:1.35}.card .denominator{color:var(--muted);font-size:13px;margin-bottom:14px}.card .card-actions{margin-top:12px;display:flex;gap:10px;align-items:center}.linkish{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}.bars{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:minmax(120px,38%) 1fr auto;gap:10px;align-items:center;font-size:14px}.bar-row .name{color:var(--text);overflow-wrap:anywhere}.bar-track{background:var(--surface-hi);border-radius:4px;height:16px;position:relative;overflow:hidden}.bar-fill{height:100%;border-radius:0 4px 4px 0;background:var(--seq-450);min-width:2px}.bar-row .value{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}.grouped{display:grid;gap:4px}.grouped .bar-track{height:12px}.grouped .series-gap{height:2px}.columns{display:flex;align-items:flex-end;gap:2px;height:160px;padding-top:18px}.column{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px;min-width:0}.column .col-value{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.column .col-fill{width:100%;background:var(--seq-450);border-radius:4px 4px 0 0;min-height:2px}.column .col-label{font-size:10px;color:var(--muted);writing-mode:vertical-rl;max-height:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:13px;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600;white-space:nowrap}td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.scroller{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}select{padding:9px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit}.suppressed{color:var(--muted);font-size:13px;padding:10px 0}.texts{display:grid;gap:8px}.texts blockquote{margin:0;padding:10px 12px;background:var(--surface-hi);border-radius:8px;font-size:14px;overflow-wrap:anywhere}.error{color:var(--warn);font-size:14px}
