.backtest-page{color-scheme:light;--bt-pink:#e86ca7;--bt-pink-soft:#ffe5f1;--bt-purple:#9b7bdd;--bt-blue:#75bfe8;--bt-ink:#4e3949;--bt-muted:#7f6b7a;background:radial-gradient(circle at 8% 8%,rgba(255,193,223,.55),transparent 28%),radial-gradient(circle at 92% 12%,rgba(215,202,255,.5),transparent 30%),radial-gradient(circle at 50% 85%,rgba(204,239,255,.55),transparent 35%),linear-gradient(145deg,#fff9fc,#fff1f8 48%,#f5efff 76%,#eef9ff);color:var(--bt-ink)}
.backtest-page .site-header{background:linear-gradient(120deg,rgba(255,250,253,.95),rgba(255,231,245,.92),rgba(242,236,255,.92));border-bottom-color:rgba(232,108,167,.35);box-shadow:0 12px 34px rgba(180,104,148,.12)}
.backtest-page .eyebrow{color:#bc4d82}.backtest-page h1{color:#4f384a}.backtest-page .subtitle,.backtest-page .header-meta{color:var(--bt-muted)}
.backtest-container{max-width:1240px;padding-top:24px}.backtest-container>.panel,.detail-grid>.panel{border:1px solid rgba(230,155,194,.4);background:rgba(255,255,255,.88);box-shadow:0 18px 48px rgba(184,108,153,.11);backdrop-filter:blur(14px)}
.sandbox-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;margin-bottom:18px;background:linear-gradient(120deg,rgba(255,255,255,.92),rgba(255,231,244,.82),rgba(239,235,255,.8))!important}.sandbox-intro h2{margin:7px 0 6px}.sandbox-intro p{margin:0;line-height:1.75;color:var(--bt-muted)}.sandbox-label,.step-chip{display:inline-flex;padding:5px 10px;border-radius:999px;background:var(--bt-pink-soft);color:#a94375;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.setup-panel,.results-panel,.methodology-panel{padding:24px;margin-bottom:18px}.sandbox-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.sandbox-heading h2{margin:8px 0 6px;color:#52394e}.sandbox-heading p{margin:0;color:var(--bt-muted);line-height:1.65}.mode-switch{display:flex;gap:8px;flex-shrink:0}.mode-switch .button.active{color:#fff;background:linear-gradient(135deg,var(--bt-pink),var(--bt-purple));border-color:transparent}
.entry-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.entry-preset{min-height:118px;padding:16px;border:1px solid #efc9dc;border-radius:18px;background:linear-gradient(145deg,#fff,#fff0f7);color:var(--bt-ink);cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:5px;box-shadow:0 8px 22px rgba(184,112,151,.07);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.entry-preset:nth-child(3n+2){background:linear-gradient(145deg,#fff,#f4edff);border-color:#dccaf2}.entry-preset:nth-child(3n){background:linear-gradient(145deg,#fff,#edf9ff);border-color:#c9e8f5}.entry-preset:hover{transform:translateY(-2px)}.entry-preset.active{border-color:var(--bt-pink);box-shadow:0 0 0 3px rgba(232,108,167,.14),0 12px 28px rgba(184,112,151,.13)}.entry-preset>span{font-size:1.45rem}.entry-preset strong{font-size:1rem}.entry-preset small{color:var(--bt-muted);line-height:1.45}
.custom-panel{padding:18px;border:1px solid #efd2e0;border-radius:18px;background:linear-gradient(120deg,#fff8fc,#f8f2ff)}.custom-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.custom-grid label,.portfolio-controls label{display:flex;flex-direction:column;gap:7px;color:#765f70;font-size:.78rem;font-weight:800}.custom-grid input,.custom-grid select,.portfolio-controls select{min-height:43px;color:#513e4d;background:#fff;border-color:#e7bfd3}.check-control{min-height:43px;padding:10px 12px;border:1px solid #edd0df;border-radius:12px;background:#fff;display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important}.check-control input{min-height:auto;width:18px;height:18px;accent-color:var(--bt-pink)}
.portfolio-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.range-line{display:flex;align-items:center;gap:12px;min-height:43px;padding:0 12px;border:1px solid #e7bfd3;border-radius:9px;background:#fff}.range-line input{flex:1;accent-color:var(--bt-pink)}.range-line output{min-width:52px;color:#a54a79;font-weight:900}.run-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:15px 16px;border-radius:15px;background:linear-gradient(90deg,#fff3f9,#f5efff)}.run-row p{margin:0;color:#735e6e;line-height:1.55}.run-button{min-width:210px;color:#fff;background:linear-gradient(135deg,var(--bt-pink),var(--bt-purple));border-color:transparent;font-weight:900}.sandbox-notice{margin:13px 0 0;padding:12px 14px;border:1px solid #efd2df;border-radius:13px;background:#fff9fc;color:#7c6676;font-size:.82rem;line-height:1.65}
.result-heading{align-items:flex-end}.backtest-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px}.backtest-stats article{min-height:96px;padding:15px;border:1px solid #efcada;border-radius:16px;background:linear-gradient(145deg,#fff,#fff0f7);display:flex;flex-direction:column;justify-content:space-between}.backtest-stats article:nth-child(3n+2){background:linear-gradient(145deg,#fff,#f4edff);border-color:#dccaf2}.backtest-stats article:nth-child(3n){background:linear-gradient(145deg,#fff,#edf9ff);border-color:#c9e8f5}.backtest-stats span{color:var(--bt-muted);font-size:.76rem}.backtest-stats strong{font-size:1.35rem;color:#503b4c}.backtest-stats strong.positive{color:#b33e78}.backtest-stats strong.negative{color:#347fa5}.chart-shell{position:relative;height:430px;padding:14px;border:1px solid #efd4e1;border-radius:18px;background:rgba(255,255,255,.75)}.chart-legend-note{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:9px;color:#806c7a;font-size:.76rem}.portfolio-dot,.benchmark-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--bt-pink)}.benchmark-dot{margin-left:10px;background:var(--bt-blue)}
.matrix-panel{margin-bottom:18px;padding:0;overflow:hidden}.matrix-panel summary{padding:18px 22px;cursor:pointer;color:#82536f;font-weight:900;background:linear-gradient(90deg,#fff6fb,#f5efff)}.matrix-body{padding:18px 22px 22px}.matrix-body>p{margin-top:0;color:var(--bt-muted);line-height:1.65}.matrix-table th,.matrix-table td{text-align:center}.matrix-table th:first-child,.matrix-table td:first-child{text-align:left;font-weight:900}.matrix-cell{width:100%;min-height:38px;border:1px solid #efd2df;border-radius:9px;background:#fff8fc;color:#795f70;font-weight:900;cursor:pointer}.matrix-cell.positive{color:#a93d72;background:#ffeaf4}.matrix-cell.negative{color:#347da1;background:#edf8ff}.matrix-cell.selected{box-shadow:0 0 0 3px rgba(232,108,167,.18);border-color:var(--bt-pink)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.detail-panel{padding:22px;min-width:0}.compact-table{font-size:.78rem}.compact-table td,.compact-table th{white-space:nowrap}.methodology-panel h2{margin-top:0}.methodology-panel p{color:var(--bt-muted);line-height:1.75}.methodology-panel p:last-child{margin-bottom:0}.empty-cell{text-align:center!important;color:#8b7483;padding:28px!important}.loading-overlay{opacity:.55;pointer-events:none}
@media(max-width:980px){.entry-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.custom-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.backtest-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}}
@media(max-width:650px){.backtest-container{width:min(100% - 16px,1240px)}.sandbox-intro,.sandbox-heading,.run-row{align-items:flex-start;flex-direction:column}.sandbox-intro .button,.run-button{width:100%}.setup-panel,.results-panel,.methodology-panel{padding:16px}.entry-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.entry-preset{min-height:108px;padding:14px}.custom-grid,.portfolio-controls{grid-template-columns:1fr}.mode-switch{width:100%}.mode-switch .button{flex:1}.backtest-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.backtest-stats article{min-height:82px;padding:12px}.backtest-stats strong{font-size:1.13rem}.chart-shell{height:330px;padding:8px}.matrix-body{padding:14px}.matrix-table{min-width:620px}.detail-panel{padding:16px}}
@media(prefers-reduced-motion:reduce){.entry-preset{transition:none}}
