/* extracted from index.html for performance */

.bt-wrapper{max-width:1200px;margin:0 auto;padding:20px 16px}
.bt-header{margin-bottom:1.5rem}
.bt-title{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:3px;color:var(--accent);line-height:1}
.bt-subtitle{color:var(--text2);font-size:.85rem;margin-top:.4rem;line-height:1.5}
.bt-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.25rem;align-items:center}
.bt-ctrl-label{font-size:.7rem;letter-spacing:1px;text-transform:uppercase;color:var(--text2);margin-right:4px}
.bt-select{padding:6px 10px;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:6px;font-family:'DM Sans',sans-serif;font-size:.78rem;cursor:pointer}
.bt-select:focus{outline:none;border-color:var(--accent)}
.bt-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:1.25rem}
.bt-kpi{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}
.bt-kpi-label{font-size:.65rem;letter-spacing:1px;text-transform:uppercase;color:var(--text2);margin-bottom:4px}
.bt-kpi-val{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--text);line-height:1}
.bt-kpi-sub{font-size:.7rem;color:var(--text3);margin-top:2px}
.bt-table{width:100%;border-collapse:collapse;font-size:.82rem}
.bt-table th{text-align:left;padding:8px 10px;background:var(--surface2);color:var(--text2);font-size:.65rem;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--border);font-weight:600}
.bt-table td{padding:8px 10px;border-bottom:1px solid var(--border)}
.bt-tier-row{cursor:pointer;transition:background .12s}
.bt-tier-row:hover{background:rgba(245,158,11,.05)}
.bt-tier-row.expanded{background:rgba(245,158,11,.08)}
.bt-tier-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:.65rem;font-weight:700;letter-spacing:.3px;white-space:nowrap}
.bt-pct-cell{font-weight:600;text-align:right}
.bt-bar-cell{position:relative;width:120px}
.bt-bar-bg{position:relative;height:18px;background:var(--surface);border-radius:4px;overflow:hidden}
.bt-bar-fill{position:absolute;top:0;left:0;height:100%;border-radius:4px;transition:width .25s}
.bt-bar-label{position:absolute;top:0;right:6px;line-height:18px;font-size:.7rem;font-weight:600;color:var(--text)}
.bt-detail-row{background:rgba(0,0,0,.15)}
.bt-detail-cell{padding:0!important}
.bt-detail-inner{padding:8px 12px}
.bt-player-tbl{width:100%;font-size:.78rem}
.bt-player-tbl td{padding:5px 8px;border:none;border-bottom:1px solid rgba(255,255,255,.04)}
.bt-player-tbl th{padding:5px 8px;font-size:.6rem;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;font-weight:600;background:transparent;border:none}
.bt-verdict-stud{color:#22c55e;font-weight:700}
.bt-verdict-hit{color:#60a5fa;font-weight:700}
.bt-verdict-contributor{color:#fbbf24}
.bt-verdict-bust{color:#ef4444}
.bt-verdict-pending{color:#94a3b8;font-style:italic}
.bt-jm-pill{display:inline-block;padding:1px 8px;border-radius:8px;font-size:.7rem;font-weight:700;background:rgba(245,158,11,.12);color:var(--accent)}
.bt-empty{text-align:center;padding:3rem;color:var(--text2);font-size:.9rem}
.bt-cal-chart{margin:1rem 0 1.5rem;padding:14px;background:var(--surface2);border:1px solid var(--border);border-radius:10px}
.bt-cal-title{font-size:.75rem;letter-spacing:1px;text-transform:uppercase;color:var(--text2);margin-bottom:10px}
.bt-cal-grid{display:flex;align-items:flex-end;gap:6px;height:140px}
.bt-cal-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.bt-cal-bar-wrap{width:100%;height:110px;display:flex;align-items:flex-end;justify-content:center;position:relative}
.bt-cal-bar{width:100%;border-radius:3px 3px 0 0;position:relative;min-height:2px;transition:height .25s}
.bt-cal-bar-pct{position:absolute;top:-16px;left:50%;transform:translateX(-50%);font-size:.65rem;font-weight:700;color:var(--text);white-space:nowrap}
.bt-cal-label{font-size:.58rem;text-align:center;color:var(--text2);text-transform:uppercase;letter-spacing:.3px;line-height:1.2;height:24px}
.bt-cal-n{font-size:.55rem;color:var(--text3)}
.bt-method-toggle{font-size:.7rem;color:var(--text2);cursor:pointer;text-decoration:underline;margin-left:auto}
.bt-method-box{margin-top:1rem;padding:12px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;font-size:.78rem;color:var(--text2);line-height:1.6;display:none}
.bt-method-box.open{display:block}
.bt-method-box code{background:rgba(255,255,255,.05);padding:1px 5px;border-radius:3px;color:var(--text)}
/* Backtest Diagnostics (Apr 2026 v9.2) — correlations, residuals, weight lab */
.bt-diag-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.bt-diag-header{margin-bottom:1rem}
.bt-diag-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:2px;color:var(--accent);line-height:1}
.bt-diag-subtitle{color:var(--text2);font-size:.78rem;margin-top:.3rem;line-height:1.5}
.bt-corr-section-title{font-size:.7rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--text2);margin:1.5rem 0 .75rem;font-weight:600}
.bt-corr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.bt-corr-card{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}
.bt-corr-card-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.bt-corr-card-title{font-size:.65rem;letter-spacing:1px;text-transform:uppercase;color:var(--text2);font-weight:600}
.bt-corr-card-n{font-size:.6rem;color:var(--text3)}
.bt-corr-card-rho{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--text);line-height:1}
.bt-corr-card-rho.good{color:#22c55e}
.bt-corr-card-rho.ok{color:#60a5fa}
.bt-corr-card-rho.weak{color:#fbbf24}
.bt-corr-card-rho.bad{color:#ef4444}
.bt-corr-card-sub{font-size:.65rem;color:var(--text3);margin-top:2px}
.bt-corr-card-delta{font-size:.7rem;font-weight:600;margin-top:4px}
.bt-corr-card-delta.up{color:#22c55e}
.bt-corr-card-delta.down{color:#ef4444}
.bt-resid-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.bt-resid-card{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}
.bt-resid-card-head{font-size:.7rem;letter-spacing:1px;text-transform:uppercase;color:var(--text2);font-weight:600;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.bt-resid-card-tag{font-size:.55rem;color:var(--text3);font-weight:400;letter-spacing:.5px}
.bt-resid-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;font-size:.78rem;padding:4px 0;border-bottom:1px dashed rgba(255,255,255,.04);align-items:baseline}
.bt-resid-row:last-child{border-bottom:none}
.bt-resid-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-resid-pos{font-size:.6rem;color:var(--text2);margin-left:4px}
.bt-resid-jm{font-size:.7rem;color:var(--text2);font-variant-numeric:tabular-nums;text-align:right}
.bt-resid-pick{font-size:.7rem;color:var(--text2);font-variant-numeric:tabular-nums;text-align:right;min-width:46px}
.bt-resid-empty{font-size:.75rem;color:var(--text3);font-style:italic;padding:6px 0}
.bt-weight-lab{margin-top:2rem;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:0}
.bt-weight-lab summary{padding:14px 16px;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text);list-style:none;user-select:none}
.bt-weight-lab summary::-webkit-details-marker{display:none}
.bt-weight-lab summary::before{content:'▶ ';font-size:.7rem;color:var(--accent);transition:transform .15s;display:inline-block;margin-right:6px}
.bt-weight-lab[open] summary::before{transform:rotate(90deg)}
.bt-weight-lab-body{padding:0 16px 16px}
.bt-weight-lab-help{font-size:.75rem;color:var(--text2);line-height:1.5;margin-bottom:10px}
.bt-weight-lab-ta{width:100%;min-height:200px;font-family:'Menlo','Monaco',monospace;font-size:.75rem;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:10px;resize:vertical;line-height:1.5}
.bt-weight-lab-ta:focus{outline:none;border-color:var(--accent)}
.bt-weight-lab-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.bt-weight-lab-btn{padding:7px 14px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:.78rem;cursor:pointer;font-family:'DM Sans',sans-serif}
.bt-weight-lab-btn:hover{background:var(--surface2);border-color:var(--accent)}
.bt-weight-lab-btn.primary{background:var(--accent);color:#1a1a1a;border-color:var(--accent);font-weight:600}
.bt-weight-lab-btn.primary:hover{filter:brightness(1.1)}
.bt-weight-lab-btn:disabled{opacity:.4;cursor:not-allowed}
.bt-weight-lab-results{margin-top:14px}
.bt-weight-lab-error{color:#ef4444;font-size:.78rem;padding:10px 12px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3);border-radius:6px;margin-top:10px}
.bt-weight-lab-running{color:var(--text2);font-size:.78rem;padding:10px 0;font-style:italic}
@media (max-width:640px){
  .bt-wrapper{padding:14px 10px}
  .bt-title{font-size:1.5rem}
  .bt-table th, .bt-table td{padding:6px 6px;font-size:.72rem}
  .bt-bar-cell{display:none}
}
