.backtest-shell{padding-top:30px}.backtest-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}.backtest-top h1{margin:5px 0 10px;font-size:clamp(2.5rem,6vw,5.4rem);line-height:.94;letter-spacing:-.06em;font-weight:500}.backtest-top p{max-width:740px;color:var(--muted);line-height:1.65}.backtest-back{color:var(--ink);font-size:.82rem;font-weight:800;text-underline-offset:4px}.bt-card{margin-bottom:18px;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 50px rgba(35,57,47,.05)}.bt-tickers{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:18px}.bt-tickers span{margin-right:4px;font:500 .69rem "DM Mono",monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.bt-tickers button{border:1px solid var(--line);border-radius:999px;background:white;padding:8px 13px;font-weight:800;cursor:pointer}.bt-tickers button.active,.bt-tickers button:hover{background:var(--ink);border-color:var(--ink);color:white}.bt-form{display:grid;grid-template-columns:repeat(6,minmax(125px,1fr));gap:12px;align-items:end}.bt-field{display:grid;gap:7px}.bt-field span{font-size:.72rem;font-weight:800;color:var(--muted)}.bt-ticker-entry{display:grid;grid-template-columns:1fr auto;gap:6px}.bt-form button,.bt-load{height:48px;border:0;border-radius:12px;background:var(--lime);font-weight:800;cursor:pointer}.bt-form button:hover,.bt-load:hover{background:#b7e331}.bt-form button:disabled,.bt-load:disabled{opacity:.55;cursor:wait}.bt-run{grid-column:span 6}.bt-status{min-height:20px;margin:12px 0 0;color:var(--muted);font-size:.82rem}.bt-status.error{color:#b8422f}.bt-note{margin:12px 0 0;color:var(--muted);font-size:.78rem;line-height:1.6}.bt-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.bt-metric{min-height:110px;padding:18px;background:white;border:1px solid var(--line);border-radius:16px}.bt-metric span{display:block;margin-bottom:9px;color:var(--muted);font-size:.76rem}.bt-metric strong{font-size:clamp(1.25rem,2.4vw,2rem);letter-spacing:-.035em}.bt-positive{color:#497200}.bt-negative{color:#c73d29}.bt-chart-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.bt-chart-head h2{margin:0}.bt-ranges{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px}.bt-ranges button{border:0;border-radius:999px;background:transparent;padding:7px 11px;font-size:.75rem;font-weight:800;cursor:pointer}.bt-ranges button.active{background:var(--ink);color:white}#backtestChart{display:block;width:100%;height:430px;border:1px solid var(--line);border-radius:18px;background:#fff;touch-action:none}.bt-legend{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0;color:var(--muted);font-size:.75rem}.bt-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.bt-buy{background:#de9c6b}.bt-sell{background:#486b5b}.bt-stop{background:#b95950}.bt-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.bt-table-wrap table{min-width:980px}.bt-empty{text-align:center;padding:30px;color:var(--muted)}
@media(max-width:1000px){.bt-form{grid-template-columns:repeat(2,1fr)}.bt-run{grid-column:1/-1}.bt-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.backtest-top{display:block}.backtest-back{display:inline-block;margin-top:12px}.bt-card{padding:16px}.bt-form{grid-template-columns:1fr}.bt-run{grid-column:auto}.bt-summary{grid-template-columns:1fr 1fr}#backtestChart{height:360px}}

/* Compact controls keep dates and percentages readable without collisions. */
.bt-form{grid-template-columns:minmax(165px,1.25fr) repeat(2,minmax(135px,.9fr)) repeat(4,minmax(110px,.75fr));gap:10px}
.bt-field{min-width:0;gap:6px}
.bt-field span{font-size:.68rem;line-height:1.25}
.bt-field>input,.bt-ticker-entry input{box-sizing:border-box;width:100%;min-width:0;height:42px;padding:0 10px;font-size:.82rem}
.bt-ticker-entry{min-width:0;grid-template-columns:minmax(0,1fr) auto}
.bt-load{padding:0 12px}
.bt-form button,.bt-load{height:42px;font-size:.8rem}
.bt-run{grid-column:1/-1}
@media(max-width:1100px){.bt-form{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.bt-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.bt-form{grid-template-columns:1fr}.bt-run{grid-column:auto}}

/* Match the site's original high/low price chart. */
.bt-ranges{gap:3px;padding:5px;background:#f1f0e5;border:0;border-radius:24px;flex-wrap:wrap}
.bt-ranges button,.bt-ranges a{border:0;border-radius:20px;background:transparent;padding:7px 11px;color:#6e7d6d;font-size:.75rem;font-weight:800;line-height:1.45;text-decoration:none;cursor:pointer}
.bt-ranges button:hover,.bt-ranges a:hover{background:#e7ede2}
.bt-ranges button.active{background:#dfeddf;color:#38594b}
#backtestChart{border-color:#e7e8dc;background:#fffef9}
#backtestChart text{font-family:'Trebuchet MS','Segoe UI',sans-serif}
.bt-grid{stroke:#eef0e6;stroke-width:1}.bt-axis{fill:#7b8c80;font-size:11px}
.bt-price-band{fill:#7db5ce;fill-opacity:.13;stroke:none}
.bt-high-line,.bt-low-line{fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bt-high-line{stroke:#76a5cf}.bt-low-line{stroke:#61ae9d}
.bt-event{stroke:#fffef9;stroke-width:2}.bt-event.bt-buy{fill:#de9c6b}.bt-event.bt-sell{fill:#486b5b}.bt-event.bt-stop{fill:#b95950}.bt-event.bt-holding{fill:#fffef9;stroke:#8065a8;stroke-width:2.5}.bt-hit{cursor:grab}
.bt-legend span{display:flex;align-items:center}.bt-line{display:inline-block;width:20px;height:4px;border-radius:3px;margin-right:6px}.bt-high{background:#76a5cf}.bt-low{background:#61ae9d}.bt-holding-key{display:inline-block;width:10px;height:10px;margin-right:7px;background:#fffef9;border:2px solid #8065a8;transform:rotate(45deg)}
#btTooltip{position:fixed;z-index:20;pointer-events:none;background:#47665d;color:#fffdf4;border-radius:15px 15px 15px 3px;padding:9px 12px;font-size:12px;line-height:1.55;box-shadow:0 5px 15px #304a3a24;white-space:nowrap}
#btTooltip[hidden]{display:none!important}
.bt-ranges .bt-share:not(:disabled){background:#486b5b;color:#fffdf5}.bt-ranges .bt-share:hover:not(:disabled){background:#38594b}.bt-ranges .bt-share:disabled{opacity:.42;cursor:wait}.bt-share-status{min-height:18px;margin:0 0 8px;color:var(--muted);font-size:.74rem}
