#v-portfolio { --bt-benchmark:#ad784e; }
:root[data-theme="dark"] #v-portfolio { --bt-benchmark:#e1b78f; }
@media(prefers-color-scheme:dark) { :root:not([data-theme="light"]) #v-portfolio { --bt-benchmark:#e1b78f; } }
.bt-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.bt-heading h2,.bt-heading h3 { margin:6px 0 10px; }
.bt-heading p { max-width:650px; }
.bt-examples { display:flex; align-items:end; gap:10px; flex-wrap:wrap; margin:18px 0; }
.bt-examples label,.bt-settings label { display:grid; gap:7px; color:var(--muted); font-size:12px; min-width:0; }
.bt-examples select,.bt-settings input,.bt-settings select,#bt-monthly-series { padding:11px 12px; font:inherit; font-size:14px; color:var(--text); background:var(--panel); border:1px solid var(--border); border-radius:7px; width:100%; box-sizing:border-box; min-width:0; }
.bt-settings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:22px 0 16px; }
.bt-settings .ticker-field { width:100%; }
.bt-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:18px 0; }
.bt-basis { padding:12px 16px; background:var(--accent-soft); border-left:3px solid var(--accent); border-radius:5px; font-size:12px; line-height:1.7; }
#bt-results { margin:24px 0; scroll-margin-top:24px; }
#bt-results[hidden],#bt-cancel[hidden],#bt-benchmark-legend[hidden] { display:none; }
#bt-results .fd-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.bt-card { background:var(--panel); padding:22px; border:1px solid var(--border); border-radius:10px; margin:16px 0; }
.bt-card h3 { font-size:16px; margin:0 0 12px; }
.bt-chart-scroll { overflow:auto; }
.bt-chart { display:block; width:100%; min-width:560px; height:auto; }
.bt-legend { display:flex; gap:22px; font-size:12px; margin:12px 0; }
.bt-legend span::before { content:''; display:inline-block; width:24px; border-top:3px solid var(--accent); margin-right:8px; vertical-align:middle; }
.bt-legend #bt-benchmark-legend::before { border-top:3px dashed var(--bt-benchmark); }
#bt-date { width:100%; accent-color:var(--accent); margin:15px 0 6px; }
#bt-readout { min-height:2.8em; font-variant-numeric:tabular-nums; }
#bt-months td { min-width:62px; padding:12px 9px; font-size:11px; }
#bt-months th:not(:first-child) { min-width:62px; padding:12px 9px; }
#bt-months th:first-child { min-width:70px; }
.bt-method { font-size:12px; line-height:1.8; color:var(--muted); margin:18px 0; }
.bt-method summary { cursor:pointer; font-weight:600; color:var(--text); }
.bt-risk-controls { margin-top:25px; padding-top:18px; border-top:1px solid var(--border); }
.bt-risk-controls h3 { font-size:14px; margin:0 0 8px; }
@media(max-width:700px) { .bt-settings { grid-template-columns:repeat(2,minmax(0,1fr)); } #bt-results .fd-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .bt-card { padding:15px; } }
@media(max-width:420px) { .bt-settings { grid-template-columns:1fr; } #bt-results .fd-metric { padding:12px; } #bt-results .fd-number { font-size:20px; } }
