*{box-sizing:border-box}:root{--surface-0: #f4f3ef;--surface-1: #fcfcfb;--surface-2: #f0efec;--border: #e1e0d9;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--grid: #e1e0d9;--axis: #c3c2b7;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--accent: #2a78d6;--good: #1a7f4e;--bad: #c2362f;--radius: 10px;color-scheme:light;color:var(--text-primary);background:var(--surface-0);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}:root[data-theme=dark]{--surface-0: #121211;--surface-1: #1a1a19;--surface-2: #232321;--border: #2c2c2a;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--axis: #383835;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--accent: #3987e5;--good: #3fb57a;--bad: #ef6b62;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-0: #121211;--surface-1: #1a1a19;--surface-2: #232321;--border: #2c2c2a;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--axis: #383835;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--accent: #3987e5;--good: #3fb57a;--bad: #ef6b62;color-scheme:dark}}body{margin:0;min-width:320px;min-height:100vh;background:var(--surface-0)}button,input,select{font:inherit;color:inherit}a{color:var(--accent)}h1,h2,h3{line-height:1.2;margin:0}.app-shell{display:flex;flex-direction:column;min-height:100vh;width:min(1280px,100%);margin:0 auto;padding:0 clamp(12px,3vw,32px)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(16px,3vw,28px) 0 12px}.app-header h1{font-size:clamp(1.5rem,4vw,2.1rem);letter-spacing:-.02em}.tagline{margin:4px 0 0;color:var(--text-secondary)}.tab-bar{position:sticky;top:0;z-index:5;display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;padding:8px 0;background:var(--surface-0);border-bottom:1px solid var(--border)}.tab{flex:none;padding:8px 14px;border-radius:999px;color:var(--text-secondary);text-decoration:none;white-space:nowrap}.tab:hover{background:var(--surface-2);color:var(--text-primary)}.tab-active,.tab-active:hover{background:var(--text-primary);color:var(--surface-1)}.app-main{flex:1;padding:20px 0 32px}.app-footer{border-top:1px solid var(--border);padding:16px 0 24px;color:var(--text-muted);font-size:.875rem}.tab-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(16px,2.5vw,32px);align-items:start}.tab-main{display:grid;gap:16px;min-width:0}.tab-main h2{font-size:clamp(1.3rem,3vw,1.75rem)}.tab-main h3{font-size:1.05rem;margin-top:8px}.lede{margin:0;max-width:68ch;color:var(--text-secondary);font-size:1.05rem}.tab-side{position:sticky;top:72px;display:grid;gap:16px}.controls,.notes,.panel,.verdict{display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.tab-side .controls .controls{padding:0;border:0}.notes p,.verdict ul{margin:0;color:var(--text-secondary)}.notes h3{font-size:1rem}.panel-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,260px);gap:16px;align-items:start}.panel .controls-inline{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:0;border:0}.figure{margin:0;min-width:0}.figure-canvas{position:relative}.figure canvas{display:block;width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-1);touch-action:pan-y}.figure-square canvas{max-width:600px;aspect-ratio:1}.figure figcaption{margin-top:8px;color:var(--text-secondary);font-size:.875rem}.tooltip{position:absolute;pointer-events:none;transform:translate(12px,12px);padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);font-size:.8rem;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 4px 16px #0000001f}.color-legend{display:flex;align-items:flex-start;gap:8px;margin-top:8px;color:var(--text-muted);font-size:.8rem;position:relative}.color-legend-scale{display:flex;flex:1;flex-direction:column;align-items:center;gap:2px;max-width:260px}.color-legend-bar{width:100%;height:10px;border-radius:5px}.color-legend-middle{line-height:1}.series-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 0;padding:0;list-style:none;color:var(--text-secondary);font-size:.85rem}.series-legend li{display:flex;align-items:center;gap:8px}.swatch{width:20px;border-top:2px solid}.swatch-dashed{border-top-style:dashed}.control{display:grid;gap:6px}.control-label{display:flex;justify-content:space-between;gap:8px;color:var(--text-secondary);font-size:.9rem}.control-label output{color:var(--text-primary);font-variant-numeric:tabular-nums}.control input[type=range]{width:100%;accent-color:var(--accent);min-height:28px}.control select{width:100%;min-height:40px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.play-controls{display:flex;flex-wrap:wrap;gap:8px}.button{min-height:40px;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);cursor:pointer}.button:hover{border-color:var(--text-muted)}.button-primary{border-color:var(--accent);background:var(--accent);color:#fff}.button:focus-visible,.tab:focus-visible,.control input:focus-visible,.control select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.stat{display:grid;gap:2px;padding:10px 12px;border-radius:8px;background:var(--surface-2)}.stat-label{color:var(--text-secondary);font-size:.8rem}.stat-value{font-size:1.15rem;font-variant-numeric:tabular-nums}.stat-detail{color:var(--text-muted);font-size:.75rem}.hint{margin:0;color:var(--text-muted);font-size:.85rem}.verdict h3{margin:0}.verdict ul{display:grid;gap:8px;padding-left:20px}.verdict-established{border-left:4px solid var(--series-3)}.verdict-partly{border-left:4px solid var(--series-1)}.verdict-open{border-left:4px solid var(--series-2)}.sources{margin:0;padding-left:18px;color:var(--text-secondary);font-size:.85rem}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.results{width:100%;border-collapse:collapse;font-size:.875rem}.results th,.results td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.results thead th{color:var(--text-secondary);font-weight:600}.results .group th{background:var(--surface-2);font-weight:600}.results .number{font-variant-numeric:tabular-nums;white-space:nowrap}.row-title{display:block;font-weight:600}.row-method{display:block;max-width:34ch;color:var(--text-muted);font-size:.75rem;white-space:normal}.pending td{color:var(--text-muted)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.8rem;font-weight:600;white-space:nowrap}.badge-pass{color:var(--good);border:1px solid var(--good)}.badge-fail{color:var(--bad);border:1px solid var(--bad)}@media(max-width:960px){.tab-layout{grid-template-columns:minmax(0,1fr)}.tab-side{position:static}.panel-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.app-header{align-items:flex-start}.tagline{font-size:.9rem}.controls,.notes,.panel,.verdict{padding:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.theme-toggle{flex:none;white-space:nowrap}
