@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@500;600&display=swap";:root{--ink: #16132a;--ink-soft: #2a2445;--surface: #fefcf9;--surface-raised: #ffffff;--surface-sunken: #f4f1ec;--wire: #e3ddf0;--wire-strong: #cbc0e6;--text: #16132a;--text-muted: #635c80;--text-faint: #9890b3;--accent: #6d3fd6;--accent-strong: #5527b8;--accent-soft: #efe7fc;--signal: #ff8a3d;--signal-soft: #ffece0;--ok: #0f9d63;--ok-soft: #e3f7ee;--warn: #c9791a;--warn-soft: #fbead2;--danger: #d9385a;--danger-soft: #fce6ec;--font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Consolas, monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-card: 0 1px 2px rgba(22, 19, 42, .04), 0 8px 24px -12px rgba(22, 19, 42, .12);--shadow-raised: 0 4px 16px -4px rgba(22, 19, 42, .18), 0 12px 32px -8px rgba(109, 63, 214, .14)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ink: #0e0c1c;--ink-soft: #1c1834;--surface: #110e20;--surface-raised: #1a1630;--surface-sunken: #0b0918;--wire: #322b52;--wire-strong: #453b72;--text: #f1eefc;--text-muted: #b3a9d6;--text-faint: #7b7099;--accent: #a480f0;--accent-strong: #c3a6ff;--accent-soft: #241a45;--signal: #ffa361;--signal-soft: #3a2412;--ok: #3ecf8e;--ok-soft: #0f2a1f;--warn: #f0a94e;--warn-soft: #332008;--danger: #ff6b8b;--danger-soft: #391320;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .5);--shadow-raised: 0 4px 16px -4px rgba(0, 0, 0, .5), 0 12px 32px -8px rgba(164, 128, 240, .2)}}:root[data-theme=dark]{--ink: #0e0c1c;--ink-soft: #1c1834;--surface: #110e20;--surface-raised: #1a1630;--surface-sunken: #0b0918;--wire: #322b52;--wire-strong: #453b72;--text: #f1eefc;--text-muted: #b3a9d6;--text-faint: #7b7099;--accent: #a480f0;--accent-strong: #c3a6ff;--accent-soft: #241a45;--signal: #ffa361;--signal-soft: #3a2412;--ok: #3ecf8e;--ok-soft: #0f2a1f;--warn: #f0a94e;--warn-soft: #332008;--danger: #ff6b8b;--danger-soft: #391320;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .5);--shadow-raised: 0 4px 16px -4px rgba(0, 0, 0, .5), 0 12px 32px -8px rgba(164, 128, 240, .2)}:root{--brand: var(--accent);--brand-light: var(--accent-soft);--success: var(--ok);--danger-old: var(--danger);--warning: var(--warn);--border: var(--wire);--bg: var(--surface-sunken)}*{box-sizing:border-box}html{color-scheme:light dark}body{margin:0;font-family:var(--font-body);color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.01em}code,.mono,.tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseRing{0%{box-shadow:0 0 0 0 currentColor;opacity:.5}to{box-shadow:0 0 0 8px transparent;opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.page-enter{animation:fadeIn .3s cubic-bezier(.16,1,.3,1)}.toast-enter{animation:slideInRight .25s cubic-bezier(.16,1,.3,1)}.skeleton{background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--wire) 37%,var(--surface-sunken) 63%);background-size:400px 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}button{font-family:inherit}.btn{font-family:var(--font-display);font-weight:600;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease;cursor:pointer}.btn:active{transform:scale(.97)}.btn:disabled{cursor:default;opacity:.55;transform:none}.btn-primary{background:var(--accent);color:#fff;border:none;box-shadow:0 1px 2px #5527b833}.btn-primary:hover:not(:disabled){background:var(--accent-strong);box-shadow:0 4px 14px -2px #6d3fd673}.btn-secondary{background:var(--surface-raised);color:var(--text);border:1px solid var(--wire-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--accent)}.btn-danger-link{background:none;border:none;color:var(--danger);padding:0;font-family:var(--font-body);font-weight:500}.btn-danger-link:hover:not(:disabled){text-decoration:underline}.link-btn{background:none;border:none;color:var(--accent);padding:0;font-size:13px;font-family:var(--font-body);font-weight:500}.link-btn:hover:not(:disabled){text-decoration:underline}.hoverable-row{transition:background-color .12s ease}.hoverable-row:hover{background:var(--surface-sunken)}.nav-link{transition:background-color .15s ease,color .15s ease,transform .1s ease}.nav-link:hover{background:var(--accent-soft)!important;transform:translate(2px)}.modal-overlay{animation:fadeIn .15s ease-out}.modal-card{animation:fadeIn .2s cubic-bezier(.16,1,.3,1)}.stat-tile{transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.stat-tile:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px);border-color:var(--wire-strong)}.live-dot{position:relative;display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--signal);flex-shrink:0}.live-dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1.5px solid var(--signal);animation:pulseRing 1.6s cubic-bezier(.3,.6,.7,1) infinite}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;font-family:var(--font-display);letter-spacing:.01em;line-height:1.5}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-neutral{background:var(--surface-sunken);color:var(--text-muted)}
