:root{--bg-0:#000;--bg-1:#0a0a0a;--bg-2:#141414;--bg-3:#1c1c1c;--border:#1f1f1f;--border-strong:#2a2a2a;--text-primary:#f0f0f2;--text-secondary:#888892;--text-muted:#555560;--text-label:#6e6e78;--up:#22c55e;--up-dim:#15803d;--down:#ef4444;--down-dim:#991b1b;--flat:#6e6e78;--ok:#22c55e;--warn:#eab308;--err:#ef4444;--feed-binance:#f59e0b;--feed-coinbase:#3b82f6;--feed-oracle:#fff;--target-line:#fff9;--target-band:#ffffff0a;--cta:#ef7530;--cta-hover:#ff8a45;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"Inter", system-ui, sans-serif;--t-display:32px;--t-display-2:22px;--t-h1:18px;--t-h2:15px;--t-body:13px;--t-small:11px;--t-micro:10px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:6px;--r-lg:8px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-tick:60ms;--dur-chip:60ms;--dur-flash:.25s;--dur-panel:.16s}.num{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-feature-settings:"tnum", "cv11"}.label{font-family:var(--font-sans);font-size:var(--t-small);text-transform:uppercase;letter-spacing:.06em;color:var(--text-label);font-weight:500}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:14px}body{background:var(--bg-0);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--t-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.5;overflow-x:hidden}#root{isolation:isolate}button{color:inherit;font:inherit;cursor:pointer;transition:transform var(--dur-tick) var(--ease-out), opacity var(--dur-tick) var(--ease-out), background-color var(--dur-panel) var(--ease-out), border-color var(--dur-panel) var(--ease-out), color var(--dur-panel) var(--ease-out);background:0 0;border:none;padding:0}button:active:not(:disabled){transform:scale(.97)}button:disabled{cursor:not-allowed;opacity:.4}input,textarea,select{font:inherit;transition:border-color var(--dur-panel) var(--ease-out), background-color var(--dur-panel) var(--ease-out);outline:none}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px #ef75302e;border-color:var(--cta)!important}a{color:inherit;text-decoration:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes flash{0%{background:var(--up)}to{background:0 0}}@keyframes drawLine{0%{stroke-dashoffset:var(--len,2000)}to{stroke-dashoffset:0}}@keyframes growBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes growBarY{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.92)}60%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes glowPulse{0%,to{box-shadow:0 0 #84e1d200}50%{box-shadow:0 0 14px 1px #84e1d22e}}@keyframes sheen{0%{transform:translate(-120%)}to{transform:translate(220%)}}@keyframes rowFlashUp{0%{background:#22c55e2e}to{background:0 0}}@keyframes rowFlashDown{0%{background:#ef44442e}to{background:0 0}}.pop-in{animation:popIn .36s var(--ease-spring) both}.lab-card{transition:transform .16s var(--ease-out), border-color .16s var(--ease-out), box-shadow .16s var(--ease-out)}.lab-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 6px 20px -8px #0009}.lab-row{transition:background .12s var(--ease-out), transform .12s var(--ease-out)}.lab-row:hover{transform:translate(3px);background:var(--bg-3)!important}.grow-bar{transform-origin:0;animation:growBar .72s var(--ease-out) both}.grow-bar-y{transform-origin:bottom;animation:growBarY .7s var(--ease-out) both}.draw-line{stroke-dasharray:var(--len,2000);animation:drawLine 1.1s var(--ease-out) both}.wtab{cursor:pointer;letter-spacing:.01em;color:var(--text-secondary);transition:color .16s var(--ease-out);background:0 0;border:none;padding:9px 2px;font-size:13px;font-weight:500;position:relative}.wtab:hover,.wtab.active{color:var(--text-primary)}.wtab:after{content:"";background:var(--text-primary);transform-origin:50%;height:2px;transition:transform .24s var(--ease-out);border-radius:2px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.wtab.active:after{transform:scaleX(1)}.wtab:hover:after{background:var(--text-secondary);transform:scaleX(.5)}.wtab.active:hover:after{background:var(--text-primary);transform:scaleX(1)}.surface{background:linear-gradient(180deg, #ffffff05, transparent 40%), var(--bg-1);border:1px solid var(--border);transition:transform .16s var(--ease-out), border-color .16s var(--ease-out), box-shadow .16s var(--ease-out);border-radius:8px}.surface:hover{border-color:var(--border-strong);box-shadow:0 6px 22px -10px #0009}.glow-pulse{animation:3.2s ease-in-out infinite glowPulse}.sheen:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff0d,#0000);width:40%;height:100%;animation:4.5s ease-in-out infinite sheen;position:absolute;top:0;left:0}.fade-in{animation:fadeIn .28s var(--ease-out) both}.slide-up{animation:slideUp .32s var(--ease-out) both}.pulse{animation:2s ease-in-out infinite pulse}.stagger>*{animation:fadeIn .32s var(--ease-out) both}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(6){animation-delay:.25s}.stagger>:nth-child(7){animation-delay:.3s}.stagger>:nth-child(8){animation-delay:.35s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}@media (width<=640px){html{font-size:13.5px}button{min-width:40px;min-height:40px}input,textarea,select{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-top{padding-top:env(safe-area-inset-top)}
