:root,[data-theme=dark]{--bg-base: #0b1220;--bg-surface: #121a2b;--bg-elevated: #182339;--border-hairline: #232e45;--text-primary: #e8edf6;--text-muted: #8b96ab;--accent-brand: #3e8eff;--accent-bull: #2fd675;--accent-bear: #ff5c5c;--shadow-elevated: 0 8px 24px rgba(0, 0, 0, .35)}[data-theme=light]{--bg-base: #f5f7fa;--bg-surface: #ffffff;--bg-elevated: #eef1f6;--border-hairline: #e1e6ee;--text-primary: #10151f;--text-muted: #5b667a;--accent-brand: #2b6fe0;--accent-bull: #17a35c;--accent-bear: #e8433f;--shadow-elevated: 0 8px 24px rgba(20, 30, 50, .08)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-base);color:var(--text-primary);font-family:Inter,-apple-system,sans-serif;transition:background .2s ease,color .2s ease}h1,h2,h3,.display{font-family:Space Grotesk,sans-serif;font-weight:600;letter-spacing:-.01em;margin:0}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}a{color:inherit;text-decoration:none}.hairline{border-color:var(--border-hairline)}.surface{background:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:10px}.muted{color:var(--text-muted)}.bull{color:var(--accent-bull)}.bear{color:var(--accent-bear)}button,input,select,textarea{font-family:inherit;color:inherit}button{cursor:pointer}.btn-primary{background:var(--accent-brand);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:600;font-size:14px}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{background:transparent;border:1px solid var(--border-hairline);color:var(--text-primary);border-radius:8px;padding:9px 16px;font-weight:500;font-size:14px}.input{background:var(--bg-elevated);border:1px solid var(--border-hairline);border-radius:8px;padding:10px 12px;font-size:14px;width:100%}.ticker-track{display:flex;gap:32px;white-space:nowrap;animation:ticker-scroll 40s linear infinite;width:max-content}.ticker-track:hover{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.ticker-track{animation:none}}
