:root{--glass-1: 30, 22, 45;--glass-2: 15, 12, 23;--panel-alpha: .88;--ink: #F6F1FF;--muted: #BDB0CF;--faint: #A698B4;--accent-rgb: 173, 124, 255;--accent: #AD7CFF;--accent-hover: #BD96FF;--accent-2: #D7BDFF;--accent-ink: #170D27;--hair: rgba(215, 193, 255, .16);--hair-strong: rgba(215, 193, 255, .22);--hair-2: rgba(215, 193, 255, .09);--sheen: rgba(255, 255, 255, .1);--good: #34D399;--warn: #FBBF24;--crit: #F87171;--rose: #F2A1B6;--rose-fill: rgba(240, 141, 175, .05);--rose-border: rgba(240, 141, 175, .19);--r-lg: 14px;--r-md: 8px;--r-sm: 4px;--ease: cubic-bezier(.2, .7, .2, 1);--font-display: "Bahnschrift", "Segoe UI", system-ui, sans-serif;--font-body: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{color:var(--ink);font-family:var(--font-body);font-size:14px;background:radial-gradient(1000px 700px at -5% -15%,rgba(var(--accent-rgb),.22),transparent 60%),radial-gradient(800px 620px at 108% 0%,rgba(140,96,235,.16),transparent 55%),radial-gradient(1100px 850px at 60% 115%,rgba(108,74,190,.16),transparent 62%),linear-gradient(165deg,#1a1228,#120c1e 42%,#0c0914);background-attachment:fixed}a{color:var(--accent-2);text-decoration:none}a:hover{color:var(--ink)}.starlight-glass{contain:layout paint style;border:1px solid var(--hair-strong);border-radius:var(--r-lg);color:var(--ink);background:linear-gradient(180deg,var(--sheen),transparent 2px),radial-gradient(120% 90% at 50% 0%,rgba(var(--accent-rgb),.07),transparent 55%),linear-gradient(148deg,#281d3deb,rgba(var(--glass-2),.9))}.display{font-family:var(--font-display)}.eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.page-title{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:.01em;margin:0 0 4px}.page-sub{color:var(--muted);margin:0 0 22px}.mono{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border-radius:var(--r-md);border:1px solid transparent;font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:.01em;cursor:pointer;transition:filter .16s var(--ease),transform .1s var(--ease),background .16s var(--ease),border-color .16s var(--ease)}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}.btn-primary{color:var(--accent-ink);background:linear-gradient(180deg,#BA90FF,var(--accent));border-color:#d7c1ff59}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#C6A1FF,var(--accent-hover));filter:none}.btn-secondary{color:var(--ink);background:rgba(var(--glass-2),.5);border-color:var(--hair)}.btn-secondary:hover:not(:disabled){border-color:rgba(var(--accent-rgb),.5)}.btn-danger{color:var(--rose);background:var(--rose-fill);border-color:var(--rose-border)}.btn-danger:hover:not(:disabled){background:#f08daf1f;filter:none}.btn-sm{padding:5px 12px;font-size:12px}.input,textarea.input,select.input{width:100%;padding:9px 13px;border-radius:var(--r-md);border:1px solid var(--hair);background:#120d1e;color:var(--ink);font:inherit;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}.input::placeholder{color:var(--faint)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}.badge{display:inline-flex;align-items:center;padding:3px 11px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;border:1px solid var(--hair);background:rgba(var(--glass-2),.5);color:var(--muted);white-space:nowrap}.badge.good{color:var(--good);border-color:#34d39966}.badge.warn{color:var(--warn);border-color:#fbbf2466}.badge.crit{color:var(--crit);border-color:#f8717166}.badge.accent{color:var(--accent-2);border-color:rgba(var(--accent-rgb),.45)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px}.dot.good{background:var(--good);box-shadow:0 0 7px #34d39999}.dot.crit{background:#f87171cc}.dot.idle{background:var(--faint)}table.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;padding:9px 12px;color:var(--faint);font-weight:700;text-transform:uppercase;font-size:10.5px;letter-spacing:.09em;border-bottom:1px solid var(--hair-strong);background:rgba(var(--glass-2),.3)}.table td{padding:10px 12px;border-bottom:1px solid var(--hair-2);vertical-align:middle}.table tbody tr{transition:background .14s var(--ease)}.table tbody tr:hover td{background:rgba(var(--accent-rgb),.07)}.stats{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.stat{padding:16px 22px}.stat+.stat{border-left:1px solid var(--hair-2)}.stat-value{font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stat-label{margin-top:3px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--muted)}.faint{color:var(--faint)}.panel-pad{padding:22px}.toast-error{border:1px solid rgba(248,113,113,.45);background:#f871711a;color:#fecaca;border-radius:var(--r-md);padding:10px 14px}a.tile{display:block;color:inherit;transition:border-color .16s var(--ease),transform .16s var(--ease)}a.tile:hover{border-color:rgba(var(--accent-rgb),.55);transform:translateY(-2px)}a.tile:hover .tile-title{color:var(--accent-2)}a.tile:hover .tile-chevron{color:var(--accent);transform:translate(3px)}.tile-title{transition:color .16s var(--ease)}.tile-chevron{transition:transform .16s var(--ease),color .16s var(--ease);color:var(--faint);font-size:20px}*{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.4) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.3);border-radius:8px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
