:root{--accent-h: 183;--bg-0: #f7f8fa;--bg-1: #ffffff;--bg-2: #eef1f3;--bg-3: #e7ebee;--bg-inset: #fbfcfd;--bg-rail: #ffffff;--bg-topbar: #ffffff;--hover: rgba(12,29,43,.045);--hover-strong: rgba(12,29,43,.08);--line-1: #e4e8eb;--line-2: #cbd4da;--line-strong: #aeb9c2;--fg-1: #0c1d2b;--fg-2: #3d4f5c;--fg-3: #5a6b77;--fg-4: #8b99a4;--fg-5: #98a5af;--accent: oklch(.515 .078 var(--accent-h));--accent-hover: oklch(.445 .075 var(--accent-h));--accent-soft: oklch(.515 .078 var(--accent-h) / .1);--accent-line: oklch(.515 .078 var(--accent-h) / .38);--accent-fg: #ffffff;--btn-bg: #0c1d2b;--btn-bg-hover: #1b3140;--btn-fg: #ffffff;--pos: #177a4c;--pos-soft: rgba(23,122,76,.11);--neg: #b42318;--neg-soft: #fdf3f2;--warn: #a16207;--warn-soft: #fbf4e6;--warn-line: rgba(161,98,7,.38);--info: #175cd3;--info-soft: #edf3fc;--wa-out: #d6f5cf;--chart-1: #0f9d90;--chart-2: #5b6bd6;--sans: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--display: "Instrument Sans", var(--sans);--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-1: 5px;--r-2: 8px;--r-3: 10px;--r-4: 12px;--shadow-1: 0 1px 2px 0 rgba(16,24,40,.03);--shadow-btn: 0 1px 2px rgba(16,24,40,.1);--shadow-segment: 0 1px 2px rgba(16,24,40,.08);--shadow-knob: 0 1px 2px rgba(16,24,40,.15);--shadow-2: 0 4px 12px -4px rgba(16,24,40,.1);--shadow-card: 0 1px 2px 0 rgba(16,24,40,.03);--shadow-pop: 0 8px 24px -6px rgba(16,24,40,.14), 0 2px 6px -2px rgba(16,24,40,.08)}body[data-theme=dark]{--bg-0: #0b141d;--bg-1: #101e29;--bg-2: #1d2b36;--bg-3: #24333f;--bg-inset: #0b141d;--bg-rail: #101e29;--bg-topbar: #101e29;--hover: rgba(237,242,245,.07);--hover-strong: rgba(237,242,245,.12);--line-1: #1d2b36;--line-2: #263643;--line-strong: #334653;--fg-1: #edf2f5;--fg-2: #b9c7d1;--fg-3: #8ca0ad;--fg-4: #5e7280;--fg-5: #4c5e6b;--accent: oklch(.775 .1 var(--accent-h));--accent-hover: oklch(.825 .1 var(--accent-h));--accent-soft: oklch(.775 .1 var(--accent-h) / .1);--accent-line: oklch(.775 .1 var(--accent-h) / .38);--accent-fg: #0c1d2b;--btn-bg: #edf2f5;--btn-bg-hover: #ffffff;--btn-fg: #0c1d2b;--pos: #4fbe84;--pos-soft: rgba(79,190,132,.14);--neg: #e2695a;--neg-soft: rgba(226,105,90,.12);--warn: #d6a249;--warn-soft: rgba(214,162,73,.14);--warn-line: rgba(214,162,73,.4);--info: #7ea9e8;--info-soft: rgba(126,169,232,.12);--wa-out: #0c2318;--chart-1: #3ab5ab;--chart-2: #6f7fe8;--shadow-1: 0 1px 2px 0 rgba(0,0,0,.1);--shadow-btn: 0 1px 2px rgba(0,0,0,.2);--shadow-2: 0 4px 12px -4px rgba(0,0,0,.28);--shadow-card: 0 1px 2px 0 rgba(0,0,0,.1);--shadow-pop: 0 8px 28px 0 rgba(0,0,0,.35), 0 1px 2px 0 rgba(0,0,0,.2)}:root{--paper: var(--bg-0);--paper-card: var(--bg-1);--paper-tinted: var(--bg-2);--paper-subtle: var(--bg-inset);--ink: var(--fg-1);--ink-soft: var(--fg-2);--ink-muted: var(--fg-3);--ink-faint: var(--fg-4);--ink-disabled: var(--fg-5);--line: var(--line-1);--line-strong: var(--line-2);--line-faint: var(--bg-2);--brand: var(--accent);--brand-deep: var(--accent-hover);--brand-soft: var(--accent-soft);--success: var(--pos);--warning: var(--warn);--danger: var(--neg);--btn-primary-bg: var(--btn-bg);--btn-primary-bg-hover: var(--btn-bg-hover);--btn-primary-text: var(--btn-fg);--font-sans: var(--sans);--font-mono: var(--mono);--radius-card: var(--r-4);--radius-inner: var(--r-3);--radius-control: var(--r-2);--radius-badge: var(--r-1);--radius-pill: 999px;--transition-ui: background .12s, border-color .12s, color .12s}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-0);color:var(--fg-1);font-family:var(--sans);letter-spacing:-.004em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{position:relative;z-index:1}button{font-family:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;letter-spacing:inherit}input,select,textarea{font-family:var(--sans)}:focus-visible{outline:2px solid var(--fg-1);outline-offset:2px}::selection{background:var(--accent-soft)}body[data-density=compact]{font-size:13.5px}body[data-density=regular]{font-size:14px}.num-display{font-family:var(--display)}.mono{font-family:var(--sans);font-variant-numeric:tabular-nums}.mono.tnum,.mono.code,.code,code,pre,kbd{font-family:var(--mono)}.serif{font-family:var(--display);font-weight:600;letter-spacing:-.018em}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--fg-3)}.dim{color:var(--fg-4)}.faint{color:var(--fg-5)}.glow-num{text-shadow:none}.bkt{display:inline-block;font-family:var(--sans);font-size:10.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-3)}.bkt:before,.bkt:after{content:""}.kbd{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--fg-4);background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-1);padding:1px 5px}.chip{display:inline-flex;align-items:center;gap:5px;min-height:20px;padding:2px 8px;border-radius:var(--r-1);font-size:11px;font-weight:600;letter-spacing:0;background:var(--bg-2);border:0;color:var(--fg-2)}.chip.pos,.chip.neg,.chip.warn,.chip.info{padding:0;background:transparent}.chip.pos{color:var(--pos)}.chip.neg{color:var(--neg)}.chip.warn{color:var(--warn)}.chip.info{color:var(--info)}.chip.pos:before,.chip.neg:before,.chip.warn:before,.chip.info:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;flex-shrink:0}.chip.accent{color:var(--accent);background:var(--accent-soft)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor}.led{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor}.led.pulse{animation:none}.arr-up:before{content:"↑"}.arr-dn:before{content:"↓"}.arr-flat:before{content:"→"}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px;border:3px solid var(--bg-0)}::-webkit-scrollbar-thumb:hover{background:var(--line-strong)}:root{--pad-x: 28px;--page-head-top: 28px}.app-shell{height:100vh;height:100dvh}.resp-cols{display:grid;grid-template-columns:var(--cols, 1fr)}.tbl-x{overflow-x:auto}.tbl-x>*{min-width:720px}.tbl-x table{min-width:680px}.tbl-x>.mono:first-child,.tbl-x th{font-family:var(--sans)}.editor-split{display:grid;grid-template-columns:var(--cols, 1fr)}@media(max-width:900px){:root{--pad-x: 14px;--page-head-top: 20px}.resp-cols{grid-template-columns:1fr}.editor-split{grid-template-columns:1fr;grid-template-rows:minmax(0,1.15fr) minmax(0,1fr)}.hide-mobile{display:none!important}}@media(max-width:768px){input,select,textarea{font-size:16px!important}}
