@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap";:root{--bg:#000;--accent:#3ab0ff;--accent-hover:#5abcff;--accent-active:#2a97e0;--text-primary:#fff;--text-secondary:#a3a3ad;--text-tertiary:#65656f;--success:#0f8;--negative:#ff4d5e;--sidebar-bg:#0a0a0a;--card-bg:#0b0b0d;--panel-bg:#111114;--input-bg:#111114;--border:#ffffff14;--border-hover:#333;--radius-card:8px;--radius-input:4px;--radius-pill:999px;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--duration-fast:.14s;--duration-base:.2s;--ease-out:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text-primary);font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--text-base);margin:0;line-height:1.5}::selection{background:var(--accent);color:#000}*{scrollbar-color:var(--border-hover) var(--bg);scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:var(--radius-pill);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-input)}a{color:var(--accent);transition:color var(--duration-fast) ease}a:hover{color:var(--accent-hover)}.tabular-nums{font-variant-numeric:tabular-nums}input,button{font-family:inherit}input{background:var(--input-bg);border-radius:var(--radius-input);color:var(--text-primary);padding:var(--space-3);font-size:var(--text-base);width:100%;transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;border:1px solid #2a2a2a}input::placeholder{color:var(--text-tertiary)}input:hover{border-color:var(--border-hover)}input:focus{border-color:#3ab0ff59;outline:none;box-shadow:0 0 0 3px #3ab0ff26}input:disabled{opacity:.5;cursor:not-allowed}button{background:var(--accent);color:#000;border-radius:var(--radius-pill);padding:var(--space-3) var(--space-4);font-weight:700;font-size:var(--text-base);cursor:pointer;transition:background-color var(--duration-fast) ease, transform var(--duration-fast) ease, opacity var(--duration-fast) ease;border:none}button:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.02);box-shadow:0 0 0 4px #3ab0ff2e,0 4px 16px #3ab0ff40}button:active:not(:disabled){background:var(--accent-active);box-shadow:none;transform:scale(.98)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{color:var(--text-primary);border:1px solid var(--border);background:0 0}button.secondary:hover:not(:disabled){background:var(--panel-bg);border-color:var(--border-hover)}button.secondary:active:not(:disabled){background:var(--card-bg);transform:scale(.98)}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-5)}.label{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-1);display:block}.error-text{color:var(--negative);font-size:var(--text-sm)}.positive{color:var(--success)}.negative{color:var(--negative)}@keyframes status-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.ping-row:hover,.session-row:hover{background-color:var(--panel-bg)}.skeleton{background:linear-gradient(90deg, var(--card-bg) 25%, var(--panel-bg) 37%, var(--card-bg) 63%);border-radius:var(--radius-input);background-size:400px 100%;animation:1.4s infinite shimmer}.sidebar-link{align-items:center;gap:var(--space-3);color:var(--text-secondary);font-weight:500;font-size:var(--text-base);padding:var(--space-3) var(--space-4);border-radius:var(--radius-input);transition:background-color var(--duration-fast) ease, color var(--duration-fast) ease;text-decoration:none;display:flex;position:relative}.sidebar-link:hover{color:var(--text-primary);background:var(--panel-bg)}.sidebar-link.active{color:var(--text-primary);background:#3ab0ff1f}.sidebar-link.active:before{content:"";left:0;top:var(--space-2);bottom:var(--space-2);background:var(--accent);border-radius:0 var(--radius-pill) var(--radius-pill) 0;width:3px;position:absolute}.chip{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;display:inline-flex}.chip-positive{color:var(--success);background:#00ff8824}.chip-neutral{color:var(--text-secondary);background:var(--panel-bg)}@keyframes page-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:page-fade-in var(--duration-base) var(--ease-out)}.stagger-in{animation:rise-in var(--duration-base) var(--ease-out) both}@keyframes loading-bar-sweep{0%{transform:translate(-100%)scaleX(.4)}60%{transform:translate(20%)scaleX(.6)}to{transform:translate(100%)scaleX(.4)}}.top-loading-bar{z-index:1000;pointer-events:none;background:0 0;height:2px;position:fixed;top:0;left:0;right:0;overflow:hidden}.top-loading-bar:after{content:"";background:var(--accent);width:100%;height:100%;box-shadow:0 0 8px var(--accent);transform-origin:0;animation:loading-bar-sweep .5s var(--ease-out);display:block}@keyframes metric-pop{0%{opacity:.4;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.metric-value{animation:metric-pop var(--duration-base) var(--ease-out);display:inline-block}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast{bottom:var(--space-6);right:var(--space-6);background:var(--card-bg);border:1px solid var(--border-hover);color:var(--text-primary);padding:var(--space-3) var(--space-5);border-radius:var(--radius-card);font-size:var(--text-sm);animation:toast-in var(--duration-base) var(--ease-out);z-index:1000;font-weight:700;position:fixed;box-shadow:0 8px 24px #00000080}.collapsible-body{animation:page-fade-in var(--duration-base) var(--ease-out);overflow:hidden}
