:root{color-scheme:dark;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;background:#05070a;color:#d7e0ea}*{box-sizing:border-box}body{margin:0;background:#05070a}button,input,select{font:inherit}.terminalShell{min-height:100vh;padding:8px}.denseTopbar{align-items:center;background:#09111a;border:1px solid #1d2b3a;display:grid;gap:10px;grid-template-columns:max-content 1fr max-content;min-height:34px;padding:6px 8px}.denseTopbar strong{color:#f0f6ff;font-size:14px;letter-spacing:.02em}.topbarCenter{display:flex;flex-direction:column;gap:4px;min-width:0}.topStats{color:#8ba0b7;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboardNav{display:flex;flex-wrap:wrap;gap:6px}.dashboardLink{border:1px solid #26384b;color:#9db1c8;font-size:11px;font-weight:700;padding:2px 8px;text-decoration:none}.dashboardLink:hover{border-color:#4b6682;color:#f0f6ff}.dashboardLink.active{border-color:#32d583;color:#32d583}.connection{border:1px solid #42566d;color:#9db1c8;font-size:11px;font-weight:800;padding:3px 8px}.connection.live{border-color:#32d583;color:#32d583}.connection.stale,.connection.error{border-color:#f97066;color:#f97066}.denseToolbar{align-items:center;background:#071018;border:1px solid #1d2b3a;border-top:0;display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px;position:sticky;top:0;z-index:20}.strategyToolbar{position:static}.denseToolbar input,.denseToolbar select{background:#02060a;border:1px solid #26384b;color:#d7e0ea;height:24px;min-width:70px;padding:2px 6px}.denseToolbar>input{flex:1 1 260px}.denseToolbar label{align-items:center;color:#8ba0b7;display:inline-flex;font-size:12px;gap:4px}.denseToolbar label input{width:74px}.toolbarValue{background:#02060a;border:1px solid #26384b;color:#f0f6ff;display:inline-flex;height:24px;align-items:center;padding:2px 8px;min-width:96px}.denseToolbar .checkLabel input{min-width:auto;width:auto}.cryptoQuickBtn{background:#0d1b2a;border:1px solid #f7931a;color:#f7931a;cursor:pointer;font-size:11px;font-weight:700;height:24px;padding:2px 8px}.cryptoQuickBtn:hover{background:#1a2d3d;color:#ffb347}.cryptoTimeframeBtns{display:inline-flex;gap:3px}.cryptoTfBtn{background:#02060a;border:1px solid #26384b;color:#8ba0b7;cursor:pointer;font-size:11px;font-weight:700;height:24px;padding:2px 6px}.cryptoTfBtn:hover{border-color:#4b6682;color:#d7e0ea}.cryptoTfBtn.on{background:#0d1b2a;border-color:#f7931a;color:#f7931a}.statusLine,.noticeLine{align-items:center;background:#060b11;border-left:1px solid #1d2b3a;border-right:1px solid #1d2b3a;color:#8ba0b7;display:flex;flex-wrap:wrap;font-size:12px;gap:12px;min-height:26px;padding:4px 8px}.noticeLine{border-bottom:1px solid #1d2b3a;color:#d9b86f;min-height:24px}.executionConsole{background:#070b10;border-left:1px solid #1d2b3a;border-right:1px solid #1d2b3a;color:#9db1c8;font-size:12px;padding:8px}.executionHeader{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.executionHeader strong{color:#f0f6ff}.readyPill,.blockedPill{border:1px solid #42566d;font-weight:900;padding:2px 8px}.readyPill{border-color:#32d583;color:#32d583}.blockedPill{border-color:#f97066;color:#f97066}.executionUnlock{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.executionUnlock input{background:#02060a;border:1px solid #26384b;color:#d7e0ea;height:26px;min-width:220px;padding:2px 8px}.executionUnlock button,.executionCard button{background:#0d1a26;border:1px solid #42566d;color:#d7e0ea;cursor:pointer;height:26px;padding:2px 10px}.executionGrid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(220px,1fr))}.executionCard{background:#05080d;border:1px solid #1d2b3a;min-height:82px;padding:8px}.wideExecutionCard{grid-column:span 2}.executionCard h3{color:#ffd166;font-size:12px;margin:0 0 6px;text-transform:uppercase}.orderTicketCard{grid-column:1 / -1;min-height:120px}.ticketHeader{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.ticketHeader h3{margin:0}.ticketPill{border:1px solid #42566d;color:#9db1c8;font-size:11px;font-weight:900;padding:3px 8px;text-transform:uppercase}.ticketPill.ready,.ticketSuccess{border-color:#32d583;color:#32d583}.ticketPill.blocked,.ticketPill.failed,.ticketFailure{border-color:#f97066;color:#f97066}.ticketPill.submitting,.ticketPill.checking{border-color:#ffd166;color:#ffd166}.ticketSummary{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}.ticketSummary b{color:#f0f6ff;font-size:14px}.inlineLink{color:#60a5fa;font-weight:800;text-decoration:none}.inlineLink:hover{color:#d7e6ff}.ticketGrid{display:grid;gap:6px;grid-template-columns:repeat(6,minmax(130px,1fr))}.stateGrid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.stateBadge{background:#071018;border:1px solid #182739;padding:6px}.stateBadge small,.stateBadge span{color:#718196;display:block}.stateBadge b{display:block;font-size:14px;margin:3px 0}.stateBadge.running{border-color:#32d583}.stateBadge.running b{color:#32d583}.stateBadge.paused{border-color:#ffd166}.stateBadge.paused b{color:#ffd166}.stateBadge.locked{border-color:#f97066}.stateBadge.locked b{color:#f97066}.ticketBlockers,.ticketWarnings{border-left:2px solid #f97066;margin-top:8px;padding-left:8px}.ticketWarnings{border-left-color:#ffd166}.ticketBlockers b,.ticketWarnings b{color:#f0f6ff}.ticketBlockers p,.ticketWarnings p{margin:3px 0}.ticketActions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.submitLiveButton{background:#11251c!important;border-color:#32d583!important;color:#32d583!important;font-weight:900;min-width:150px}.submitLiveButton:disabled{cursor:not-allowed;opacity:.45}.executionCard p{margin:0 0 5px}.executionCard small{color:#718196;display:block;margin-top:2px}.metricGrid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.metricTile{background:#071018;border:1px solid #182739;padding:6px}.metricTile small,.metricTile span{color:#718196;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metricTile b{color:#f0f6ff;display:block;font-size:15px;margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manualControls{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.manualControls label{align-items:center;color:#8ba0b7;display:inline-flex;font-size:12px;gap:4px}.manualControls input,.manualControls select{background:#02060a;border:1px solid #26384b;color:#d7e0ea;height:24px;min-width:74px;padding:2px 6px}.autopilotBuilder{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(140px,1fr));margin-bottom:8px}.autopilotBuilder label{color:#8ba0b7;display:flex;flex-direction:column;font-size:11px;font-weight:800;gap:4px;text-transform:uppercase}.autopilotBuilder input,.autopilotBuilder select,.builderControl{background:#02060a;border:1px solid #26384b;color:#d7e0ea;height:28px;min-width:0;padding:3px 6px;text-transform:none}.autopilotBuilder .inlineCheck{align-items:center;display:inline-flex;gap:6px}.autopilotBuilder .inlineCheck input{height:auto;width:auto}.builderMultiSelect{display:grid;gap:6px;grid-column:span 3;grid-template-columns:repeat(3,minmax(0,1fr))}.builderMultiSelect .checkLabel{align-items:center;border:1px solid #1d2b3a;border-radius:4px;flex-direction:row;justify-content:space-between;padding:6px}.builderSummary{display:grid;gap:6px;grid-column:span 3;grid-template-columns:repeat(2,minmax(0,1fr))}.strategyActions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.strategyHelp{border-left:2px solid #ffd166;color:#d9b86f;padding-left:8px}.strategyList{display:grid;gap:5px;margin-top:6px}.strategyRow{align-items:center;border:1px solid #101923;display:grid;gap:6px;grid-template-columns:1fr max-content max-content max-content max-content;min-height:34px;padding:5px}.strategyRow.selected{border-color:#ffd166}.strategyRow b{color:#f0f6ff}.strategyRow em{font-size:10px;font-style:normal;font-weight:900}.strategyRow button{min-width:54px}.systemRow,.orderRow{align-items:center;border-bottom:1px solid #101923;display:grid;gap:6px;grid-template-columns:max-content 1fr max-content max-content;min-height:30px;padding:3px 0}.systemRow.selected,.selectedLine{color:#ffd166}.systemRow b,.orderRow b{color:#f0f6ff}.systemRow em{color:#7f91a5;font-size:10px;font-style:normal;font-weight:900}.okText{color:#32d583!important}.warnText{color:#f97066!important}.orderList{max-height:220px;overflow:auto}.orderRow{grid-template-columns:max-content 1fr}.richOrderRow small{white-space:normal}.dangerButton{background:#2a0b12!important;border-color:#f97066!important;color:#f97066!important;font-weight:900;min-width:28px}.redeemablePosition{border-left:2px solid #ffd166;padding-left:8px}.executionCard button:disabled{cursor:not-allowed;opacity:.55}.rangeText,.dryRun{color:#ffd166}.execMode{color:#9db1c8}.marketTable{background:#05070a;border:1px solid #1d2b3a;border-top:0}.tableHeader,.marketRow{display:grid;grid-template-columns:76px 54px minmax(240px,1.1fr) minmax(300px,1.35fr) 170px 170px 72px 58px 58px 154px;min-width:1380px}.tableHeader{align-items:center;background:#0b121a;border-bottom:1px solid #26384b;color:#7f91a5;font-size:11px;font-weight:800;height:24px;padding-right:12px;position:sticky;text-transform:uppercase;top:37px;z-index:15}.tableHeader span{min-width:0;overflow:hidden;padding:0 6px;text-overflow:ellipsis;white-space:nowrap}.tableScroller{height:calc(100vh - 560px);min-height:320px;overflow:auto;scrollbar-gutter:stable both-edges}.marketRow{align-items:center;border-bottom:1px solid #101923;color:#cad7e6;font-size:12px;height:44px;left:0;line-height:1.1;position:absolute;right:0;top:0}.marketRow:nth-child(2n){background:#070b10}.marketRow:hover{background:#101923}.marketRow.match{background:#ffd1660e}.marketRow.stale{opacity:.58}.cell{min-width:0;overflow:hidden;padding:0 6px;text-overflow:ellipsis;white-space:nowrap}.closeCell{color:#ffd166;font-size:14px;font-weight:900}.closingSoon .closeCell{color:#ff6b6b}.stateCell{color:#9db1c8;font-weight:800}.stateCell.live{color:#32d583}.stateCell.prematch{color:#60a5fa}.stateCell.future{color:#c3b1ff}.eventCell,.marketCell{align-items:baseline;display:flex;gap:6px}.priceCell{display:flex;flex-direction:column;gap:2px;justify-content:center}.priceMain{align-items:baseline;display:flex;gap:6px}.eventCell b,.marketCell b,.priceCell b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eventCell small,.marketCell small{color:#718196;flex:0 0 auto}.trendBadge{border:1px solid #33465c;color:#7f91a5;font-size:11px;font-weight:800;margin-left:auto;min-width:18px;padding:1px 4px;text-align:center}.trendBadge.up{border-color:#32d583;color:#32d583}.trendBadge.down{border-color:#f97066;color:#f97066}.priceCell b{color:#8ba0b7;font-size:11px;max-width:58px}.priceCell strong{color:#f0f6ff;font-size:13px;margin-left:auto}.priceDepth,.pricePlan{color:#718196;font-size:10px;overflow:visible;white-space:nowrap}.pricePlan{color:#9db1c8}.hotPrice strong,.marketRow.match .spreadCell{color:#ffd166;font-weight:900}.spreadCell,.ageCell{color:#9db1c8;text-align:right}.linkCell{color:#60a5fa;font-weight:800;text-decoration:none}.linkCell:hover{color:#d7e6ff}.execBtn{background:#0a1118;border:1px solid #33465c;color:#d7e0ea;cursor:pointer;height:22px;min-width:66px;overflow:hidden;padding:0 5px;text-overflow:ellipsis;white-space:nowrap}.execBtn.hotExec{border-color:#ffd166;color:#ffd166}.execBtn:not(:disabled):hover{background:#132033}.execBtn:disabled{cursor:not-allowed;opacity:.35}@media (max-width: 1100px){.wideExecutionCard{grid-column:1 / -1}.autopilotBuilder{grid-template-columns:repeat(2,minmax(130px,1fr))}.builderSummary{grid-column:span 2}.builderMultiSelect{grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr))}.tableHeader,.marketRow{grid-template-columns:68px 48px minmax(160px,1fr) minmax(190px,1fr) 94px 94px 58px 48px 50px 120px}.denseTopbar{grid-template-columns:1fr max-content}.topStats{grid-column:1 / -1;grid-row:2}}:root{--bg: #05070a;--bg-1: #09111a;--bg-2: #0e1722;--bg-3: #16222f;--line: #1d2b3a;--line-2: #2c3f54;--txt: #d7e0ea;--txt-2: #93a4b7;--txt-3: #64748b;--accent: #4da3ff;--buy: #26c281;--sell: #f2536d;--warn: #f0b429;--live: #ff5277;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace}html,body,#root{height:100%;margin:0}body{overflow:hidden}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap}.app{display:flex;flex-direction:column;height:100dvh;width:100vw;max-width:100vw;overflow:hidden;padding:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom));gap:6px}.app-main{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;gap:6px}.gate{height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.gate-card{display:flex;flex-direction:column;gap:10px;width:min(320px,90vw);background:var(--bg-1);border:1px solid var(--line);padding:22px;border-radius:8px}.gate-brand{font-family:var(--mono);font-size:26px;font-weight:800;color:var(--accent);letter-spacing:.14em}.gate-sub{color:var(--txt-3);font-size:11px;letter-spacing:.1em}.gate-card input{background:var(--bg-2);border:1px solid var(--line-2);color:var(--txt);padding:10px;border-radius:4px;font-family:var(--mono)}.gate-card button{background:var(--accent);color:#04101f;border:0;padding:10px;border-radius:4px;font-weight:700}.gate-card button:disabled{opacity:.5;cursor:default}.gate-err{color:var(--sell);font-size:12px;min-height:14px;font-family:var(--mono)}.topbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bg-1);border:1px solid var(--line);padding:6px 8px;border-radius:4px}.topbar-brand{display:flex;align-items:baseline;gap:8px;min-width:0}.brand{font-family:var(--mono);font-weight:800;color:var(--accent);letter-spacing:.12em}.brand-sub{color:var(--txt-3);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-pills{display:flex;gap:4px}.pill{background:var(--bg-2);border:1px solid var(--line-2);color:var(--txt-2);padding:5px 10px;border-radius:999px;font-size:11px;letter-spacing:.05em;min-height:28px}.pill.active{background:var(--accent);border-color:var(--accent);color:#04101f;font-weight:700}.pill-short{display:none}.topbar-status{display:flex;align-items:center;gap:8px;margin-left:auto}.counts{color:var(--txt-2);font-size:11px;white-space:nowrap}.conn-badge{font-family:var(--mono);font-size:10px;padding:3px 8px;border-radius:3px;letter-spacing:.08em}.conn-badge.live{background:#26c28126;color:var(--buy)}.conn-badge.connecting,.conn-badge.reconnecting{background:#f0b42926;color:var(--warn)}.conn-badge.error{background:#f2536d2e;color:var(--sell)}.filters{display:flex;flex-direction:column;gap:6px;background:var(--bg-1);border:1px solid var(--line);padding:6px 8px;border-radius:4px}.filters-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filters .search{flex:1 1 180px;min-width:140px;background:var(--bg-2);border:1px solid var(--line-2);color:var(--txt);padding:7px 8px;border-radius:4px}.filters select{background:var(--bg-2);border:1px solid var(--line-2);color:var(--txt);padding:6px;border-radius:4px;min-height:30px}.filters .check{display:inline-flex;align-items:center;gap:5px;color:var(--txt-2);font-size:12px}.filters .mini{display:inline-flex;align-items:center;gap:4px;color:var(--txt-3);font-size:11px;font-family:var(--mono)}.filters .num-in{width:62px;background:var(--bg-2);border:1px solid var(--line-2);color:var(--txt);padding:5px;border-radius:4px;font-family:var(--mono)}.filters .num-in.wide{width:72px}.tf-pills{display:flex;gap:4px}.more-toggle{display:none}.statusLines{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 2px}.metricsLine{color:var(--txt-3);font-size:11px}.noticeLine{color:var(--warn);font-size:11px}.logToggle{background:none;border:0;color:var(--txt-3);font-size:11px;text-decoration:underline;padding:2px}.opsLog{flex-basis:100%;max-height:140px;overflow-y:auto;background:var(--bg-1);border:1px solid var(--line);border-radius:4px;padding:6px 8px}.opsLine{color:var(--txt-2);font-size:11px}.opsLog p{color:var(--txt-3);font-size:11px;margin:2px 0}.marketTable{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--bg-1);border:1px solid var(--line);border-radius:4px}.marketTable .tableHeader,.marketTable .marketRow{display:grid;grid-template-columns:58px 46px minmax(140px,1.2fr) minmax(140px,1fr) 108px 108px 64px 44px 46px 96px;gap:6px;align-items:center;padding:0 8px}.marketTable .tableHeader{border-bottom:1px solid var(--line);color:var(--txt-3);font-size:10px;letter-spacing:.08em;padding:6px 8px}.tableScroller{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;position:relative}.marketRow{position:absolute;left:0;right:0;width:100%;max-width:100%;min-width:0;border-bottom:1px solid var(--line);font-size:12px}.marketRow.match{background:#26c2810d}.marketRow.stale{opacity:.55}.marketRow.closingSoon .closeCell{color:var(--warn)}.marketRow .cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eventCell b,.marketCell b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.eventCell small,.marketCell small{color:var(--txt-3);font-size:10px}.stateCell{font-family:var(--mono);font-size:10px}.stateCell.live{color:var(--live);font-weight:700}.stateCell.prematch{color:var(--txt-2)}.stateCell.future{color:var(--txt-3)}.priceCell{display:flex;flex-direction:column;gap:1px}.priceMain{display:flex;gap:6px;align-items:baseline}.priceMain b{color:var(--txt-2);font-size:10px}.priceMain strong{font-size:13px}.priceCell.hotPrice .priceMain strong{color:var(--buy)}.priceDepth,.pricePlan{color:var(--txt-3);font-size:9px}.pricePlan{color:var(--accent)}.trendBadge.up{color:var(--buy)}.trendBadge.down{color:var(--sell)}.linkCell{color:var(--accent);font-size:10px;text-decoration:none}.actionCell{display:flex;gap:4px}.execBtn{background:var(--bg-3);border:1px solid var(--line-2);color:var(--txt);padding:5px 8px;border-radius:4px;font-size:11px;min-width:40px;min-height:28px}.execBtn:disabled{opacity:.35;cursor:default}.execBtn.hotExec{background:var(--buy);border-color:var(--buy);color:#03130c;font-weight:700}.emptyState{padding:30px 16px;color:var(--txt-2);text-align:center}.emptyState button{background:var(--bg-3);border:1px solid var(--line-2);color:var(--txt);padding:8px 12px;border-radius:4px;margin:4px}.execDrawer{overflow-y:auto;border:1px solid var(--line);border-radius:4px;background:var(--bg-1)}.ticketPanel{border:1px solid var(--accent);border-radius:6px;background:var(--bg-1)}@media (max-width: 760px){.app{padding:4px;gap:4px}.brand-sub,.pill-full{display:none}.pill-short,.exec-toggle .pill-full{display:inline}.counts{font-size:10px}.more-toggle{display:inline-block;margin-left:auto}.filters-secondary{display:none}.filters.open .filters-secondary{display:flex}.marketTable .tableHeader{display:none}.marketTable .marketRow{grid-template-columns:minmax(0,1fr) 84px 84px;grid-template-rows:auto auto auto;gap:3px 8px;padding:8px;align-content:center}.marketTable .marketRow>.closeCell,.marketTable .marketRow>.stateCell,.marketTable .marketRow>.spreadCell,.marketTable .marketRow>.ageCell,.marketTable .marketRow>.linkCell{display:none!important}.marketTable .marketRow>:nth-child(3){grid-column:1;grid-row:1}.marketTable .marketRow>:nth-child(4){grid-column:1;grid-row:2 / 4}.marketTable .marketRow>:nth-child(5){grid-column:2;grid-row:1 / 3}.marketTable .marketRow>:nth-child(6){grid-column:3;grid-row:1 / 3}.marketTable .marketRow>.actionCell{grid-column:2 / 4;grid-row:3;justify-content:flex-end}.marketRow .eventCell b,.marketRow .marketCell b{white-space:normal;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.marketRow .cell{white-space:normal;overflow:hidden}.marketRow .eventCell,.marketRow .marketCell{align-self:start}.priceCell{align-items:flex-start}.eventCell:before{content:none}.execBtn{min-height:40px;flex:1}.pill{min-height:34px}.execDrawer{position:fixed;inset:0;z-index:40;border-radius:0;padding-bottom:env(safe-area-inset-bottom);overflow-y:auto}.ticketPanel{position:fixed;left:0;right:0;bottom:0;z-index:50;max-height:82dvh;overflow-y:auto;border-radius:10px 10px 0 0;padding-bottom:env(safe-area-inset-bottom)}.executionGrid{grid-template-columns:1fr!important}}
