.root-backtest-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto minmax(200px,auto) minmax(200px,1fr);gap:10px;align-items:end;padding:14px}.root-backtest-toolbar>label:first-child{display:grid;gap:6px}.root-backtest-toolbar>label:first-child span{font-size:12px;font-weight:900}.root-backtest-toolbar>label:first-child input{width:100%;height:38px;padding:0 10px}.root-backtest-toolbar>[data-root-run-status]{align-self:center;text-align:right;font-size:12px;font-weight:800}
.root-backtest-layout{display:grid;grid-template-columns:minmax(0,18fr) minmax(0,52fr) minmax(0,30fr);gap:14px;align-items:stretch;min-height:680px}.root-backtest-library,.root-backtest-performance{min-width:0;padding:14px}.root-backtest-library{display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:12px}.root-backtest-library>[data-root-strategy-list]{display:grid;align-content:start;gap:10px;min-height:0;overflow:auto}.root-backtest-library>[data-root-strategy-list]>article{display:grid;gap:8px;padding:10px 0}.root-backtest-library>[data-root-strategy-list]>article>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.root-backtest-library>[data-root-save-menu]{display:grid;gap:6px}.root-backtest-library>[data-root-save-menu][hidden]{display:none}
.root-backtest-performance{display:grid;grid-template-rows:auto auto minmax(360px,1fr);gap:14px}.root-backtest-performance>[data-root-chart]{min-height:360px}.root-backtest-performance svg{display:block;width:100%;height:100%;min-height:360px}
.root-data-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border-left:3px solid #36d399;padding:9px 10px;background:#0f171b}.root-data-status strong{color:#36d399;font-size:12px}.root-data-status span{min-width:0;color:#c6ceda;font-size:12px}.root-data-status small{color:#8792a2;font-size:11px;white-space:nowrap}
.root-account-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#222833}.root-account-strip span{padding:8px 10px;color:#8792a2;background:#10161e;font-size:11px}.root-account-strip strong{display:block;margin-top:4px;color:#e6edf7;font-size:13px}
.root-performance-stale [data-root-performance]{position:relative;opacity:.5}.root-performance-stale [data-root-performance]:after{content:"参数已修改，需要重新回测";position:absolute;inset:0;display:grid;place-items:center;color:#fbbf24;background:rgba(15,19,26,.82);font-size:15px;font-weight:900;z-index:3}
.root-risk-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.root-risk-fields label{display:grid;gap:6px}.root-risk-fields span{font-size:12px;font-weight:900}.root-risk-fields input{width:100%;height:38px;padding:0 10px}
.root-risk-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.root-risk-metrics span{padding:8px;border:1px solid #222833;color:#8792a2;font-size:11px}.root-risk-metrics strong{display:block;margin-top:4px;color:#e6edf7;font-size:13px}
.root-validation{display:grid;grid-template-columns:1fr 1fr;gap:8px}.root-validation>div{padding:9px 10px;border:1px solid #222833;background:#10161e}.root-validation span,.root-validation small{display:block;color:#8792a2;font-size:11px}.root-validation strong{display:block;margin:4px 0;color:#e6edf7;font-size:16px}.root-validation p{grid-column:1/-1;margin:0;color:#8792a2;font-size:11px}
.root-batch-list{display:grid;align-content:start;gap:1px;max-height:460px;overflow:auto;background:#222833}.root-batch-list>div{display:grid;grid-template-columns:minmax(0,1fr) 90px 110px;gap:10px;align-items:center;padding:9px 10px;background:#10161e}.root-batch-list span{color:#e6edf7;font-size:12px}.root-batch-list small{display:block;margin-top:3px;color:#8792a2}.root-batch-list strong,.root-batch-list em{text-align:right;font-size:12px}.root-batch-list em{color:#8792a2;font-style:normal}
.root-market-filter{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:10px;align-items:center;border-left:3px solid #60a5fa;padding:8px 10px;background:#10161e}.root-market-filter span,.root-market-filter small{color:#8792a2;font-size:11px}.root-market-filter strong{color:#60a5fa;font-size:12px}.root-market-filter small{text-align:right}
.root-regime-filter{border-left-color:#fbbf24}.root-regime-filter strong{color:#fbbf24}
.root-market-regime-controls{display:grid;gap:12px;margin-top:14px;border-top:1px solid #2b3442;padding-top:14px}.root-regime-base{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:8px}.root-regime-base>label:not(.check-row){display:grid;gap:5px}.root-regime-base span,.root-regime-routes small{color:#8792a2;font-size:11px}.root-regime-routes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.root-regime-routes>label{display:grid;gap:7px;border:1px solid #2b3442;border-radius:8px;padding:10px;background:#0f131a}.root-regime-routes>label.risk{border-color:rgba(239,68,68,.4)}.root-regime-routes strong{color:#f3f7fb;font-size:12px}.root-regime-routes span{display:flex;align-items:center;gap:6px;color:#c6ceda;font-size:11px}.root-regime-routes input[type=checkbox]{width:15px;height:15px}.root-market-regime-result{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid #2b3442;border-left:3px solid #fbbf24;border-radius:8px;margin:12px 0;padding:12px;background:#0f131a}.root-market-regime-result.regime-uptrend{border-left-color:#36d399}.root-market-regime-result.regime-downtrend,.root-market-regime-result.regime-extreme_risk{border-left-color:#ef4444}.root-market-regime-result div{display:grid;gap:3px}.root-market-regime-result span,.root-market-regime-result small{color:#8792a2;font-size:11px}.root-market-regime-result strong{color:#f3f7fb;font-size:18px}.root-market-regime-result em{color:#36d399;font-size:11px;font-style:normal}.root-market-regime-result p{color:#c6ceda;font-size:11px;line-height:1.5}.root-regime-performance{margin:12px 0;overflow:auto}.root-regime-performance-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.root-regime-performance-head strong{color:#f3f7fb;font-size:12px}.root-regime-performance-head span{color:#8792a2;font-size:11px}.root-regime-performance table{width:100%;border-collapse:collapse;font-size:11px}.root-regime-performance th,.root-regime-performance td{border-bottom:1px solid #222833;padding:7px;text-align:right}.root-regime-performance th:first-child,.root-regime-performance td:first-child{text-align:left}
.root-sensitivity{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:10px;align-items:center;border-left:3px solid #c084fc;padding:8px 10px;background:#10161e}.root-sensitivity span,.root-sensitivity small{color:#8792a2;font-size:11px}.root-sensitivity strong{color:#c084fc;font-size:13px}.root-sensitivity small{text-align:right}
.root-backtest-layout>.strategy-lab{display:block;min-width:0}.root-backtest-layout>.strategy-lab>.root-backtest-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.root-backtest-layout>.strategy-lab>article{height:calc(100% - 46px);overflow:auto}.root-backtest-layout>.strategy-lab>article[hidden]{display:none}
.root-backtest-layout [data-root-sell-controls]{display:grid;gap:10px;margin-top:10px}.root-backtest-layout [data-root-sell-controls]>label:first-child{display:grid;gap:6px}.root-backtest-layout [data-root-sell-controls]>label:first-child span{font-size:12px;font-weight:900}.root-backtest-layout [data-root-sell-controls]>label:first-child input{width:100%;height:38px;padding:0 10px}
.root-backtest-layout [data-root-sell-ma-grid]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.root-backtest-layout [data-root-sell-fields]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.root-backtest-layout [data-root-sell-fields]>label{display:grid;gap:6px}.root-backtest-layout [data-root-sell-fields] span{font-size:12px;font-weight:900}.root-backtest-layout [data-root-sell-fields] input{width:100%;height:38px;padding:0 10px}
.review-ai-layout{display:grid;grid-template-columns:minmax(0,62fr) minmax(360px,38fr);gap:14px;align-items:stretch}.review-ai-left{min-width:0}.review-ai-left>.review-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}.review-ai-panel{display:grid;grid-template-rows:auto minmax(360px,1fr) auto;gap:14px;min-height:620px;padding:14px}.review-ai-history{min-height:360px;max-height:560px;overflow:auto;display:grid;align-content:start;gap:10px}.review-ai-message{max-width:88%;border:1px solid #222833;border-radius:8px;padding:10px;background:#0f131a}.review-ai-message.user{justify-self:end}.review-ai-message.assistant{justify-self:start}.review-ai-message strong{display:block;color:#36d399;font-size:12px}.review-ai-message p,.review-ai-empty{margin:6px 0 0;color:#c6ceda;font-size:12px;line-height:1.7}.review-ai-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.review-ai-compose textarea{width:100%;resize:vertical;border:1px solid #222833;border-radius:8px;outline:none;padding:10px;color:#f3f7fb;background:#0f131a;font:inherit}.review-ai-compose button{height:38px}@media(max-width:1100px){.review-ai-layout{grid-template-columns:1fr}.review-ai-panel{min-height:520px}.root-regime-routes{grid-template-columns:1fr 1fr}.root-regime-base{grid-template-columns:1fr}.root-market-regime-result{grid-template-columns:1fr}}
.root-backtest-toolbar [aria-busy="true"]{cursor:wait}.root-backtest-toolbar .strategy-status-error{color:#f87171}
@media(max-width:1360px){.root-backtest-toolbar{grid-template-columns:minmax(220px,1fr) repeat(3,auto)}.root-backtest-toolbar>label.check-row,.root-backtest-toolbar>[data-root-run-status]{grid-column:span 2}.root-backtest-layout{grid-template-columns:minmax(210px,24fr) minmax(0,76fr)}.root-backtest-layout>.strategy-lab{grid-column:1/-1}.root-backtest-layout>.strategy-lab>article{height:auto;max-height:none}}
@media(max-width:760px){.root-backtest-toolbar{grid-template-columns:1fr 1fr;align-items:stretch}.root-backtest-toolbar>label:first-child,.root-backtest-toolbar>label.check-row,.root-backtest-toolbar>[data-root-run-status]{grid-column:1/-1}.root-backtest-toolbar button{min-width:0;white-space:normal}.root-backtest-layout{grid-template-columns:1fr;min-height:0}.root-backtest-layout>.strategy-lab{grid-column:auto}.root-backtest-performance{grid-template-rows:auto}.root-backtest-performance>[data-root-chart],.root-backtest-performance svg{min-height:240px}.root-risk-metrics{grid-template-columns:1fr 1fr}.root-account-strip{grid-template-columns:1fr 1fr}.root-data-status,.root-market-filter,.root-sensitivity{grid-template-columns:1fr}.root-data-status small{white-space:normal}.root-market-filter small,.root-sensitivity small{text-align:left}.root-regime-routes{grid-template-columns:1fr}.root-validation{grid-template-columns:1fr}.root-validation p{grid-column:auto}.root-batch-list>div{grid-template-columns:minmax(0,1fr) 70px 90px}.root-backtest-layout [data-root-sell-fields],.root-risk-fields{grid-template-columns:1fr}}
