:root{--bg: #0b0e11;--bg-2: #12171d;--panel: #151b23;--panel-2: #1a212b;--border: #232c38;--border-2: #2d3846;--text: #e6edf3;--text-dim: #8b98a9;--text-mut: #5d6b7d;--green: #26a69a;--green-soft: rgba(38, 166, 154, .14);--red: #ef5350;--red-soft: rgba(239, 83, 80, .14);--accent: #4c8dff;--accent-soft: rgba(76, 141, 255, .14);--amber: #f0a020;--radius: 12px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "SF Mono", "JetBrains Mono", "Fira Code", Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;flex-shrink:0;background:var(--bg-2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 14px}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 20px}.brand-mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#7b5cff);display:grid;place-items:center;font-weight:800;color:#fff;font-size:15px}.brand-name{font-weight:700;letter-spacing:.2px}.brand-sub{font-size:11px;color:var(--text-mut)}.nav{display:flex;flex-direction:column;gap:4px;margin-top:8px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:var(--text-dim);cursor:pointer;font-weight:500;border:1px solid transparent;-webkit-user-select:none;user-select:none}.nav-item:hover{background:var(--panel);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:#cfe0ff;border-color:#4c8dff40}.nav-item .ic{width:18px;text-align:center}.sidebar-foot{margin-top:auto;padding:10px 8px 0}.status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim)}.dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 3px #00000040}.dot.on{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.dot.off{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.dot.warn{background:var(--amber)}.main{flex:1;overflow-y:auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 26px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#0b0e11d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5}.topbar h1{font-size:18px;font-weight:700}.topbar .sym{color:var(--text-mut);font-weight:500;font-size:13px}.content{padding:22px 26px 60px;max-width:1400px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.stat .label{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.stat .value{font-size:26px;font-weight:700;margin-top:8px;font-family:var(--mono)}.stat .sub{font-size:12px;margin-top:4px;color:var(--text-mut)}.pos{color:var(--green)}.neg{color:var(--red)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.panel-head h2{font-size:14px;font-weight:650}.panel-head .hint{font-size:12px;color:var(--text-mut)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.chart-wrap{height:380px;width:100%}.chart-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:20px;color:var(--text-mut);font-size:13px;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.015) 10px,rgba(255,255,255,.015) 20px)}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-mut);padding:10px 14px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--panel)}tbody td{padding:11px 14px;border-bottom:1px solid rgba(35,44,56,.5);font-size:13px}tbody tr:hover{background:var(--panel-2)}.mono{font-family:var(--mono)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:650}.badge.long{background:var(--green-soft);color:var(--green)}.badge.short{background:var(--red-soft);color:var(--red)}.badge.win{background:var(--green-soft);color:var(--green)}.badge.loss{background:var(--red-soft);color:var(--red)}.badge.open{background:var(--accent-soft);color:#9dc0ff}.badge.pending{background:#f0a02024;color:var(--amber)}.empty{padding:40px;text-align:center;color:var(--text-mut)}.settings{max-width:780px;display:flex;flex-direction:column;gap:18px}.form-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}.form-section h3{font-size:14px;margin-bottom:4px}.form-section .desc{color:var(--text-mut);font-size:12px;margin-bottom:16px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:6px}.field input,.field select{width:100%;padding:10px 12px;background:var(--bg-2);border:1px solid var(--border-2);border-radius:8px;color:var(--text);font-size:13px;font-family:var(--font)}.field input:focus,.field select:focus{outline:none;border-color:var(--accent)}.field input::placeholder{color:var(--text-mut)}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.btn{padding:10px 16px;border-radius:8px;border:1px solid var(--border-2);background:var(--panel-2);color:var(--text);font-weight:600;cursor:pointer;font-size:13px}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:transparent}.btn-row{display:flex;gap:10px;align-items:center;margin-top:6px}.connected-tag{color:var(--green);font-size:12px;display:flex;align-items:center;gap:6px}.toast{position:fixed;bottom:24px;right:24px;background:var(--panel);border:1px solid var(--green);color:var(--text);padding:12px 18px;border-radius:10px;font-size:13px;box-shadow:0 8px 30px #0006}.knob-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 760px){body{font-size:13px}.app{flex-direction:column;height:auto;min-height:100vh}.sidebar{width:100%;flex-direction:row;align-items:center;border-right:none;border-bottom:1px solid var(--border);padding:10px 12px;gap:10px;overflow-x:auto;position:sticky;top:0;z-index:20;background:var(--bg-2)}.brand{padding:0;margin-right:6px;flex-shrink:0}.brand-sub{display:none}.nav{flex-direction:row;margin-top:0;gap:4px}.nav-item{padding:8px 12px;white-space:nowrap}.sidebar-foot{display:none}.main{overflow-y:visible}.topbar{padding:12px 14px;position:static}.topbar h1{font-size:16px}.content{padding:14px 12px 40px}.stat-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.stat{padding:12px 14px}.stat .value{font-size:20px}.grid-2{grid-template-columns:1fr}.chart-wrap{height:300px}.table-wrap table{min-width:560px}.settings{max-width:100%}.knob-grid,.row,.row-3{grid-template-columns:1fr}.form-section{padding:16px}.toast{left:16px;right:16px;bottom:16px;text-align:center}}@media (max-width: 380px){.stat-row{grid-template-columns:1fr}}.callout{background:var(--accent-soft);border:1px solid rgba(76,141,255,.25);border-radius:10px;padding:12px 14px;font-size:12.5px;color:#cfe0ff;line-height:1.5}
