:root{--bg: #141516;--bg-elev: #1a1b1c;--bg-card: #18191a;--bg-soft: #222324;--bg-hover: #262728;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--text: #e8e8e8;--muted: #9a9a9a;--faint: #6a6a6a;--gold: #c4a35a;--gold-2: #e0c37a;--green: #2ebd85;--green-bg: rgba(46, 189, 133, .12);--red: #f6465d;--red-bg: rgba(246, 70, 93, .12);--warn: #c4923a;--warn-bg: rgba(196, 146, 58, .12);--blue: #7b93ab;--shadow: none;--radius: 4px;--safe-top: env(safe-area-inset-top, 0px);--safe-bot: env(safe-area-inset-bottom, 0px);--topbar-h: 44px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text)}body{font-family:Montserrat,Noto Sans SC,PingFang SC,system-ui,sans-serif;font-size:13px;line-height:1.45;letter-spacing:0;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--gold-2)}.app-shell{min-height:100%;display:flex;flex-direction:column}.wrap{max-width:1440px;width:100%;margin:0 auto;padding:12px 12px calc(16px + var(--safe-bot));flex:1}.wrap.terminal{max-width:none;padding:0;display:flex;flex-direction:column;min-height:calc(100vh - var(--topbar-h) - var(--safe-top))}.topbar{position:sticky;top:0;z-index:20;background:#161718;border-bottom:1px solid var(--line);padding-top:var(--safe-top);min-height:calc(var(--topbar-h) + var(--safe-top))}.topbar-inner{max-width:none;margin:0;padding:0 12px;height:var(--topbar-h);display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.brand{display:flex;align-items:baseline;gap:8px;text-decoration:none;color:inherit;cursor:pointer;flex:none}.brand h1{font-family:Montserrat,Noto Sans SC,sans-serif;font-size:14px;font-weight:700;margin:0;letter-spacing:.08em}.brand .ai{color:var(--gold);font-weight:600;letter-spacing:.06em}.brand .en{display:none}.spacer{flex:1}.nav{display:flex;gap:0;flex-wrap:nowrap;overflow-x:auto;padding:0;margin:0;max-width:none;-webkit-overflow-scrolling:touch}.nav button{background:none;border:0;color:var(--muted);padding:0 10px;height:var(--topbar-h);border-radius:0;cursor:pointer;white-space:nowrap;font-size:12px;font-weight:500;border-bottom:2px solid transparent}.nav button:hover{color:var(--text)}.nav button.active{background:transparent;color:var(--text);border-bottom-color:var(--gold)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--bg-soft);color:var(--text);border-radius:var(--radius);padding:6px 10px;cursor:pointer;min-height:32px}.btn:hover{border-color:var(--line-strong);background:var(--bg-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg,#d4b36a,#b48a3e);color:#1a1408;border-color:transparent;font-weight:650}.btn.primary:hover{filter:brightness(1.06)}.btn.danger{border-color:#f6465d73;color:#f7b4bc;background:var(--red-bg)}.btn.ghost{background:transparent}.btn.sm{padding:4px 8px;min-height:26px;font-size:12px}.btn-order{width:100%;min-height:40px;font-size:14px;font-weight:700;letter-spacing:.04em}.btn-buy{width:100%;min-height:40px;background:var(--green)!important;color:#04140c!important;border-color:transparent!important;font-weight:700}.btn-sell{width:100%;min-height:40px;background:var(--red)!important;color:#fff!important;border-color:transparent!important;font-weight:700}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 8px;font-size:11px;border:1px solid var(--line);color:var(--muted);height:22px;white-space:nowrap}.pill.ok{color:var(--green);background:var(--green-bg);border-color:transparent}.pill.bad{color:var(--red);background:var(--red-bg);border-color:transparent}.pill.warn{color:#e8d3a4;background:var(--warn-bg);border-color:transparent}.pill.gold{color:var(--gold-2);border-color:#c4a35a59}.chip-acct{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.live-bot{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.live-bot.on{color:var(--green)}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.card.metric{padding:10px 12px}.card.metric .v{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.card.metric .l{font-size:11px;color:var(--muted);margin-top:2px}.grid{display:grid;gap:8px}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-5{grid-template-columns:repeat(5,1fr)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}th{color:var(--faint);font-weight:500;font-size:11px}td.num,th.num{text-align:right}.muted{color:var(--muted)}.faint{color:var(--faint);font-size:12px}.up{color:var(--green)}.down{color:var(--red)}.callout{border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-size:12px}.callout.warn{background:var(--warn-bg);border-color:#c4923a40;color:#e8d3a4}.callout.danger{background:var(--red-bg);border-color:#f6465d4d;color:#f3cfc9}.callout.info{background:#7b93ab1a;color:#c9d4df}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.field label{font-size:11px;color:var(--muted)}.field input,.field select,select,input[type=number],input[type=text],input[type=password]{background:#121314;border:1px solid var(--line);border-radius:var(--radius);padding:6px 8px;min-height:32px}.field input:focus,.field select:focus{outline:1px solid var(--gold);border-color:var(--gold)}.steps{display:flex;flex-direction:column;gap:8px}.step{display:flex;gap:8px;align-items:flex-start}.step .n{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-soft);color:var(--gold);font-size:11px;flex:none}.row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.hero{padding:8px 0 10px}.hero h2{font-size:16px;font-weight:650;margin:0 0 4px;letter-spacing:.02em}.err{color:#f0c2ba;font-size:12px}.okmsg{color:var(--green);font-size:12px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:20px;z-index:40}.modal{background:var(--bg-card);border:1px solid var(--line-strong);border-radius:6px;padding:18px;max-width:460px;width:100%}.toggle{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.toggle button{border:0;background:transparent;color:var(--muted);padding:5px 10px;cursor:pointer;font-size:12px}.toggle button.on{background:var(--bg-soft);color:var(--text)}.toggle.sides{width:100%}.toggle.sides button{flex:1;min-height:36px;font-weight:700}.toggle.sides button.long.on{background:var(--green);color:#04140c}.toggle.sides button.short.on{background:var(--red);color:#fff}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}hr.sep{border:0;border-top:1px solid var(--line);margin:10px 0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#ffffff08}.kline-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;flex-wrap:wrap;margin-bottom:6px}.kline-head h2{margin:0;font-size:14px;font-weight:650}.kline-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:6px 0 8px}.kline-metrics .l{font-size:11px;color:var(--muted)}.kline-metrics .v{font-size:14px;font-variant-numeric:tabular-nums}.kline-intervals{margin-bottom:6px}.kline-canvas-wrap{position:relative;width:100%;border-radius:0;overflow:hidden;border:1px solid var(--line);background:#101112}.kline-canvas-wrap canvas{display:block;width:100%;cursor:crosshair}.kline-tip{position:absolute;left:8px;top:6px;background:#101112e6;border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:11px;color:var(--muted);pointer-events:none}.live-pill{font-variant-numeric:tabular-nums}.live-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--faint)}.live-dot.live,.live-dot.on{background:var(--green);box-shadow:0 0 #2ebd85b3;animation:livepulse 1.4s infinite}.live-dot.poll,.live-dot.connecting{background:var(--warn)}.live-dot.error{background:var(--red)}@keyframes livepulse{0%{box-shadow:0 0 #2ebd858c}70%{box-shadow:0 0 0 6px #2ebd8500}to{box-shadow:0 0 #2ebd8500}}.kline-page{margin-top:8px}.kline-page-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;padding:8px 12px}.kline-back{font-size:13px;font-weight:650;padding:6px 14px;min-height:32px}.kline-card{padding:10px}.kline-embed{margin:0}.kline-embed .kline-head,.kline-embed .kline-metrics{display:none}.linkish{background:none;border:0;color:var(--gold-2);cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0 0 0 6px;font:inherit}.disclosure{margin-top:8px}.disclosure summary{cursor:pointer;color:var(--muted);font-size:12px}.disclosure summary:hover{color:var(--gold-2)}.card.highlight{border-color:var(--gold);box-shadow:0 0 0 1px #c4a35a59}.kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:8px}.kpi{background:var(--bg-card);padding:10px 12px}.kpi .l{font-size:11px;color:var(--muted)}.kpi .v{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;margin-top:2px}.bot-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bot-card{min-height:132px;display:flex;flex-direction:column;gap:6px}.bot-card h3{margin:0;font-size:14px;font-weight:650}.bot-card .action-line{margin:0;color:var(--muted);font-size:12px}.bot-card .btn{align-self:flex-start;margin-top:auto}.spark{display:block;width:100%;height:28px}.feed{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-card)}.feed h3,.panel-h{margin:0;padding:8px 10px;font-size:12px;font-weight:600;border-bottom:1px solid var(--line);color:var(--muted)}.feed-item{display:grid;grid-template-columns:118px 16px 1fr;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line);font-size:12px}.feed-item:last-child{border-bottom:0}.feed-item .t{color:var(--faint);font-variant-numeric:tabular-nums}.feed-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);margin-top:5px}.feed-item.opened .feed-dot,.feed-item.started .feed-dot,.feed-item.funding .feed-dot{background:var(--green)}.feed-item.closed .feed-dot,.feed-item.stopped .feed-dot{background:var(--muted)}.feed-item.skipped .feed-dot{background:var(--warn)}.feed-item.signal .feed-dot{background:var(--blue)}.feed-empty{padding:20px 10px;text-align:center;color:var(--faint)}.desk{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr) 200px;gap:0;flex:1;min-height:calc(100vh - var(--topbar-h) - var(--safe-top));border-top:0}.desk>*{border-right:1px solid var(--line);min-width:0;min-height:0}.desk>*:last-child,.desk .desk-bot{border-right:0}.desk-left,.desk-right{background:var(--bg-elev);overflow:auto}.desk-center{display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.desk-bot{grid-column:1 / -1;border-top:1px solid var(--line);background:var(--bg-card);overflow:auto}.scan-head{padding:8px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:6px}.scan-head h3{margin:0;font-size:12px;font-weight:600;color:var(--muted)}.opp-card{padding:10px;border-bottom:1px solid var(--line);cursor:pointer}.opp-card:hover,.opp-card.on{background:var(--bg-hover)}.opp-card.on{box-shadow:inset 2px 0 0 var(--gold)}.opp-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ticker{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:22px;padding:0 6px;border:1px solid var(--line);border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.02em}.apr{font-size:20px;font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}.opp-legs{margin:4px 0 6px;color:var(--muted);font-size:12px}.leg{display:inline-flex;align-items:center;padding:1px 6px;border-radius:3px;font-size:11px;margin-right:4px;border:1px solid var(--line)}.leg.short{color:var(--red);border-color:#f6465d59}.leg.long{color:var(--green);border-color:#2ebd8559}.mkt-head{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--bg-elev)}.mkt-head .sym{font-size:15px;font-weight:700}.mkt-head .stat{display:flex;flex-direction:column}.mkt-head .stat .l{font-size:10px;color:var(--faint)}.mkt-head .stat .v{font-size:12px;font-variant-numeric:tabular-nums}.chart-wrap{flex:1;min-height:220px;padding:6px 8px;overflow:hidden;display:flex;flex-direction:column}.bot-panel{padding:10px 12px}.bot-panel h3{margin:0 0 8px;font-size:13px}.bot-panel .est{font-size:11px;color:var(--faint);margin:6px 0}.est-row{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid var(--line);font-size:12px}.est-row .l{color:var(--muted)}.est-row .v{font-variant-numeric:tabular-nums}.btabs{display:flex;gap:0;border-bottom:1px solid var(--line);padding:0 8px}.btabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:8px 10px;cursor:pointer;font-size:12px}.btabs button.on{color:var(--text);border-bottom-color:var(--gold)}.btabs .cnt{color:var(--faint);margin-left:4px}.mlist-item{padding:10px;border-bottom:1px solid var(--line);cursor:pointer}.mlist-item:hover,.mlist-item.on{background:var(--bg-hover)}.mlist-item.on{box-shadow:inset 2px 0 0 var(--gold)}.mlist-item h4{margin:0 0 4px;font-size:13px}.signal-up{color:var(--green);font-weight:700}.signal-down{color:var(--red);font-weight:700}.signal-flat{color:var(--muted)}.inpage-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);background:var(--bg-elev)}.inpage-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:8px 16px;cursor:pointer;font-size:13px}.inpage-tabs button.on{color:var(--gold-2);border-bottom-color:var(--gold);font-weight:600}.board-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--bg-elev)}.board-bar h2{margin:0 8px 0 0;font-size:13px;font-weight:650}.futures-page.embedded{margin:0;display:flex;flex-direction:column;flex:1;min-height:0}.futures-desk{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,340px);gap:0;flex:1;min-height:0}.futures-chart,.futures-ticket{border:0;border-radius:0;background:transparent}.futures-chart{border-right:1px solid var(--line);overflow:auto}.futures-ticket{background:var(--bg-elev);overflow:auto;padding:10px 12px}.futures-ticket .kline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.futures-ticket .kline-metrics .v{font-size:13px}.pct-slider{width:100%;accent-color:var(--gold)}.util-link{background:none;border:0;color:var(--muted);cursor:pointer;font-size:12px;padding:0 8px;height:var(--topbar-h)}.util-link:hover{color:var(--gold-2)}@media (max-width: 1100px){.desk{grid-template-columns:1fr;grid-template-rows:none;min-height:0}.desk-center{min-height:360px}.desk-bot{grid-column:auto}.desk>*{border-right:0;border-bottom:1px solid var(--line)}.futures-desk{grid-template-columns:1fr}.futures-chart{border-right:0;border-bottom:1px solid var(--line)}.kpi-strip,.bot-grid,.grid.cols-2,.grid.cols-4,.grid.cols-5{grid-template-columns:1fr 1fr}.topbar-inner{flex-wrap:wrap;height:auto;padding:6px 10px}.nav button{height:32px}}@media (max-width: 860px){.kpi-strip,.bot-grid,.grid.cols-2,.grid.cols-4,.grid.cols-5,.action-grid,.funding-desk{grid-template-columns:1fr}.hero h2{font-size:16px}.wrap{padding:10px}.feed-item{grid-template-columns:1fr;gap:2px}}.chart-book{display:flex;flex:1;min-height:0;overflow:hidden}.chart-book .chart-wrap{flex:1;min-width:0}.book-panel{width:268px;flex:none;border-left:1px solid var(--line);background:var(--bg-elev);display:flex;flex-direction:column;min-height:0}.book-tabs{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--line);padding:0 6px 0 0}.book-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:7px 10px;cursor:pointer;font-size:12px}.book-tabs button.on{color:var(--text);border-bottom-color:var(--gold);font-weight:600}.book-body{flex:1;overflow:auto;font-variant-numeric:tabular-nums}.book-row{display:grid;grid-template-columns:1.15fr 1fr 1fr;position:relative;padding:1px 8px;font-size:11px;line-height:1.55}.book-row>span{position:relative;z-index:1}.book-row span:nth-child(2),.book-row span:nth-child(3),.book-row span:nth-child(4){text-align:right}.book-row.head{color:var(--faint);font-size:10px;padding-top:4px;padding-bottom:4px}.book-bar{position:absolute;right:0;top:0;bottom:0;pointer-events:none}.book-bar.ask{background:#f6465d38}.book-bar.bid{background:#2ebd8538}.book-mid{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:6px 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-card)}.book-mid .mid-px{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.book-mid .spread{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.futures-chart .chart-book{min-height:360px}@media (max-width: 1100px){.chart-book{flex-direction:column}.book-panel{width:100%;border-left:0;border-top:1px solid var(--line);max-height:320px}}.equity-chart{width:100%;height:200px;display:block;margin-top:8px;background:var(--bg-soft);border-radius:6px;border:1px solid var(--line)}
