:root,[data-theme=dark]{--bg-primary:#0a0e17;--bg-secondary:#121826;--bg-card:#121826d9;--bg-card-hover:#1a2234f2;--border-color:#ffffff14;--border-focus:#3b82f6;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--buy-color:#10b981;--buy-bg:#10b9811f;--buy-glow:#10b98140;--sell-color:#f43f5e;--sell-bg:#f43f5e1f;--sell-glow:#f43f5e40;--accent-cyan:#06b6d4;--accent-blue:#3b82f6;--accent-purple:#8b5cf6;--accent-amber:#f59e0b;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, Monaco, monospace;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}[data-theme=light]{--bg-primary:#f1f5f9;--bg-secondary:#fff;--bg-card:#ffffffeb;--bg-card-hover:#fff;--border-color:#00000014;--border-focus:#2563eb;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--buy-color:#059669;--buy-bg:#0596691f;--buy-glow:#05966933;--sell-color:#e11d48;--sell-bg:#e11d481f;--sell-glow:#e11d4833;--accent-cyan:#0891b2;--accent-blue:#2563eb;--accent-purple:#7c3aed;--accent-amber:#d97706}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .2s,border-color .2s,color .2s}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;overflow-x:hidden}[data-theme=dark] body{background-image:radial-gradient(circle at 15% 15%,#3b82f60d 0%,#0000 40%),radial-gradient(circle at 85% 85%,#8b5cf60d 0%,#0000 40%)}[data-theme=light] body{background-image:radial-gradient(circle at 15% 15%,#2563eb08 0%,#0000 40%),radial-gradient(circle at 85% 85%,#7c3aed08 0%,#0000 40%)}.mono{font-family:var(--font-mono)}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 20px #0000000d}[data-theme=dark] .glass-panel{box-shadow:0 8px 32px #0000005e}.glass-panel:hover{border-color:#ffffff26}[data-theme=light] .glass-panel:hover{border-color:#00000026}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}[data-theme=light] ::-webkit-scrollbar-thumb{background:#cbd5e1}.app-header{border-bottom:1px solid var(--border-color);background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.logo-container{align-items:center;gap:12px;display:flex}.logo-badge{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:6px;padding:4px 10px;font-size:13px;font-weight:700}.app-title{letter-spacing:-.3px;color:var(--text-primary);font-size:17px;font-weight:700}.header-status{align-items:center;gap:14px;display:flex}.status-indicator{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.dot{border-radius:50%;width:8px;height:8px}.dot.online{background-color:var(--buy-color);box-shadow:0 0 8px var(--buy-color)}.dot.offline{background-color:var(--sell-color);box-shadow:0 0 8px var(--sell-color)}.theme-toggle-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.theme-toggle-btn:hover{color:var(--text-primary);border-color:var(--border-focus)}.dashboard-grid{grid-template-columns:340px 1fr 340px;gap:16px;max-width:1600px;margin:0 auto;padding:16px 24px;display:grid}@media (width<=1200px){.dashboard-grid{grid-template-columns:1fr 1fr}}@media (width<=768px){.dashboard-grid{grid-template-columns:1fr}}.stats-banner{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.metric-box{flex-direction:column;gap:4px;padding:14px 18px;display:flex}.metric-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;font-size:11px;font-weight:600}.metric-value{color:var(--text-primary);font-size:20px;font-weight:700}.metric-sub{color:var(--buy-color);font-size:11px}.depth-chart-panel{flex-direction:column;grid-column:1/-1;display:flex}.orderbook-panel{flex-direction:column;height:560px;display:flex}.panel-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.panel-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.ladder-table-header{color:var(--text-muted);border-bottom:1px solid var(--border-color);grid-template-columns:1fr 1fr 1fr;padding:8px 18px;font-size:11px;display:grid}.ladder-rows{flex-direction:column;flex:1;display:flex;overflow-y:auto}.ladder-row{cursor:pointer;grid-template-columns:1fr 1fr 1fr;padding:5px 18px;font-size:13px;display:grid;position:relative}.ladder-row:hover{background:var(--bg-card-hover)}.depth-bar{opacity:.18;pointer-events:none;position:absolute;top:0;bottom:0;right:0}.depth-bar.ask{background:var(--sell-color)}.depth-bar.bid{background:var(--buy-color)}.spread-divider{background:var(--bg-secondary);border-top:1px dashed var(--border-color);border-bottom:1px dashed var(--border-color);justify-content:space-between;align-items:center;padding:8px 18px;font-size:12px;font-weight:600;display:flex}.spread-val{color:var(--accent-cyan)}.order-form-panel{flex-direction:column;gap:14px;padding:16px;display:flex}.side-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;grid-template-columns:1fr 1fr;gap:8px;padding:4px;display:grid}.side-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;padding:9px;font-size:13px;font-weight:600}.side-btn.active.buy{background:var(--buy-color);color:#fff;box-shadow:0 0 12px var(--buy-glow)}.side-btn.active.sell{background:var(--sell-color);color:#fff;box-shadow:0 0 12px var(--sell-glow)}.type-toggle{gap:8px;display:flex}.type-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;flex:1;padding:8px;font-size:12px}.type-btn.active{border-color:var(--accent-blue);color:var(--accent-blue);background:#3b82f61a;font-weight:600}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{color:var(--text-secondary);font-size:12px}.input-wrapper{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;align-items:center;padding:0 12px;display:flex}.input-wrapper:focus-within{border-color:var(--border-focus)}.input-field{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:9px 0;font-size:14px}.input-suffix{color:var(--text-muted);font-size:12px}.submit-btn{cursor:pointer;color:#fff;border:none;border-radius:8px;padding:11px;font-size:14px;font-weight:700}.submit-btn.buy{background:var(--buy-color)}.submit-btn.buy:hover{filter:brightness(1.1);box-shadow:0 0 16px var(--buy-glow)}.submit-btn.sell{background:var(--sell-color)}.submit-btn.sell:hover{filter:brightness(1.1);box-shadow:0 0 16px var(--sell-glow)}.sim-controls{border-top:1px solid var(--border-color);flex-direction:column;gap:8px;margin-top:6px;padding-top:12px;display:flex}.sim-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:flex}.sim-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.sim-btn.active{border-color:var(--accent-cyan);color:var(--accent-cyan);background:#06b6d426;font-weight:600}.trades-panel{flex-direction:column;height:560px;display:flex}.trades-list{flex:1;overflow-y:auto}.trade-item{border-bottom:1px solid var(--border-color);grid-template-columns:1fr 1fr 1fr;padding:7px 18px;font-size:12px;display:grid}.trade-item:hover{background:var(--bg-card-hover)}.toast{text-align:center;border-radius:6px;padding:8px 12px;font-size:12px;animation:.3s fadeIn}.toast.success{background:var(--buy-bg);color:var(--buy-color);border:1px solid var(--buy-color)}.toast.error{background:var(--sell-bg);color:var(--sell-color);border:1px solid var(--sell-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
