/* Backtesting inherits the shared workspace, chart and control-panel layout. */
.bt-account { margin-bottom:14px; }
.bt-account-meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px 14px; padding:10px 0 14px; border-bottom:1px solid var(--line); color:var(--muted); font-size:9px; }
.bt-account-meta b { font:10px var(--mono); color:var(--secondary); margin-left:3px; }
.bt-account-meta > span:last-child { margin-left:auto; }
.bt-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.bt-field { display:block; position:relative; color:var(--secondary); font-size:10px; }
.bt-field input[type='number'] { display:block; width:100%; background:transparent; border:1px solid var(--line); color:var(--ink); padding:9px 10px; min-height:39px; margin-top:6px; border-radius:3px; font:12px var(--mono); }
.bt-field input:disabled { opacity:.45; }
.bt-unit { float:right; color:var(--muted); }
.bt-side { padding:0; border:0; }
.bt-side button.selected[data-side='long'] { background:var(--green-soft); color:var(--green); border-color:var(--green); }
.bt-side button.selected[data-side='short'] { background:var(--down-soft); color:var(--red); border-color:var(--red); }
.bt-order .bt-range { margin:10px 0 13px; }
.bt-check { display:flex; align-items:center; gap:5px; font-size:10px; }
.bt-check input { accent-color:var(--accent); width:14px; height:14px; margin:0; }
.bt-number { position:relative; }
.bt-number input { padding-right:25px !important; }
.bt-number > span { position:absolute; right:10px; top:11px; font:11px var(--mono); color:var(--muted); pointer-events:none; }
.bt-percent-note { font-size:9px; color:var(--muted); margin-top:8px; }
.bt-risk { display:grid; grid-template-columns:1fr 1fr; gap:9px 12px; padding-top:12px; margin:12px 0; border-top:1px solid var(--line); }
.bt-risk div { display:flex; flex-direction:column; gap:3px; }
.bt-risk dt { font-size:9px; color:var(--muted); }
.bt-risk dd { margin:0; font:11px var(--mono); }
.bt-note { color:var(--muted); font-size:10px; margin-top:12px; line-height:1.6; }
.bt-error { font-size:11px; color:var(--red); margin-top:12px; line-height:1.6; }
.bt-result-reason { color:var(--secondary); font-size:12px; }
.bt-result-value { display:block; font:500 clamp(28px,3vw,40px) var(--mono); letter-spacing:-.06em; margin-top:14px; }
.bt-result-roe { font:11px var(--mono); color:var(--muted); margin-top:8px; }
.bt-result-detail { border-top:1px solid var(--line); margin:25px 0 16px; padding:15px 0 0; font-size:11px; }
.bt-result-detail div { display:flex; justify-content:space-between; gap:10px; padding:5px 0; }
.bt-result-detail dt { color:var(--muted); }
.bt-result-detail dd { margin:0; font-family:var(--mono); text-align:right; }
.bt-history { min-width:0; }
.bt-history-heading { gap:12px; flex-wrap:wrap; }
.bt-history-heading > span { color:var(--muted); font:10px var(--mono); }
.bt-table-scroll { overflow-x:auto; }
.bt-history table { width:100%; border-collapse:collapse; text-align:left; white-space:nowrap; }
.bt-history th { color:var(--muted); font-size:9px; font-weight:500; padding:12px 10px; border-block:1px solid var(--line); }
.bt-history td { padding:13px 10px; font:11px var(--mono); border-bottom:1px solid var(--line); }
.bt-history td small { display:block; margin-top:3px; color:var(--muted); font-size:8px; }
.bt-history .bt-empty { text-align:center; color:var(--muted); padding:30px; font:11px var(--sans); }
#bt-summary-note { margin-top:16px; }
#bt-summary-stats strong { font-size:18px; overflow-wrap:anywhere; }
#bt-summary-dialog .dialog-actions .button { justify-content:center; }
@media (max-width:850px) {
  body[data-phase='setup'] .bt-order > .panel-eyebrow { display:none; }
  #bt-setup { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
  #bt-setup > .survival-start { grid-column:1 / -1; padding:0 0 14px; margin-bottom:12px; }
  #bt-setup > fieldset, #bt-setup > .universe-field { grid-column:1 / -1; margin-bottom:12px; }
  #bt-setup > .button, #bt-setup > .form-note { grid-column:1 / -1; }
  body:not([data-phase='setup']) #bt-panel-title { display:none; }
  .bt-order > .panel-eyebrow { min-height:24px; margin:0; }
  .bt-account { margin-bottom:7px; }
  .bt-account-meta { gap:6px 12px; padding:4px 0 6px; font-size:8px; }
  .bt-account-meta b { font-size:9px; }
  .bt-side { margin:0 0 8px; }
  .bt-side button { min-height:36px; font-size:12px; }
  .bt-field input[type='number'] { font-size:16px; min-height:36px; padding:5px 8px; margin-top:3px; }
  .bt-number > span { top:8px; }
  .bt-order .bt-range { margin:5px 0 8px; height:24px; }
  .bt-percent-note { margin-top:4px; font-size:8px; }
  .bt-risk { grid-template-columns:repeat(4,minmax(0,1fr)); margin:7px 0; padding-top:7px; gap:4px; }
  .bt-risk dt { font-size:8px; } .bt-risk dd { font-size:10px; }
  .bt-order .button { min-height:44px; font-size:12px; }
  .bt-result-reason { margin-top:0; }
  .bt-result-value { margin-top:6px; font-size:28px; }
  .bt-result-roe { margin-top:3px; }
  .bt-result-detail { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; margin:8px 0; padding-top:6px; font-size:10px; }
  .bt-result-detail div { padding:3px 0; }
}
@media (max-width:850px) and (max-height:620px) {
  body[data-mode='backtest']:not([data-phase='setup']) #game-workspace { grid-template-rows:minmax(140px,1fr) auto; }
  body[data-mode='backtest']:not([data-phase='setup']) #game-workspace .chart-toolbar { height:34px; min-height:34px; }
  body[data-mode='backtest']:not([data-phase='setup']) #game-workspace .chart-surface { min-height:84px; }
  body[data-mode='backtest']:not([data-phase='setup']) #game-workspace .chart-footnote { height:22px; min-height:22px; }
  .bt-account { margin-bottom:4px; }
  .bt-account-meta { display:none; }
  .bt-order > .panel-eyebrow { min-height:20px; }
}
@media (max-width:850px) and (max-height:720px) {
  .bt-order .bt-range { display:none; }
  .bt-targets { margin-top:7px; }
  .bt-account-meta { padding-bottom:4px; }
  .bt-side { margin-bottom:6px; }
  .bt-side button { min-height:32px; }
  .bt-field input[type='number'] { min-height:32px; padding:3px 8px; }
  .bt-percent-note { font-size:7px; margin-top:3px; }
}
