: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}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-brand);outline-offset:2px}.page-enter{animation:page-fade-up .32s ease both}@keyframes page-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.page-enter{animation:none}}.surface-interactive{transition:border-color .15s ease,transform .15s ease}.surface-interactive:hover{border-color:var(--accent-brand)}.surface-interactive:active{transform:scale(.99)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;background:#2fd67524;color:var(--accent-bull)}.chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid var(--border-hairline)}.chip-active{background:var(--accent-brand);border-color:var(--accent-brand);color:#fff}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-surface) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:skeleton-sweep 1.4s ease infinite;border-radius:6px}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.app-shell{display:flex}.bottom-nav{display:none}@media (max-width: 860px){.app-shell{flex-direction:column}.sidebar-desktop{display:none!important}.app-main{padding:16px 16px 84px!important}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--bg-surface);border-top:1px solid var(--border-hairline);padding:8px 4px calc(8px + env(safe-area-inset-bottom));justify-content:space-around}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--text-muted);background:none;border:none;padding:4px 8px}.bottom-nav a.active,.bottom-nav .active{color:var(--accent-brand)}.grid-2col{grid-template-columns:1fr!important}.grid-4col{grid-template-columns:1fr 1fr!important}.grid-3col{grid-template-columns:1fr!important;height:auto!important}}@media (max-width: 520px){.grid-4col{grid-template-columns:1fr!important}}.chart-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg-base);padding:12px}
