:root{--chart-stage-height:min(680px, calc(100vh - 265px));--analysis-panel-width:380px;color:#d9e5f2;font-synthesis:none;background:#050b14;font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% -10%,#286c9a47,#0000 30%),#050b14;min-width:960px;min-height:100vh;margin:0}button,select{color:inherit;font:inherit}button{cursor:pointer}.market-page{width:min(1500px,100vw - 48px);margin:0 auto;padding:30px 0 42px}.page-header{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.page-header h1{color:#f1f7ff;letter-spacing:-.04em;margin:3px 0 6px;font-size:30px}.page-header p{color:#7f94ad;margin:0}.page-header .eyebrow{color:#38d8b9;letter-spacing:.17em;font-size:11px;font-weight:700}.dataset-badge{background:#091624d9;border:1px solid #1e3852;border-radius:10px;gap:5px;padding:10px 14px;display:grid}.dataset-badge span{color:#71879e;font-size:11px}.dataset-badge strong{color:#b9cce0;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.chart-shell{background:#07111f;border:1px solid #1b2c42;border-radius:14px;overflow:hidden;box-shadow:0 22px 60px #0000004d}.market-toolbar{background:#0a1726;border-bottom:1px solid #16283d;flex-wrap:wrap;align-items:end;gap:12px;min-height:68px;padding:12px 16px;display:flex}.market-toolbar label{gap:5px;display:grid}.market-toolbar label span{color:#71869c;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.market-toolbar .toolbar-toggle{background:#0d1d2e;border:1px solid #28415b;border-radius:7px;flex-direction:row;align-items:center;gap:8px;min-height:34px;padding:0 10px;display:flex}.market-toolbar .toolbar-toggle input{accent-color:#facc15;width:16px;height:16px;margin:0}.market-toolbar .live-state{color:#8ca0b3;font-size:11px}.market-toolbar .live-state[data-state=live]{color:#58e2c8}.market-toolbar .live-state[data-state=stale],.market-toolbar .live-state[data-state=error]{color:#fb7185}.market-toolbar select,.market-toolbar button{background:#0d1d2e;border:1px solid #28415b;border-radius:7px;height:34px}.market-toolbar select{min-width:104px;padding:0 32px 0 10px}.market-toolbar>button{margin-left:auto;padding:0 14px}.market-toolbar button:hover{color:#58e2c8;border-color:#38bfa8}.replay-range{border-left:1px solid #1b3149;flex-wrap:wrap;align-items:end;gap:10px;padding-left:14px;display:flex}.replay-range label{gap:5px;display:grid}.replay-range label span{color:#71869c;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.replay-range input{height:34px;color:inherit;font:inherit;background:#0d1d2e;border:1px solid #28415b;border-radius:7px;padding:0 8px;font-size:12px}.replay-range input:focus-visible{border-color:#38bfa8;outline:none}.replay-apply{color:#eff7ff;background:#1c3d59;padding:0 14px;font-size:12px}.replay-apply:disabled{color:#6f8399;cursor:not-allowed}.replay-shortcuts{align-items:center;gap:2px;height:34px;display:flex}.replay-shortcuts button{color:#98aac0;background:0 0;border:0;border-radius:6px;height:30px;padding:0 9px;font-size:12px}.replay-shortcuts button:hover:not(:disabled){color:#e4edf7;background:#14283c}.replay-shortcuts button.active{color:#eff7ff;background:#24445e;box-shadow:inset 0 -2px #38d8b9}.replay-shortcuts button:disabled{color:#566b80;cursor:not-allowed}.replay-error{color:#ff9db1;flex-basis:100%;margin:0;font-size:11px}.timeframe-toolbar,.range-toolbar{background:#081522;border-bottom:1px solid #16283d;align-items:center;gap:2px;min-height:42px;padding:4px 12px;display:flex}.range-toolbar{border-top:1px solid #16283d;border-bottom:0;min-height:38px}.timeframe-toolbar button,.range-toolbar button{color:#98aac0;background:0 0;border:0;border-radius:6px;min-width:42px;height:30px;padding:0 9px;font-size:12px}.timeframe-toolbar button:hover,.range-toolbar button:hover{color:#e4edf7;background:#14283c}.timeframe-toolbar button.active,.range-toolbar button.active{color:#eff7ff;background:#24445e;box-shadow:inset 0 -2px #38d8b9}.crosshair-legend{color:#b5c6d8;border-bottom:1px solid #13243a;align-items:center;gap:18px;min-height:38px;padding:0 16px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;display:flex}.crosshair-legend.muted{color:#667b91}.live-pill,.warning-pill{border-radius:999px;padding:3px 7px;font-family:inherit}.live-pill{color:#58e2c8;background:#21c7a81f}.warning-pill{color:#ffca6a;background:#ffb53d1f}.chart-stage{height:var(--chart-stage-height);min-height:480px;position:relative}.structure-workspace{grid-template-columns:minmax(0, 1fr) var(--analysis-panel-width);display:grid}.analysis-panel{min-height:480px;max-height:var(--chart-stage-height);background:#081522;border-left:1px solid #16283d;flex-direction:column;display:flex;overflow-y:auto}.panel-section{border-bottom:1px solid #16283d;flex:none}.panel-section.open{flex-direction:column;flex:auto;min-height:0;display:flex}.panel-section-header{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:8px 12px;display:flex}.panel-section-header:hover{background:#0c1c2c}.panel-section-caret{color:#71869c;width:10px;font-size:10px}.panel-section-title{flex:1;gap:4px;display:grid}.analysis-panel .panel-section-title{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.analysis-panel .structure-count{min-width:22px;height:22px}.analysis-panel-asof{color:#8ea3b8;border-bottom:1px solid #16283d;flex:none;margin:0;padding:7px 12px;font-size:11px}.panel-section-title span{color:#71869c;font-size:10px}.panel-section-title strong{color:#e7eff8;font-size:14px}.panel-section-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.structure-range-form span,.vegas-timeframe-form span{color:#71869c;font-size:10px}.structure-count{background:#c13cff26;border-radius:999px;place-items:center;min-width:28px;height:28px;display:grid;color:#dcb5ff!important}.structure-range-form,.vegas-timeframe-form{border-bottom:1px solid #16283d;gap:9px;padding:12px 14px;display:grid}.structure-replayed-range{color:#8ea3b8;margin:0;padding:11px 14px 0;font-size:11px;line-height:1.5}.structure-analysis-capped{color:#e8c37a;background:#2a210f;border-top:1px solid #4a3818;border-bottom:1px solid #4a3818;flex-direction:column;align-items:flex-start;gap:8px;margin:8px 0 0;padding:10px 14px;font-size:11px;line-height:1.6;display:flex}.structure-analysis-capped button{color:#f0d79a;cursor:pointer;background:#3a2c12;border:1px solid #7a5c1f;border-radius:4px;padding:4px 10px;font-size:11px}.structure-analysis-capped button:hover{background:#4a3818}.structure-ended-toggle{color:#8ea3b8;border-bottom:1px solid #16283d;align-items:center;gap:8px;padding:10px 14px;font-size:11px;display:flex}.structure-ended-toggle input{accent-color:#a855f7}.structure-ended-toggle:has(input:disabled){opacity:.55}.vegas-legend-block{border-bottom:1px solid #16283d}.vegas-drawn-timeframe{color:#8ea3b8;margin:0;padding:8px 14px 0;font-size:10px}.vegas-drawn-timeframe strong{color:#d7e3ef}.vegas-legend{color:#8ea3b8;gap:4px;margin:0;padding:8px 14px;font-size:10px;list-style:none;display:grid}.vegas-legend li{align-items:center;gap:7px;display:flex}.vegas-legend-swatch{border-top:2px solid var(--legend-color);width:18px;height:0}.vegas-legend-swatch[data-dashed=true]{border-top-style:dashed}.vegas-search-block{border-bottom:1px solid #16283d;gap:8px;padding:12px 14px;display:grid}.vegas-search-button{color:#e3b9ff;background:#66258940;border:1px solid #714093;border-radius:6px;height:32px}.vegas-search-button:disabled{cursor:wait;opacity:.6}.vegas-search-block .structure-detail,.vegas-search-block .structure-empty,.vegas-search-block .structure-error{color:#748ba2;padding:0;font-size:10px;line-height:1.6}.vegas-search-block .structure-error{color:#ff9bb0}.vegas-search-result{gap:6px;display:grid}.vegas-search-answer{color:#c8d7e6;margin:0;font-size:11px}.vegas-search-answer strong{color:#e3b9ff;font-size:12px}.vegas-search-result>button{color:#c8d7e6;background:#0d1d2e;border:1px solid #28415b;border-radius:6px;height:28px}.vegas-search-result>button:disabled{cursor:wait;opacity:.6}.vegas-search-trail summary{cursor:pointer;color:#71869c;font-size:10px}.vegas-search-trail ul{color:#8ea3b8;gap:3px;margin:6px 0 0;padding:0;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;list-style:none;display:grid}.vegas-search-trail strong{color:#d7e3ef}.structure-range-form label,.vegas-timeframe-form label{gap:4px;display:grid}.structure-range-form input,.structure-range-form button,.vegas-timeframe-form input,.vegas-timeframe-form button{color:#c8d7e6;background:#0d1d2e;border:1px solid #28415b;border-radius:6px;width:100%;height:32px}.structure-range-form input,.vegas-timeframe-form input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:0 8px}.structure-range-form button,.vegas-timeframe-form button{color:#e3b9ff;background:#66258940;border-color:#714093}.structure-range-form button:disabled,.vegas-timeframe-form button:disabled{cursor:wait;opacity:.6}.vegas-score{color:#e3b9ff;font-size:12px;font-weight:600}.direction-tag.none{color:#8ea3b8;background:#8ea3b826}.structure-card-select:disabled{cursor:not-allowed}.structure-list{gap:8px;padding:10px;display:grid;overflow-y:auto}.go-live-button{z-index:4;color:#72f1df;background:#0b2430e6;border-color:#28d7c0;position:absolute;bottom:1rem;right:1rem}.structure-card{color:#8ea3b8;background:#0b1a2a;border:1px solid #203850;border-radius:8px;position:relative}.structure-card.ended{opacity:.9;background:#101824;border-style:dashed}.structure-card-select{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:auto 1fr;gap:7px 9px;padding:11px 50px 11px 11px;display:grid}.structure-card strong{color:#d7e3ef;align-self:center;font-size:12px}.structure-card-select>.structure-detail{grid-column:1/-1;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.structure-status{border-radius:999px;justify-self:start;padding:2px 6px;font-family:inherit!important}.structure-status.active{color:#65e8cf;background:#21c7a81f}.structure-status.ended{color:#ffca6a;background:#ffb53d1f}.structure-end-reasons{color:#ffca6a}.triangle-state{border-radius:999px;justify-self:start;padding:2px 6px;font-family:inherit!important}.triangle-state.potential{color:#9db8d4;background:#789ec424}.triangle-state.minor_broken{color:#65e8cf;background:#21c7a81f}.triangle-state.confirmed{color:#8ce99a;background:#69db7c24}.triangle-state.widened{color:#b6a8f0;background:#9a85f024}.triangle-state.invalidated{color:#ffca6a;background:#ffb53d1f}.structure-card:hover,.structure-card.selected{border-color:var(--structure-color,#a855f7);box-shadow:inset 3px 0 var(--structure-color,#a855f7);background:#561d7538}.structure-color-picker{color:#71869c;justify-items:center;gap:2px;font-size:9px;display:grid;position:absolute;top:9px;right:9px}.structure-color-picker input{cursor:pointer;background:#07111f;border:1px solid #2b435d;border-radius:5px;width:30px;height:24px;padding:2px}.chain-jump{color:#9fc2e8;white-space:nowrap;background:#0b1a2c;border:1px solid #2b435d;border-radius:5px;flex:none;padding:1px 6px;font-size:11px;line-height:1.5}.chain-jump:hover{color:#38d8b9;background:#38d8b914;border-color:#38d8b9}.five-wave-chain-list{margin:0;padding:0;list-style:none}.five-wave-chain-row{border-top:1px solid #2b435d73;gap:2px;padding:6px 12px;font-size:11px;display:grid}.five-wave-chain-row label{cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;display:flex}.chain-tier{color:#cfe0f2;font-family:SFMono-Regular,Consolas,monospace}.five-wave-chain-tier{margin:8px 0 0}.five-wave-chain-tier-head{flex-wrap:wrap;align-items:center;gap:4px 8px;padding:0 12px 4px;font-size:11px;display:flex}.trend-derive-bar{align-items:center;gap:6px;padding:8px 12px 0;display:flex}.trend-derive,.trend-visibility{color:#9fc2e8;white-space:nowrap;background:#0b1a2c;border:1px solid #2b435d;border-radius:5px;flex:none;padding:3px 10px;font-size:11px;line-height:1.5}.trend-derive:hover:not(:disabled),.trend-visibility:hover{color:#38d8b9;background:#38d8b914;border-color:#38d8b9}.trend-derive:disabled{color:#56728f;cursor:wait}.trend-visibility.active{color:#38d8b9;border-color:#38d8b9}.trend-stale{color:#ffd08a;background:#f59e0b14;border:1px solid #f59e0b66;border-radius:5px;margin:8px 12px 0;padding:6px 8px;font-size:11px}.trend-tier-summary{color:#7f94ad;padding:8px 12px 0;font-size:11px}.holomap-on-demand{color:#7f94ad;align-items:center;gap:4px;font-size:11px;display:inline-flex}.holomap-level{border-bottom:1px solid #7f94ad26;padding-bottom:8px}.holomap-trend{cursor:default}.trend-level-head{color:#9fc2e8;border-bottom:1px solid #7f94ad40;margin-top:8px;padding:2px 12px;font-size:11px;font-weight:600}.trend-list{margin:6px 0 0;padding:0 12px 8px;list-style:none;overflow-y:auto}.trend-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px solid #2b435d73;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 4px;font-size:11px;display:flex}.trend-row:hover{background:#3884d814}.trend-row.selected{background:#38d8b91a;border-radius:4px;outline:1px solid #38d8b973}.trend-ordinal{color:#7f94ad;font-variant-numeric:tabular-nums;flex:none;min-width:16px}.trend-status{color:#9fc2e8}.trend-break{color:#ff9bb0;background:#f05b7829;border-radius:999px;padding:2px 7px;font-size:10px}.trend-span,.trend-members{color:#7f94ad}.trend-death{color:#c8a3ff}.trend-unrecognized{color:#ffd08a;background:#f59e0b24;border-radius:999px;padding:2px 7px;font-size:10px}.lead-row>.chain-jump{margin-left:auto}.lead-list{margin:6px 0 0;padding:0 12px 8px;list-style:none;overflow-y:auto}.lead-row{border-top:1px solid #2b435d73;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 0;font-size:11px;display:flex}.lead-row label{align-items:center;gap:6px;display:flex}.lead-origin{color:#7f94ad}.lead-unreachable{color:#ffd08a;background:#f59e0b24;border-radius:999px;padding:2px 7px;font-size:10px}.trend-hint{color:#56728f;padding:4px 14px 10px;font-size:11px}.direction-tag{border-radius:999px;padding:3px 7px;font-size:10px}.direction-tag.bullish,.direction-tag.direction-bullish{color:#65e8cf;background:#21c7a81f}.direction-tag.bearish,.direction-tag.direction-bearish{color:#ff9bb0;background:#f05b781f}.structure-empty,.structure-error,.panel-status,.panel-error{color:#748ba2;margin:0;padding:12px 14px;font-size:11px}.structure-error,.panel-error{color:#ff9bb0;justify-content:space-between;display:flex}.structure-error button,.panel-error button{color:inherit;cursor:pointer;background:0 0;border:0}.market-chart{width:100%;height:100%}.chart-status{color:#7890a9;background:#07111fd1;place-items:center;display:grid;position:absolute;inset:0}.older-loading{pointer-events:none;color:#a9bdd1;background:#0a1a2aeb;border:1px solid #254661;border-radius:999px;padding:6px 11px;font-size:11px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.error-banner{color:#ff9bb0;background:#72192d29;border-top:1px solid #f05b7840;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.error-banner button{background:0 0;border:1px solid #824154;border-radius:6px;padding:5px 12px}.chart-footer{color:#667d95;border-top:1px solid #16283d;align-items:center;gap:24px;min-height:40px;padding:0 16px;font-size:11px;display:flex}.chart-footer span:last-child{margin-left:auto}@media (width<=1100px){body{min-width:720px}.market-page{width:calc(100vw - 24px);padding-top:14px}.compact-timeframe{display:none!important}.structure-workspace{grid-template-columns:1fr}.analysis-panel{border-top:1px solid #16283d;border-left:0;max-height:none}}.app-nav{background:#0f131c;border-bottom:1px solid #2a2e39;gap:6px;padding:10px 16px;display:flex}.app-nav button{color:#9598a1;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 16px;font-size:13px;transition:background .15s,color .15s,border-color .15s}.app-nav button:hover{color:#d1d4dc;background:#2962ff14}.app-nav button.active{color:#79a6ff;background:#2962ff24;border-color:#2962ff73;font-weight:600}.backtest-lab{flex-direction:column;gap:12px;padding:12px 16px;display:flex}.backtest-controls{background:#131722;border:1px solid #2a2e39;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 16px;display:flex}.backtest-controls label{color:#9598a1;flex-direction:column;gap:4px;font-size:12px;display:flex}.backtest-controls input{color:#d1d4dc;background:#0f131c;border:1px solid #2a2e39;border-radius:6px;padding:6px 8px;font-size:13px}.backtest-controls input:focus{border-color:#2962ff99;outline:none}.backtest-controls>button[type=submit]{color:#fff;cursor:pointer;background:#2962ff;border:1px solid #2962ff;border-radius:6px;padding:7px 20px;font-size:13px;font-weight:600;transition:filter .15s}.backtest-controls>button[type=submit]:hover:enabled{filter:brightness(1.15)}.backtest-controls>button[type=submit]:disabled{opacity:.5;cursor:default}.backtest-error{color:#ef5350;margin:0}.backtest-status{color:#9598a1;margin:0}.backtest-results{flex-direction:column;gap:8px;display:flex}.backtest-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:0;display:grid}.backtest-metrics dt{color:#9598a1;font-size:12px}.backtest-stats,.backtest-trades{border-collapse:collapse;width:100%;font-size:13px}.backtest-stats th,.backtest-stats td,.backtest-trades th,.backtest-trades td{text-align:left;border-bottom:1px solid #22263130;padding:6px 10px}.backtest-stats th,.backtest-trades th{color:#9598a1;border-bottom:1px solid #2a2e39;font-size:12px;font-weight:500}.backtest-stats tbody tr:nth-child(2n),.backtest-trades tbody tr:nth-child(2n){background:#94a3b80a}.backtest-trades tbody tr{cursor:pointer;transition:background .1s}.backtest-trades tbody tr:hover{background:#2962ff14}.backtest-trades tbody tr.selected{background:#2962ff26}.backtest-trades td.gain{color:#26a69a}.backtest-trades td.loss{color:#ef5350}.rule-badge,.defense-badge{color:#b7bcc7;white-space:nowrap;cursor:help;background:#94a3b814;border:1px solid #2a2e39;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.rule-badge:empty,.defense-badge:empty{display:none}.side-badge{color:#b7bcc7;white-space:nowrap;background:#94a3b814;border:1px solid #2a2e39;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.side-badge.side-right{color:#5eead4;background:#2dd4bf1f;border-color:#2dd4bf73}.backtest-highlights-sides{margin-top:4px;font-size:13px}.sample-warning{color:#f0a640;margin-left:6px;font-size:11px}.trade-filter{flex-direction:column;gap:6px;padding:0 0 10px;display:flex}.trade-filter-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.trade-filter-group-title{color:#9598a1;min-width:52px;font-size:12px}.trade-filter-chip{color:#b7bcc7;cursor:pointer;background:#131722;border:1px solid #2a2e39;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;transition:border-color .15s,background .15s;display:inline-flex}.trade-filter-chip:hover{border-color:#2962ff80}.trade-filter-chip[aria-pressed=true]{color:#79a6ff;background:#2962ff24;border-color:#2962ff99}.trade-filter-count{color:#6b7280;font-size:11px}.trade-filter-chip[aria-pressed=true] .trade-filter-count{color:#79a6ff}.trade-filter-summary{color:#b7bcc7;margin:2px 0 0;font-size:13px}.trade-filter-summary .gain{color:#26a69a}.trade-filter-summary .loss{color:#ef5350}.trade-filter-clear{color:#79a6ff;cursor:pointer;background:0 0;border:none;margin-left:10px;padding:0;font-size:12px}.backtest-workbench{align-items:flex-start;gap:12px;display:flex;position:relative}.backtest-trades-pane{flex:40%;min-width:0;max-height:calc(100vh - 96px);overflow-y:auto}.backtest-chart-pane{flex-direction:column;flex:60%;min-width:0;height:calc(100vh - 24px);display:flex;position:sticky;top:12px}.backtest-chart{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.backtest-chart-stage{flex:1;min-height:0}.backtest-chart-surface{width:100%;height:100%}@media (width<=1280px){.backtest-workbench{flex-direction:column}.rationale-card{width:100%;max-width:none;max-height:none;position:static}.backtest-trades-pane{flex:none;width:100%;max-height:none;overflow-y:visible}.backtest-chart-pane{flex:none;width:100%;height:auto;display:block;position:static}.backtest-chart-stage{height:480px}}.rationale-card{z-index:5;background:#131722ee;border:1px solid #2a2e39;border-radius:8px;width:360px;max-width:calc(40% - 16px);max-height:calc(100vh - 120px);padding:12px;font-size:13px;position:absolute;top:8px;left:8px;overflow-y:auto;box-shadow:0 8px 24px #00000073}.rationale-card header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.rationale-card.collapsed{padding-bottom:4px}.rationale-card.collapsed header{margin-bottom:0}.rationale-card-actions{gap:2px;display:flex}.rationale-reasons{flex-direction:column;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.rationale-hint{color:#9598a1;margin:8px 0 0;font-size:12px}.reason-row{color:#d1d4dc;text-align:left;cursor:pointer;background:#94a3b80f;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:baseline;gap:8px;width:100%;padding:6px 8px;font-size:12px;transition:border-color .15s,background .15s;display:flex}.reason-row:hover{border-color:#2962ff80}.reason-row[aria-pressed=true]{color:#79a6ff;background:#2962ff24;border-color:#2962ff99}.reason-band{color:#9598a1;margin-left:6px}.reason-role{color:#9598a1;white-space:nowrap;border:1px solid #94a3b873;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px}.backtest-history-panel{flex-direction:column;gap:8px;display:flex}.backtest-history-toolbar{border-bottom:1px solid #2a2e39;align-items:center;gap:12px;padding-bottom:8px;display:flex}.history-select-all{color:#d1d4dc;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.history-select-count{color:#9598a1;margin-right:auto;font-size:12px}.history-bulk-delete{color:#9598a1;white-space:nowrap;cursor:pointer;background:#131722;border:1px solid #2a2e39;border-radius:6px;padding:6px 12px;font-size:12px;transition:border-color .15s,background .15s}.history-bulk-delete:hover:enabled{color:#ef5350;border-color:#ef535099}.history-bulk-delete.armed{color:#fff;background:#ef535040;border-color:#ef5350}.history-bulk-delete:disabled{opacity:.5;cursor:default}.backtest-history{flex-direction:column;gap:6px;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.backtest-history-filter{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.backtest-history-filter label{align-items:center;gap:6px;font-size:12px;display:flex}.backtest-history-filter input[type=search]{min-width:220px}.history-filter-count,.history-empty{opacity:.75;font-size:12px}.backtest-history li{align-items:center;gap:6px;display:flex}.backtest-history .history-select{cursor:pointer;flex:none}.backtest-history button{text-align:left;color:#d1d4dc;cursor:pointer;background:#131722;border:1px solid #2a2e39;border-radius:6px;padding:7px 12px;font-size:13px;transition:border-color .15s,background .15s}.backtest-history .history-load{flex:1;align-self:stretch}.backtest-history button:hover:enabled{border-color:#2962ff80}.backtest-history button.selected{background:#2962ff26;border-color:#2962ff}.backtest-history button:disabled{opacity:.5;cursor:default}.backtest-history .history-delete{color:#9598a1;white-space:nowrap;flex:none;font-size:12px}.backtest-history .history-delete:hover:enabled{color:#ef5350;border-color:#ef535099}.backtest-history .history-delete.armed{color:#fff;background:#ef535040;border-color:#ef5350}.backtest-export{align-items:center;gap:12px;margin:4px 0;display:flex}.backtest-export>button{color:#d1d4dc;cursor:pointer;background:#131722;border:1px solid #2a2e39;border-radius:6px;padding:6px 16px;font-size:13px}.backtest-export>button:hover:enabled{border-color:#2962ff99}.backtest-export>button:disabled{opacity:.5;cursor:default}.backtest-export-hint{color:#9598a1;font-size:12px}.backtest-highlights{background:#131722;border:1px solid #2a2e39;border-radius:6px;gap:24px;margin:12px 0;padding:12px 16px;display:flex}.backtest-highlights dt{color:#9598a1;font-size:12px}.backtest-highlights dd{margin:4px 0 0;font-size:18px;font-weight:600}.backtest-highlights dd.gain{color:#26a69a}.backtest-highlights dd.loss{color:#ef5350}.backtest-chart-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.backtest-chart-toolbar .toolbar-toggle{color:#9598a1;cursor:pointer;align-items:center;gap:4px;margin-left:auto;font-size:12px;display:inline-flex}.playback-controls{align-items:center;gap:6px;padding:8px 0;display:flex}.backtest-chart-toolbar button,.rationale-card header button{color:#d1d4dc;cursor:pointer;background:#131722;border:1px solid #2a2e39;border-radius:6px;padding:5px 14px;font-size:12px;transition:border-color .15s,background .15s}.backtest-chart-toolbar button:hover,.rationale-card header button:hover{border-color:#2962ff80}.backtest-chart-toolbar button[aria-pressed=true]{color:#79a6ff;background:#2962ff24;border-color:#2962ff99}.rationale-card header button{padding:2px 8px}.fib-controls,.backtest-chart-toolbar .view-timeframes{align-items:center;gap:4px;display:inline-flex}.fib-hint{color:#f0a640;margin-left:4px;font-size:12px}.fib-chip{color:#a8c0dc;border:1px solid #2a4066;border-radius:10px;align-items:center;gap:2px;padding:1px 4px 1px 6px;font-size:11px;display:inline-flex}.fib-chip button{color:#6f8fb3;cursor:pointer;background:0 0;border:none;padding:0 3px;font-size:13px;line-height:1}.fib-chip button:hover{color:#e2e8f0}.chart-drawing-toolbar{align-items:center;padding:4px 8px 0;display:flex}.playback-controls .playback-speeds{gap:4px;margin-left:8px;display:flex}.playback-controls .playback-speeds button{color:#9598a1;padding:5px 10px}.playback-controls .playback-speeds button[aria-pressed=true]{color:#79a6ff;background:#2962ff24;border-color:#2962ff99}body:has(.login-page){min-width:0}.login-page{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{background:linear-gradient(#0c1b2c,#07111f);border:1px solid #1b2c42;border-radius:12px;gap:16px;width:min(380px,100%);padding:32px 28px 28px;display:grid;box-shadow:0 24px 60px #00000073}.login-card h1{color:#eff7ff;letter-spacing:.04em;text-align:center;margin:0 0 4px;font-size:22px;font-weight:600}.login-card label{color:#8ca0b3;gap:6px;font-size:13px;display:grid}.login-card input{color:#d9e5f2;height:40px;font:inherit;background:#0d1d2e;border:1px solid #28415b;border-radius:7px;padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-card input:focus-visible{border-color:#38bfa8;outline:none;box-shadow:0 0 0 3px #38d8b92e}.login-card button[type=submit]{color:#04121c;background:#38d8b9;border:1px solid #38bfa8;border-radius:7px;height:40px;margin-top:4px;font-size:14px;font-weight:600;transition:background .15s}.login-card button[type=submit]:hover:not(:disabled){background:#58e2c8}.login-card button[type=submit]:focus-visible{outline-offset:2px;outline:2px solid #58e2c8}.login-card button[type=submit]:disabled{cursor:wait;opacity:.6}.login-note{color:#8ca0b3;background:#8ca0b314;border-radius:7px;margin:0;padding:8px 12px;font-size:13px}.login-error{color:#fb7185;background:#fb718514;border:1px solid #fb718559;border-radius:7px;margin:0;padding:8px 12px;font-size:13px}.app-nav-signout{margin-left:auto}.live-trading-page{gap:14px;width:min(1500px,100vw - 48px);margin:0 auto;padding:24px 0 42px;display:grid}.trading-status,.trading-controls,.trading-alerts,.trading-commands,.live-chart,.live-order-card{background:#0a1422db;border:1px solid #78a0c838;border-radius:10px;padding:12px 14px}.trading-status-line,.trading-symbols li,.trading-controls,.live-tabs,.live-chart header{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.trading-symbols{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.trading-mode{border-radius:999px;padding:2px 10px;font-weight:600}.trading-mode-shadow{background:#7890aa59}.trading-mode-testnet{background:#2962ff59}.trading-mode-live{background:#ef53508c}.tone-ok{color:#4dd0a0}.tone-warn{color:#f5b041}.tone-bad{color:#ff6b6b}.trading-controls button,.command-confirm button,.live-order-card .command-button button{background:#1e324ce6;border:1px solid #a0bedc66;border-radius:6px;padding:6px 14px}button.danger{background:#781e1ee6;border-color:#ef5350cc}.trading-controls button:disabled,.command-confirm button:disabled{cursor:not-allowed;opacity:.5}.command-confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.command-confirm p{margin:0}.command-confirm input{color:inherit;background:#050b14;border:1px solid #a0bedc66;border-radius:4px;margin-left:6px;padding:4px 8px}.command-message{color:#9fb8d0;margin-left:8px}.trading-controls-note,.trading-empty{color:#8ea4bb;margin:0}.trading-error{color:#ff6b6b;margin:0}.trading-alerts header{align-items:center;gap:18px;display:flex}.trading-alerts ul,.trading-commands ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.trading-alerts li{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.alert-critical .alert-level{color:#ff6b6b;font-weight:700}.alert-warning .alert-level{color:#f5b041}.alert-message{color:#8ea4bb;font-size:.85em}.live-tabs button,.live-chart header button{background:0 0;border:1px solid #a0bedc4d;border-radius:6px;padding:4px 12px}.live-tabs button[aria-pressed=true],.live-chart header button[aria-pressed=true]{background:#2962ff59}.live-orders{border-collapse:collapse;width:100%}.live-orders th,.live-orders td{text-align:left;border-bottom:1px solid #78a0c826;padding:6px 8px}.live-orders tbody tr{cursor:pointer}.live-orders tr.selected{background:#2962ff33}.live-chart-surface{width:100%;height:var(--chart-stage-height)}.live-order-card header{align-items:center;gap:12px;display:flex}.live-order-card header button{background:0 0;border:0;margin-left:auto;font-size:1.2em}
