:root{--bg:#ffffff;--surface:#f7f8fa;--fg:#111111;--muted:#6b7280;--border:#d9dee7;--accent:#1677ff;--accent-600:oklch(52% 0.2 259);--accent-2:#8050f0;--mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--font:Inter,system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;--shadow:0 1px 2px rgba(17,17,17,.05),0 10px 30px -12px rgba(17,17,17,.18)}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--surface);color:var(--fg);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:var(--accent-600);text-decoration:none}a:hover{color:var(--fg)}
button{font:inherit;color:inherit}
h1,h2{margin:0}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
.card{background:var(--bg);border:1px solid var(--border);border-radius:8px}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(22,119,255,.5)}100%{box-shadow:0 0 0 7px rgba(22,119,255,0)}}
@keyframes stripes{from{background-position:0 0}to{background-position:28px 0}}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.live-dot{animation:livepulse 1.6s ease-out infinite}
.flowbar{background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.3) 0 7px,rgba(255,255,255,0) 7px 14px);animation:stripes 1.1s linear infinite}
.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border:1px solid var(--border);border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}
.btn{height:40px;padding:0 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.btn:hover{background:var(--surface)}
.btn-primary{background:var(--accent-600);border-color:var(--accent-600);color:#fff}
.btn-primary:hover{background:var(--fg);border-color:var(--fg)}
.btn-dark{background:var(--fg);border-color:var(--fg);color:#fff}
.btn-dark:hover{background:#000}
.btn[disabled]{opacity:.4;cursor:default}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
