@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-wght-normal-cHuGMAiY.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-wght-normal-DwHjdM4S.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-wght-normal-ece1310W.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-wght-normal-D-yuW59g.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-wght-normal-CxNHBx-q.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-wght-normal-D9elroTD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #faf9f6;--panel: #fff;--panel-2: #f6f5f1;--panel-3: #efeee8;--ink: #1a1a19;--ink-2: #57544e;--muted: #8a857c;--faint: #b3ada2;--line: #e7e4dd;--line-2: #d8d4ca;--baseline-ink: #6a4a92;--baseline-soft: #f3eef8;--baseline-line: #ded1ea;--accent: #c15f3c;--accent-hover: #a94f2f;--accent-soft: #f7ece7;--accent-line: #e8cec2;--ok: #3f7d52;--ok-bg: #eef5ef;--ok-line: #cfe3d4;--warn: #9a6b1e;--warn-bg: #faf3e6;--warn-line: #ecdcbc;--err: #b04434;--err-bg: #fbeeeb;--err-line: #efd0c9;--radius: 10px;--radius-sm: 7px;--shadow-pop: 0 1px 2px rgba(26, 26, 25, .04), 0 8px 24px rgba(26, 26, 25, .1);--topbar-h: 56px;--font: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Source Serif 4 Variable", Georgia, "Times New Roman", serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.55;font-feature-settings:"cv05" 1,"cv08" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-serif);font-weight:600;letter-spacing:-.01em;margin:0 0 .4em;line-height:1.25}h1{font-size:24px}h2{font-size:18px}h3{font-size:15.5px}a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line-2)}a:hover{text-decoration-color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:5px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--faint);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}.app{max-width:1800px;margin:0 auto;padding:0 20px 24px}.app.app-narrow{max-width:1180px}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;height:var(--topbar-h);background:#faf9f6d1;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);margin:0 -20px 20px;padding:0 20px}.topbar .grow{flex:1}button.topbar-btn{padding:6px 13px;border-radius:999px;background:var(--panel);border:1px solid var(--line-2);color:var(--ink);font-weight:500;flex:0 0 auto}button.topbar-btn:hover:not(:disabled){background:var(--panel-2);border-color:var(--faint)}button.topbar-btn.freeze{border-style:dashed}.tabs{display:flex;gap:2px}.tab{padding:6px 13px;border-radius:999px;border:1px solid transparent;background:none;cursor:pointer;font:inherit;color:var(--ink-2)}.tab.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line);font-weight:500}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px}.panel>h2{display:flex;align-items:center;gap:9px}.panel-sub{color:var(--ink-2);font-size:13px;margin:-2px 0 16px;max-width:78ch}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;align-items:start}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px 16px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;margin:0 0 14px}.fieldset>legend{padding:0 7px;font-family:var(--font);font-weight:600;font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.fieldset.collapsible>legend{cursor:pointer;-webkit-user-select:none;user-select:none}.fieldset.collapsible>legend:hover{color:var(--ink)}.fieldset legend .caret{font-size:10px;color:var(--faint)}.fieldset legend .count,h2 .count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:17px;padding:0 5px;border-radius:999px;background:var(--panel-3);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:0;text-transform:none}label.field{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ink-2)}label.field .lab{display:flex;justify-content:space-between;gap:6px;align-items:baseline}label.field .lab-text{overflow:hidden;text-overflow:ellipsis}label.field .unit{color:var(--faint);font-size:11.5px;white-space:nowrap}input,select,textarea{font:inherit;font-size:13.5px;padding:7px 10px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);width:100%;font-variant-numeric:tabular-nums;transition:border-color .12s ease,box-shadow .12s ease}input:hover:not(:focus):not([readonly]),select:hover:not(:focus){border-color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1a1a1912}input[readonly]{background:var(--panel-2);color:var(--muted);border-color:var(--line)}textarea{font-family:var(--font-mono);font-size:12.5px;line-height:1.5}input[type=search]{border-radius:999px}button{font:inherit;font-size:13.5px;font-weight:500;padding:7px 14px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--panel);color:var(--ink);cursor:pointer;transition:background .12s ease,border-color .12s ease}button:hover:not(:disabled){background:var(--panel-2);border-color:var(--faint)}button:disabled{opacity:.42;cursor:not-allowed}button.primary{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:500}button.primary:hover:not(:disabled){background:#000;border-color:#000}button.danger{color:var(--err)}button.danger:hover:not(:disabled){background:var(--err-bg);border-color:var(--err-line)}button.sm{padding:4px 10px;font-size:12.5px}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:500;border:1px solid transparent}.badge.ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.badge.locked{background:var(--panel-2);color:var(--muted);border-color:var(--line)}.badge.base{background:var(--baseline-soft);color:var(--baseline-ink);border-color:var(--baseline-line)}.summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.stat{padding:12px 14px;background:var(--panel)}.stat .k{font-size:11.5px;color:var(--muted);line-height:1.35}.stat .v{font-family:var(--font-serif);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:2px}.stat .u{font-family:var(--font);font-size:12px;color:var(--muted);font-weight:400;margin-left:4px;letter-spacing:0}.stat .delta{display:inline-flex;align-items:center;gap:3px;margin-top:4px;padding:1px 7px 1px 5px;border-radius:999px;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.stat .delta.good{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.stat .delta.bad{background:var(--err-bg);color:var(--err);border-color:var(--err-line)}.stat .delta .arrow{font-size:9px;line-height:1}.msg{border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:10px;border:1px solid;font-size:13px;line-height:1.55}.msg .t{font-weight:600;margin-bottom:3px}.msg.error{background:var(--err-bg);border-color:var(--err-line);color:#7d2e22}.msg.warn{background:var(--warn-bg);border-color:var(--warn-line);color:#6f4c14}.msg.info{background:var(--panel-2);border-color:var(--line);color:var(--ink-2)}.msg.ok{background:var(--ok-bg);border-color:var(--ok-line);color:#2c5b3b}.finding-cat{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;opacity:.7;margin-bottom:4px;font-weight:600}.finding-fix{margin-top:8px;padding-top:8px;border-top:1px solid currentColor;border-color:color-mix(in srgb,currentColor 18%,transparent)}.findings-panel h2{margin-bottom:0}.findings-panel .findings-list{margin-top:14px;display:flex;flex-direction:column;gap:10px}.findings-panel .findings-list .msg{margin-bottom:0}.tallies{display:inline-flex;gap:4px}.tally{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid}.tally.err{background:var(--err-bg);color:var(--err);border-color:var(--err-line)}.tally.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line)}.tally.info{background:var(--panel-2);color:var(--ink-2);border-color:var(--line)}.tally.ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.tally-legend{font-size:12.5px;font-weight:400;font-family:var(--font)}table.data{border-collapse:collapse;width:100%;font-size:12.5px;font-variant-numeric:tabular-nums}table.data th,table.data td{border-bottom:1px solid var(--line);padding:7px 10px;text-align:right;white-space:nowrap}table.data th{background:var(--panel-2);position:sticky;top:0;font-weight:600;text-align:right;color:var(--ink-2);font-size:11.5px}table.data td:first-child,table.data th:first-child{text-align:left}table.data tbody tr:hover td{background:var(--panel-2)}.table-wrap{max-height:540px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:7px;background:var(--panel)}.list li:hover{border-color:var(--line-2)}.list li.sel{border-color:var(--accent-line);background:var(--accent-soft)}.list li .name{flex:1;font-weight:600}.list li .meta{font-size:12px;color:var(--muted)}.map-grid{overflow:auto;max-height:360px;border:1px solid var(--line);border-radius:var(--radius-sm)}.map-grid table{border-collapse:collapse;font-size:11.5px}.map-grid th,.map-grid td{border:1px solid var(--line);padding:0}.map-grid th{background:var(--panel-2);padding:4px 7px;font-weight:600;white-space:nowrap;color:var(--ink-2)}.map-grid input{border:0;border-radius:0;padding:4px 6px;width:64px;text-align:right;font-size:11.5px;background:transparent}.map-grid input:focus{box-shadow:inset 0 0 0 2px var(--ink)}.muted{color:var(--muted)}.mono{font-family:var(--font-mono)}.workspace{display:grid;grid-template-columns:336px minmax(0,1fr);gap:20px;align-items:start}.workspace.rail-closed,.workspace.phone{grid-template-columns:minmax(0,1fr)}.rail{position:sticky;top:calc(var(--topbar-h) + 12px);max-height:calc(100vh - var(--topbar-h) - 28px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.rail-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);flex:0 0 auto}.rail-head strong{font-family:var(--font-serif);font-size:15px;font-weight:600}.rail-head .grow{flex:1}.rail-body{overflow-y:auto;padding:14px;flex:1 1 auto;overscroll-behavior:contain}.results{min-width:0;display:flex;flex-direction:column;gap:16px}.config-panel .fieldset{padding:12px 12px 14px;margin-bottom:12px}.config-panel .grid{grid-template-columns:1fr;gap:14px}.config-panel legend{display:flex;align-items:center;gap:7px}.panel-tools{display:flex;gap:6px;margin-bottom:10px}.filter{flex:1}.filter-note{font-size:12px;margin:-4px 0 10px}button.pin{border:0;background:none;padding:0 0 0 5px;font-size:13px;line-height:1;color:var(--faint)}button.pin:hover{color:var(--ink-2);background:none}button.pin.on{color:var(--accent)}label.field.has-slider{gap:3px}.slider-row{display:flex;align-items:center;gap:6px}.slider-row .slider{flex:1}input.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:18px;background:transparent;padding:0;border:0;cursor:pointer}input.slider:focus{outline:none}input.slider::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:var(--line-2)}input.slider::-moz-range-track{height:3px;border-radius:2px;background:var(--line-2)}input.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:var(--accent);border:2.5px solid var(--panel);margin-top:-6px;box-shadow:0 0 0 1px var(--accent-line),0 1px 3px #1a1a192e;transition:transform .12s ease,background .12s ease}input.slider::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--accent);border:2.5px solid var(--panel);box-shadow:0 0 0 1px var(--accent-line),0 1px 3px #1a1a192e}input.slider:hover::-webkit-slider-thumb{background:var(--accent-hover);transform:scale(1.12)}input.slider:hover::-moz-range-thumb{background:var(--accent-hover)}input.slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--accent),0 0 0 4px var(--accent-soft)}button.nudge{padding:0;width:21px;height:21px;line-height:1;border-radius:6px;font-size:13px;color:var(--muted);flex:0 0 auto}button.nudge:hover:not(:disabled){color:var(--ink)}.pinned-bar{position:sticky;top:var(--topbar-h);z-index:30;display:flex;gap:14px;flex-wrap:wrap;padding:12px 16px;background:#ffffffe0;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border:1px solid var(--line);border-radius:var(--radius)}.pinned-item{flex:0 1 178px;min-width:152px}label.field.compact{gap:2px}label.field.compact .lab{font-size:11.5px}label.field.compact input[type=number]{padding:4px 8px;font-size:12.5px}label.field.compact .slider{height:16px}h2.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:9px}h2.clickable .caret{font-size:11px;color:var(--faint);font-family:var(--font)}.collapsible-panel.closed h2{margin-bottom:0}.chart-list{display:flex;flex-direction:column;gap:12px}.chart-list.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.chart-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.chart-card.closed{background:var(--panel-2)}.chart-head{display:flex;align-items:center;gap:11px;padding:12px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.chart-head:hover{background:var(--panel-2)}.chart-head h3{margin:0;font-size:15px}.chart-head .grow{flex:1}.chart-caret{color:var(--faint);font-size:11px;width:12px}.chart-num{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;border-radius:6px;background:var(--panel-2);color:var(--muted);font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}.chart-move{display:flex;gap:4px}.chart-move button{padding:3px 9px;line-height:1.2}.chart-body{padding:0 14px 12px}.chart-body .cap{font-size:12.5px;color:var(--ink-2);margin:0 0 12px;max-width:88ch;line-height:1.5}.chart-detached-note{padding:0 14px 14px;font-size:12.5px;color:var(--muted)}.chart-stats{margin:0 0 14px;overflow-x:auto}.chart-stats table{border-collapse:collapse}.chart-stats th,.chart-stats td{text-align:right;white-space:nowrap;padding:5px 14px 5px 0}.chart-stats thead th{font-family:var(--font);font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding-bottom:3px;border-bottom:1px solid var(--line)}.chart-stats tbody td{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.chart-stats tbody td b{font-family:var(--font-serif);font-size:16.5px;color:var(--ink);font-weight:600}.chart-stats tbody td .na{color:var(--faint);font-size:11.5px}.chart-stats th.who{text-align:left;padding-right:18px;font-family:var(--font);font-size:11.5px;font-weight:500;color:var(--muted);letter-spacing:0;text-transform:none;border-bottom:0}.chart-stats thead th.who{border-bottom:1px solid var(--line)}.chart-stats tbody tr.base th.who{color:var(--baseline-ink)}.chart-stats tbody tr.base td b{color:var(--baseline-ink);font-weight:500}.chart-legend{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:3px 11px;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink-2)}.chip:hover{border-color:var(--line-2);background:var(--panel-2)}.chip .sw-svg{display:block;flex:0 0 auto}.chip.off{opacity:.38;text-decoration:line-through}.chart-canvas{width:100%}.chart-empty{border:1px solid var(--warn-line);background:var(--warn-bg);color:#6f4c14;border-radius:var(--radius-sm);padding:13px 15px;font-size:13px;margin-bottom:12px}.axis-controls{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 12px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2)}.axis-max{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}.axis-max input{width:84px;padding:4px 8px;font-size:12px}.baseline-box{display:flex;align-items:center;gap:6px;flex:0 0 auto}.baseline-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:999px;background:var(--baseline-soft);color:var(--baseline-ink);border:1px solid var(--baseline-line);font-size:11.5px;font-weight:600}button.topbar-btn.freeze{border-style:solid}button.topbar-btn.freeze:hover:not(:disabled){background:var(--baseline-soft);border-color:var(--baseline-line);color:var(--baseline-ink)}.busy-hint{position:fixed;right:18px;bottom:18px;background:var(--ink);color:var(--paper);padding:7px 14px;border-radius:999px;font-size:12.5px;z-index:50;box-shadow:var(--shadow-pop)}select.lang-picker{width:auto;padding:5px 9px;font-size:12.5px;border-radius:999px;flex:0 0 auto;background:var(--panel)}.float-win{position:fixed;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;overflow:hidden;resize:both;min-width:340px;min-height:220px}.float-head{display:flex;align-items:center;gap:9px;padding:9px 12px;cursor:grab;background:var(--panel-2);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none;touch-action:none;flex:0 0 auto}.float-head:active{cursor:grabbing}.float-head:hover{background:var(--panel-3)}.float-head h3{margin:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.float-head .grow{flex:1}.float-grip{color:var(--accent);font-size:13px;letter-spacing:-1px}.float-body{flex:1 1 auto;min-height:0;padding:12px 14px 14px;display:flex;flex-direction:column;overflow:auto}.float-body .chart-legend,.float-body .chart-stats,.float-body .axis-controls{flex:0 0 auto}.float-body .chart-canvas{flex:1 1 auto;min-height:150px;display:flex}.float-body .chart-canvas>*{flex:1 1 auto;min-width:0}.gate{display:flex;justify-content:center;padding:56px 0}.gate-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;max-width:400px;width:100%;display:flex;flex-direction:column;gap:14px}.gate-card h2{margin:0}.gate-card p{margin:0;font-size:13px;line-height:1.55}.stack{display:flex;flex-direction:column;gap:24px}.fieldset.derived{margin-top:6px;background:var(--panel-2)}table.derived-table{width:auto;min-width:min(580px,100%)}table.derived-table td{border:0;border-bottom:1px solid var(--line);padding:7px 12px}table.derived-table tr:last-child td{border-bottom:0}table.derived-table .dk{text-align:left;color:var(--ink-2);font-size:12.5px}table.derived-table .dv{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}table.derived-table .du{text-align:left;color:var(--muted);font-size:12px;white-space:nowrap}table.derived-table .q{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:6px;border-radius:50%;background:var(--panel-3);color:var(--muted);font-size:9.5px;cursor:help;vertical-align:middle}.sheet-fab{position:fixed;left:50%;transform:translate(-50%);bottom:16px;z-index:60;background:var(--ink);color:var(--paper);border-color:var(--ink);border-radius:999px;padding:12px 24px;font-size:15px;font-weight:500;box-shadow:var(--shadow-pop)}.sheet-fab:hover:not(:disabled){background:#000;border-color:#000}.sheet-fab.hidden{display:none}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:70;height:min(64vh,580px);background:var(--panel);border-top:1px solid var(--line-2);border-radius:18px 18px 0 0;box-shadow:0 -10px 34px #1a1a1924;display:flex;flex-direction:column;transform:translateY(102%);transition:transform .24s cubic-bezier(.32,.72,0,1)}.sheet.open{transform:translateY(0)}.sheet-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);flex:0 0 auto;position:relative}.sheet-head strong{font-family:var(--font-serif);font-size:15px}.sheet-head .grow{flex:1}.sheet-grip{position:absolute;left:50%;top:5px;transform:translate(-50%);width:36px;height:4px;border-radius:2px;background:var(--line-2)}.sheet-body{flex:1 1 auto;overflow-y:auto;padding:14px 16px 24px;overscroll-behavior:contain}@media (max-width: 1100px){.chart-list.two-col{grid-template-columns:minmax(0,1fr)}}@media (max-width: 900px){:root{--topbar-h: 50px}.app{padding:0 12px 12px}.topbar{margin:0 -12px 14px;padding:0 12px}.results{gap:12px;padding-bottom:76px}.panel{padding:14px}h2{font-size:17px}.pinned-bar{padding:10px 12px;gap:10px}.pinned-item{flex:1 1 46%;min-width:0}.summary{grid-template-columns:repeat(auto-fill,minmax(136px,1fr))}.stat{padding:10px 12px}.stat .v{font-size:19px}.chart-head{padding:10px}.chart-head h3{font-size:14px}.chart-body{padding:0 8px 10px}.axis-controls{gap:7px;padding:7px 8px}.axis-max input{width:68px}.cols{grid-template-columns:1fr}.float-win{display:none}.busy-hint{bottom:76px}}@media (max-width: 520px){.pinned-item{flex:1 1 100%}table.data{font-size:11.5px}}button.help-btn{flex:0 0 auto;width:18px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line-2);background:var(--panel);color:var(--muted);font-size:11px;font-weight:600;line-height:1;cursor:help}button.help-btn:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--paper)}.help-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1a1a1947;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px;animation:help-in .12s ease}@keyframes help-in{0%{opacity:0}to{opacity:1}}.help-modal{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:var(--shadow-pop);max-width:620px;width:100%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.help-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line);flex:0 0 auto}.help-head h3{margin:0;flex:1;font-size:17px}.help-body{padding:16px 18px 20px;overflow-y:auto;font-size:13.5px;line-height:1.6;color:var(--ink-2)}.help-body p{margin:0 0 10px}.help-body p:last-child{margin-bottom:0}h2>button.help-btn,h3>button.help-btn,legend>button.help-btn{margin-left:2px}.panel-note{margin:-4px 0 12px}.chart-tip{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);padding:9px 11px;font-size:12px;max-width:340px}.chart-tip-head{color:var(--muted);padding-bottom:6px;margin-bottom:5px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.chart-tip-head b{color:var(--ink);font-weight:600}.chart-tip table{border-collapse:collapse;width:100%}.chart-tip td{padding:2px 0;vertical-align:middle}.chart-tip td.sw{width:24px;padding-right:8px}.chart-tip td.nm{color:var(--ink-2);padding-right:14px}.chart-tip td.vl{text-align:right;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.chart-tip td.vl b{color:var(--ink);font-weight:600;font-size:12.5px}.chart-tip tr.base td.vl b{font-weight:500}
