@import"https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--font-display: "Chakra Petch", "IBM Plex Sans", system-ui, sans-serif;--font-main: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", "SF Mono", ui-monospace, monospace;--radius-xs: 3px;--radius-sm: 5px;--radius: 7px;--radius-lg: 10px;--radius-pill: 999px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .14s;--dur: .22s;--grid-size: 46px;--z-nav: 40;--z-overlay: 100;--z-toast: 1000}:root,:root[data-theme=dark]{color-scheme:dark;--bg-deep: hsl(220 28% 5%);--bg-base: hsl(220 24% 7%);--bg-panel: hsl(220 22% 9.5%);--bg-elevated: hsl(220 20% 13%);--bg-inset: hsl(222 32% 4.5%);--text-hi: hsl(210 32% 98%);--text-main: hsl(214 20% 89%);--text-dim: hsl(216 14% 64%);--text-mute: hsl(218 12% 46%);--text-faint: hsl(220 12% 33%);--line: hsl(216 30% 100% / .09);--line-strong: hsl(216 30% 100% / .17);--signal: hsl(184 88% 50%);--signal-bright: hsl(184 95% 64%);--signal-dim: hsl(186 55% 40%);--signal-bg: hsl(184 88% 50% / .12);--signal-line: hsl(184 88% 50% / .45);--signal-contrast: hsl(206 70% 6%);--spark: hsl(40 100% 61%);--spark-bg: hsl(40 100% 61% / .12);--live: hsl(2 90% 63%);--live-bg: hsl(2 90% 63% / .14);--ok: hsl(152 66% 48%);--ok-bg: hsl(152 66% 48% / .13);--warn: hsl(40 96% 57%);--warn-bg: hsl(40 96% 57% / .13);--danger: hsl(2 86% 63%);--danger-bg: hsl(2 86% 63% / .13);--info: hsl(200 90% 60%);--info-bg: hsl(200 90% 60% / .13);--viz-1: hsl(184 88% 54%);--viz-2: hsl(40 100% 61%);--viz-3: hsl(268 78% 70%);--viz-4: hsl(152 64% 52%);--viz-5: hsl(2 86% 66%);--viz-6: hsl(214 90% 66%);--fill-1: hsl(216 40% 100% / .03);--fill-2: hsl(216 40% 100% / .055);--fill-3: hsl(216 40% 100% / .09);--fill-4: hsl(216 40% 100% / .13);--grid-line: hsl(200 40% 100% / .028);--shadow-sm: 0 1px 2px hsl(220 50% 1% / .5);--shadow: 0 2px 6px hsl(220 50% 1% / .45), 0 14px 34px -18px hsl(220 50% 1% / .75);--shadow-lg: 0 30px 70px -28px hsl(220 60% 1% / .9);--glow-signal: 0 0 22px -6px hsl(184 88% 50% / .55);--accent-primary: var(--signal);--accent-secondary: var(--spark);--accent-danger: var(--danger);--success: var(--ok);--hairline: var(--line);--surface-1: var(--fill-1);--surface-2: var(--fill-2);--surface-3: var(--fill-3);--surface-4: var(--fill-4);--glass-bg: var(--bg-panel);--glass-border: var(--line);--glass-shadow: var(--shadow);--glass-blur: none;--card-hover-border: var(--line-strong)}:root[data-theme=light]{color-scheme:light;--bg-deep: hsl(214 32% 92%);--bg-base: hsl(210 34% 96%);--bg-panel: hsl(0 0% 100%);--bg-elevated: hsl(0 0% 100%);--bg-inset: hsl(214 34% 95.5%);--text-hi: hsl(220 44% 11%);--text-main: hsl(220 26% 21%);--text-dim: hsl(220 14% 39%);--text-mute: hsl(220 10% 50%);--text-faint: hsl(220 10% 66%);--line: hsl(220 26% 14% / .13);--line-strong: hsl(220 26% 14% / .24);--signal: hsl(190 92% 34%);--signal-bright: hsl(190 90% 40%);--signal-dim: hsl(190 40% 52%);--signal-bg: hsl(190 92% 34% / .1);--signal-line: hsl(190 92% 34% / .5);--signal-contrast: hsl(0 0% 100%);--spark: hsl(34 94% 44%);--spark-bg: hsl(34 94% 44% / .12);--live: hsl(2 78% 52%);--live-bg: hsl(2 78% 52% / .1);--ok: hsl(152 60% 34%);--ok-bg: hsl(152 60% 34% / .1);--warn: hsl(34 92% 40%);--warn-bg: hsl(34 92% 40% / .12);--danger: hsl(2 74% 48%);--danger-bg: hsl(2 74% 48% / .1);--info: hsl(200 86% 40%);--info-bg: hsl(200 86% 40% / .1);--viz-1: hsl(190 88% 38%);--viz-2: hsl(34 94% 46%);--viz-3: hsl(268 62% 54%);--viz-4: hsl(152 56% 38%);--viz-5: hsl(2 72% 54%);--viz-6: hsl(214 80% 50%);--fill-1: hsl(220 44% 14% / .03);--fill-2: hsl(220 44% 14% / .05);--fill-3: hsl(220 44% 14% / .08);--fill-4: hsl(220 44% 14% / .12);--grid-line: hsl(220 44% 14% / .05);--shadow-sm: 0 1px 2px hsl(220 30% 40% / .1);--shadow: 0 1px 3px hsl(220 30% 40% / .1), 0 12px 28px -18px hsl(220 30% 30% / .28);--shadow-lg: 0 28px 60px -26px hsl(220 30% 30% / .35);--glow-signal: 0 0 22px -8px hsl(190 92% 34% / .45);--accent-primary: var(--signal);--accent-secondary: var(--spark);--accent-danger: var(--danger);--success: var(--ok);--hairline: var(--line);--surface-1: var(--fill-1);--surface-2: var(--fill-2);--surface-3: var(--fill-3);--surface-4: var(--fill-4);--glass-bg: var(--bg-panel);--glass-border: var(--line);--glass-shadow: var(--shadow);--glass-blur: none;--card-hover-border: var(--line-strong)}@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg-deep: hsl(214 32% 92%);--bg-base: hsl(210 34% 96%);--bg-panel: hsl(0 0% 100%);--bg-elevated: hsl(0 0% 100%);--bg-inset: hsl(214 34% 95.5%);--text-hi: hsl(220 44% 11%);--text-main: hsl(220 26% 21%);--text-dim: hsl(220 14% 39%);--text-mute: hsl(220 10% 50%);--text-faint: hsl(220 10% 66%);--line: hsl(220 26% 14% / .13);--line-strong: hsl(220 26% 14% / .24);--signal: hsl(190 92% 34%);--signal-bright: hsl(190 90% 40%);--signal-dim: hsl(190 40% 52%);--signal-bg: hsl(190 92% 34% / .1);--signal-line: hsl(190 92% 34% / .5);--signal-contrast: hsl(0 0% 100%);--spark: hsl(34 94% 44%);--spark-bg: hsl(34 94% 44% / .12);--live: hsl(2 78% 52%);--live-bg: hsl(2 78% 52% / .1);--ok: hsl(152 60% 34%);--ok-bg: hsl(152 60% 34% / .1);--warn: hsl(34 92% 40%);--warn-bg: hsl(34 92% 40% / .12);--danger: hsl(2 74% 48%);--danger-bg: hsl(2 74% 48% / .1);--info: hsl(200 86% 40%);--info-bg: hsl(200 86% 40% / .1);--viz-1: hsl(190 88% 38%);--viz-2: hsl(34 94% 46%);--viz-3: hsl(268 62% 54%);--viz-4: hsl(152 56% 38%);--viz-5: hsl(2 72% 54%);--viz-6: hsl(214 80% 50%);--fill-1: hsl(220 44% 14% / .03);--fill-2: hsl(220 44% 14% / .05);--fill-3: hsl(220 44% 14% / .08);--fill-4: hsl(220 44% 14% / .12);--grid-line: hsl(220 44% 14% / .05);--shadow-sm: 0 1px 2px hsl(220 30% 40% / .1);--shadow: 0 1px 3px hsl(220 30% 40% / .1), 0 12px 28px -18px hsl(220 30% 30% / .28);--shadow-lg: 0 28px 60px -26px hsl(220 30% 30% / .35);--glow-signal: 0 0 22px -8px hsl(190 92% 34% / .45);--accent-primary: var(--signal);--accent-secondary: var(--spark);--accent-danger: var(--danger);--success: var(--ok);--hairline: var(--line);--surface-1: var(--fill-1);--surface-2: var(--fill-2);--surface-3: var(--fill-3);--surface-4: var(--fill-4);--glass-bg: var(--bg-panel);--glass-border: var(--line);--glass-shadow: var(--shadow);--glass-blur: none;--card-hover-border: var(--line-strong)}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100%}body{background-color:var(--bg-deep);color:var(--text-main);font-family:var(--font-main);font-size:15px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);mask-image:radial-gradient(ellipse 120% 100% at 50% 0%,#000 55%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 120% 100% at 50% 0%,#000 55%,transparent 100%)}#root{position:relative;z-index:1}.app-grid{background-color:var(--bg-base);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size)}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--text-hi);font-weight:600;letter-spacing:-.01em;line-height:1.15}a{color:var(--signal);text-decoration:none}::selection{background:var(--signal);color:var(--signal-contrast)}.mono,.data{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1}.data{letter-spacing:-.01em}.eyebrow{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-mute)}.section-head{display:flex;align-items:center;gap:10px;font-family:var(--font-display);color:var(--text-hi);font-weight:600}.section-head:before{content:"";width:3px;height:1.05em;border-radius:1px;background:var(--signal);box-shadow:var(--glow-signal)}.panel,.glass-card{position:relative;background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.panel:hover,.glass-card:hover{border-color:var(--line-strong)}.panel--signal{border-color:var(--signal-line)}.panel--signal:before{content:"";position:absolute;inset:0 0 auto;height:2px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg,var(--signal),transparent 70%)}.divider{height:1px;background:var(--line);border:0}.stat{position:relative;background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px;overflow:hidden;transition:border-color var(--dur) var(--ease)}.stat:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:2px;background:var(--signal);opacity:.8}.stat:hover{border-color:var(--line-strong)}.stat-label{color:var(--text-dim);font-size:.82rem}.stat-value{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-hi);font-size:1.9rem;line-height:1.1;letter-spacing:-.02em}.stat-sub{font-size:.8rem;color:var(--text-mute)}.btn,.btn-primary,.btn-ghost,.btn-danger{font-family:var(--font-main);font-size:.9rem;font-weight:600;letter-spacing:.01em;padding:10px 18px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:filter var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.btn-primary{background:var(--signal);color:var(--signal-contrast);box-shadow:var(--glow-signal)}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost{background:var(--fill-2);color:var(--text-main);border-color:var(--line-strong)}.btn-ghost:hover:not(:disabled){background:var(--fill-3);border-color:var(--signal-line);color:var(--text-hi)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.btn:disabled,.btn-primary:disabled,.btn-ghost:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:var(--font-main);font-size:.92rem;color:var(--text-main);background:var(--bg-inset);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;outline:none;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}input::placeholder,textarea::placeholder{color:var(--text-mute)}input:focus,select:focus,textarea:focus{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-bg)}select option{background:var(--bg-elevated);color:var(--text-main)}.field{display:flex;flex-direction:column;gap:7px}.label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:var(--radius-sm);border:1px solid transparent;white-space:nowrap}.badge--signal{background:var(--signal-bg);color:var(--signal);border-color:var(--signal-line)}.badge--ok{background:var(--ok-bg);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.badge--warn{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.badge--danger{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.badge--info{background:var(--info-bg);color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,transparent)}.badge--live{background:var(--live-bg);color:var(--live);border-color:color-mix(in srgb,var(--live) 45%,transparent)}.badge--muted{background:var(--fill-2);color:var(--text-dim);border-color:var(--line)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--radius-pill);background:var(--fill-2);border:1px solid var(--line);color:var(--text-dim);font-size:.8rem}.tally{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok)}.tally--live{background:var(--live);box-shadow:0 0 10px var(--live);animation:tally-pulse 1.6s var(--ease) infinite}.tally--ok{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb,var(--ok) 70%,transparent)}.tally--warn{background:var(--warn);box-shadow:0 0 8px color-mix(in srgb,var(--warn) 70%,transparent)}.tally--off{background:var(--text-faint);box-shadow:none}@keyframes tally-pulse{0%,to{opacity:1}50%{opacity:.35}}.meter{position:relative;width:100%;height:6px;background:var(--fill-2);border-radius:var(--radius-pill);overflow:hidden}.meter>.meter-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:var(--radius-pill);background:var(--signal);transition:width var(--dur) var(--ease-out)}.meter-fill--ok{background:var(--ok)}.meter-fill--warn{background:var(--warn)}.meter-fill--danger{background:var(--danger)}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table thead th{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute);text-align:left;font-weight:500;padding:10px 14px;border-bottom:1px solid var(--line-strong)}.data-table tbody td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--text-main)}.data-table tbody tr:hover td{background:var(--fill-1)}.data-table .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}*{scrollbar-width:thin;scrollbar-color:var(--fill-4) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--fill-3);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--fill-4);background-clip:content-box}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade{animation:fadeIn .4s var(--ease-out) forwards}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}.animate-pulse{animation:pulse 2.2s var(--ease) infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:900px){.panel,.glass-card{padding:16px;border-radius:var(--radius)}.stat-value{font-size:1.6rem}}
