:root{color-scheme:dark;--bg:#10131a;--panel:#191e28;--border:#2c3444;--text:#f2f5fa;--muted:#9ba7b9;--accent:#8ee6c0;--blue:#a9c5ff;--warning:#ffd48a}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 0%,#1b2b30 0,transparent 34%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
.topbar{height:72px;border-bottom:1px solid #ffffff12;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1120px)/2));background:#10131acc;position:sticky;top:0;z-index:5;backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-size:18px;font-weight:750;text-decoration:none;letter-spacing:-.4px}.brand-mark{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:var(--accent);color:#10251e;font-weight:900}
.mode-pill,.tag{font-size:10px;letter-spacing:1px;font-weight:800;border:1px solid #8ee6c04d;color:var(--accent);background:#8ee6c012;padding:6px 9px;border-radius:99px;white-space:nowrap}.dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin:0 5px 1px 0}
.shell{max-width:1120px;padding:38px 22px 28px;margin:auto}.welcome{padding:15px 0 28px;display:flex;justify-content:space-between}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:var(--accent);margin:0 0 8px}
h1{font-size:clamp(32px,5vw,48px);line-height:1.08;letter-spacing:-1.8px;margin:0 0 14px}h1 span{color:var(--accent)}h2{font-size:19px;letter-spacing:-.5px;margin:0}.muted{color:var(--muted);margin:0;max-width:560px}.small{font-size:12px}
.stats-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin-bottom:16px}.panel{background:linear-gradient(145deg,#1b212c,#171c25);border:1px solid var(--border);border-radius:17px;padding:22px;min-width:0;box-shadow:0 10px 28px #00000012}.balance-panel{background:linear-gradient(135deg,#1d342f,#1b252d);border-color:#4c8d7760}
.label{font-size:12px;color:var(--muted);margin:0 0 8px}.stats-grid h2{font-size:clamp(20px,2.7vw,28px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.change{font-size:12px;margin:7px 0 0}.change span{color:var(--muted);margin-left:4px}.positive{color:var(--accent)}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.section-heading h2{margin-top:2px}.tag.neutral{color:var(--blue);border-color:#a9c5ff3b;background:#a9c5ff0d}
label{display:block;font-size:12px;color:#c8d0dc;margin:17px 0 8px}input[type=number]{width:100%;border:1px solid var(--border);border-radius:10px;background:#10151e;color:var(--text);padding:12px;font:inherit;outline:none}input:focus{border-color:var(--accent)}.range-row{display:flex;align-items:center;gap:14px}.range-row input{width:100%;accent-color:var(--accent)}.range-row strong{min-width:42px;text-align:right;font-size:13px}
.button{border:0;border-radius:10px;padding:11px 15px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;transition:transform .15s,opacity .15s}.button:active{transform:scale(.98)}.primary{background:var(--accent);color:#10251e;width:100%;margin-top:22px}.secondary{background:#ffffff08;border:1px solid var(--border);color:var(--muted)}.inline-message{font-size:11px;color:var(--muted);margin:10px 0 0;min-height:17px}
.watch-panel>.muted{margin-top:-12px;margin-bottom:16px}.market-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #ffffff0c}.coin-icon{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;font-size:19px;font-weight:800}.btc{background:#e6a24c20;color:#ffc36d}.eth{background:#a9c5ff1b;color:var(--blue)}.sol{background:#8ee6c01b;color:var(--accent)}
.market-name,.market-price{display:flex;flex-direction:column}.market-name strong,.market-price strong{font-size:13px}.market-name span,.market-price span{font-size:11px;color:var(--muted)}.market-price{margin-left:auto;text-align:right}.notice{font-size:11px;color:var(--muted);background:#ffffff06;border:1px solid #ffffff0c;border-radius:10px;padding:12px;margin-top:8px}.notice strong{color:var(--warning)}
.trades-panel{margin-top:16px}.empty-state{border:1px dashed #3a4353;border-radius:13px;padding:28px 18px;text-align:center;color:var(--muted)}.empty-state strong{display:block;color:var(--text);font-size:13px}.empty-state p{font-size:12px;margin:5px 0 0}.empty-icon{display:grid;place-items:center;margin:0 auto 10px;width:36px;height:36px;border-radius:12px;background:#8ee6c015;color:var(--accent);font-size:22px}
footer{display:flex;justify-content:space-between;gap:12px;padding:25px 2px 5px;color:#748093;font-size:11px}
@media(max-width:760px){.shell{padding:25px 15px}.topbar{height:62px;padding:0 15px}.welcome{padding-top:12px}.stats-grid{grid-template-columns:1fr 1fr}.balance-panel{grid-column:1/-1}.content-grid{grid-template-columns:1fr}.panel{padding:18px}.trades-panel .section-heading{align-items:flex-start}.trades-panel .button{padding:9px;font-size:11px}footer{flex-direction:column;gap:4px}}
@media(max-width:360px){.mode-pill{font-size:9px;padding:5px 7px}.brand{font-size:16px}.stats-grid h2{font-size:20px}}

.status-strip{display:flex;align-items:center;gap:9px;border:1px solid #8ee6c033;background:#8ee6c00a;color:var(--muted);padding:11px 14px;border-radius:11px;font-size:12px;margin-bottom:16px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
.venue-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-top:1px solid #ffffff0c}.venue-logo{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-weight:850}.kraken{background:#a9c5ff18;color:var(--blue)}.swissborg{background:#8ee6c018;color:var(--accent)}.venue-copy{display:flex;flex-direction:column;min-width:0;flex:1}.venue-copy strong{font-size:13px}.venue-copy span{font-size:10px;color:var(--muted)}.venue-state{font-size:9px;font-weight:800;white-space:nowrap;border-radius:99px;padding:5px 7px}.venue-state.pending{color:var(--warning);background:#ffd48a12}.venue-state.blocked{color:#ffb1b1;background:#ff858512}
.subheading{margin:24px 0 8px}.strategy-list{padding-left:18px;margin:0;color:var(--muted);font-size:12px}.strategy-list li{padding:5px 0}.backtest-panel{margin-top:16px}.backtest-copy{margin-top:-10px;margin-bottom:18px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row .primary{width:auto;margin-top:0}.button-row .secondary{margin-top:0}
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.metric{border:1px solid var(--border);background:#ffffff04;border-radius:11px;padding:12px;display:flex;flex-direction:column;gap:5px;min-width:0}.metric span{font-size:10px;color:var(--muted)}.metric strong{font-size:18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.negative{color:#ff9f9f!important}.trade-table{border:1px solid var(--border);border-radius:12px;overflow:hidden}.trade-header,.trade-row{display:grid;grid-template-columns:.65fr 1.35fr 1fr 1fr;gap:10px;align-items:center;padding:11px 13px}.trade-header{font-size:10px;color:var(--muted);background:#ffffff05}.trade-row{border-top:1px solid #ffffff0c;font-size:11px}.trade-row>span:nth-child(2){display:flex;flex-direction:column}.trade-row small{color:var(--muted);font-size:10px}.trade-number{text-align:right;font-variant-numeric:tabular-nums}.trade-side{font-weight:850;font-size:10px}.trade-side.buy{color:var(--accent)}.trade-side.sell{color:var(--blue)}.trade-table>.muted{padding:0 13px 10px}
@media(max-width:600px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.venue-state{font-size:8px}.trade-header,.trade-row{grid-template-columns:.55fr 1.25fr .9fr 1fr;gap:6px;padding:10px 8px}.trade-number{font-size:10px}.trade-header{font-size:9px}.metric strong{font-size:16px}}


.market-controls{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin:16px 0 6px}.market-controls label{margin-top:0}.market-controls select{width:100%;background:#10151e;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px;font:inherit;font-size:13px;min-height:46px}.market-controls select:focus{outline:1px solid var(--accent)}.market-controls button{min-height:46px}.market-controls button:disabled{opacity:.6;cursor:wait}
@media(max-width:650px){.market-controls{grid-template-columns:1fr 1fr}.market-controls button{grid-column:1/-1;width:100%}}

.monitor-panel{margin-top:16px}.monitor-actions{display:flex;gap:10px;margin:12px 0}.monitor-actions .primary{width:auto;margin:0}.monitor-actions .secondary{min-width:88px}.monitor-actions button:disabled{opacity:.45;cursor:not-allowed}.monitor-status{margin:12px 0}.status-dot.good{background:var(--accent)}.status-dot.bad{background:#ff9f9f}.status-dot.neutral{background:var(--muted)}.monitor-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.monitor-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:11px}.monitor-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.monitor-table th,.monitor-table td{padding:11px 12px;text-align:right;border-bottom:1px solid #ffffff0c;font-variant-numeric:tabular-nums}.monitor-table th:first-child,.monitor-table td:first-child{text-align:left}.monitor-table th{color:var(--muted);font-size:10px;font-weight:650;background:#ffffff05}.monitor-table tbody tr:last-child td{border-bottom:0}.monitor-empty{text-align:center!important;color:var(--muted);padding:22px!important}.monitor-signal{display:inline-block;color:var(--accent);background:#8ee6c014;border:1px solid #8ee6c03b;border-radius:99px;padding:3px 7px;font-size:10px}.monitor-panel .inline-message{max-width:none}.monitor-panel .inline-message strong{color:var(--warning)}
@media(max-width:600px){.monitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-actions .button{flex:1}.monitor-table th,.monitor-table td{padding:10px 8px;font-size:11px}}

/* Historical backtest is optional and collapsed by default. */
#strategyTestingPanel[hidden]{display:none}.testing-toggle-panel{margin-top:24px}.testing-toggle-panel .section-heading{align-items:center}.testing-toggle-panel h2{margin-bottom:4px}

.diagnostics-panel{margin-top:18px}.diagnostics-panel .metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:540px){.diagnostics-panel .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
