:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;width:100%;min-width:320px;min-height:100vh}#root{width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{width:100%;margin:0;padding:2rem;text-align:left;display:flex;flex-direction:column;gap:1.5rem;box-sizing:border-box}.app h1{margin:0 0 .25rem;font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.backend-health-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}.backend-health-dot{width:12px;height:12px;border-radius:9999px;border:1px solid rgba(255,255,255,.55)}.backend-health-dot.is-healthy{background-color:#22c55e}.backend-health-dot.is-unhealthy{background-color:#ef4444}@media (prefers-color-scheme: light){.backend-health-dot{border-color:#00000059}}.card{padding:1.75rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);box-shadow:0 1px 3px #00000014}@media (prefers-color-scheme: light){.card{border-color:#00000014;box-shadow:0 1px 3px #0000000f}}.card h2{margin:0 0 1rem;font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#ffffffb3}@media (prefers-color-scheme: light){.card h2{color:#0000008c}}.section-hint{margin:-.5rem 0 1rem;font-size:.9rem;color:#fff9}@media (prefers-color-scheme: light){.section-hint{color:#00000080}}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem 1.5rem}.form-grid label{display:flex;flex-direction:column;gap:.25rem}.form-grid label input[type=checkbox]{width:auto;margin-right:.5rem}.form-grid input,.form-grid select{padding:.5rem .75rem;border-radius:6px;border:1px solid #555;font-size:.9375rem}.form-grid input:focus,.form-grid select:focus{outline:none;box-shadow:0 0 0 2px #646cff59}.form-grid input[readonly]{cursor:not-allowed;background-color:#ffffff0f}@media (prefers-color-scheme: light){.form-grid input,.form-grid select{border-color:#ccc}.form-grid input:focus,.form-grid select:focus{box-shadow:0 0 0 2px #646cff40}.form-grid input[readonly]{background-color:#eee}}.form-grid-compact{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.backtest-config-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem 1.25rem}.backtest-config-card .form-grid label{font-size:.9rem;font-weight:500}.form-grid-button-wrap{display:flex;align-items:flex-end}.form-grid-button-wrap .btn-secondary{width:100%;max-width:240px}button{padding:.5rem 1rem;border-radius:6px;font-size:.9375rem;cursor:pointer;border:1px solid transparent}button.primary{background-color:#646cff;color:#fff;padding:.6rem 1.25rem;font-weight:500}button.primary:hover{background-color:#535bf2}.btn-secondary{background-color:#ffffff14;color:inherit;border-color:#fff3}.btn-secondary:hover:not(:disabled){background-color:#ffffff1f}@media (prefers-color-scheme: light){.btn-secondary{background-color:#0000000d;border-color:#0000001f}.btn-secondary:hover:not(:disabled){background-color:#00000014}}.btn-ghost{background:transparent;color:#ffffffb3}.btn-ghost:hover:not(:disabled){background-color:#ffffff0f;color:inherit}@media (prefers-color-scheme: light){.btn-ghost{color:#0009}.btn-ghost:hover:not(:disabled){background-color:#0000000d;color:inherit}}button:disabled{opacity:.6;cursor:not-allowed}.card-token .btn-secondary,.card-token .btn-ghost{margin-right:.5rem}.token-saved-msg{display:inline-block;margin-left:.75rem;font-size:.875rem;font-weight:500}.token-status-ok{color:#22c55e}.token-status-warn{color:#f59e0b}@media (prefers-color-scheme: light){.token-status-ok{color:#16a34a}.token-status-warn{color:#b45309}}.token-form-block{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}@media (prefers-color-scheme: light){.token-form-block{border-top-color:#0000001a}}.token-form-block label{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.token-form-block .input-full{width:100%;padding:.5rem .75rem;border-radius:6px;border:1px solid #555;font-size:.9375rem}.token-form-block .input-full:focus{outline:none;box-shadow:0 0 0 2px #646cff59}@media (prefers-color-scheme: light){.token-form-block .input-full{border-color:#ccc}}.token-form-actions{display:flex;align-items:center;gap:.5rem}.expiries-note{margin-top:1rem;font-size:.9rem}.expiries-note .expiries-error{color:#ff6b6b}.expiries-note .expiries-message{color:#ffffff8c}@media (prefers-color-scheme: light){.expiries-note .expiries-message{color:#00000080}}.error{padding:1rem;margin-bottom:1rem;border-radius:8px;background-color:#ff505033;color:#ff6b6b}.run-log-section details{border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.75rem}.run-log-section summary{cursor:pointer;font-weight:600;margin-bottom:.5rem}.backtest-log{margin:.75rem 0 0;max-height:340px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.82rem;line-height:1.45;padding:.75rem;border-radius:6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1)}@media (prefers-color-scheme: light){.run-log-section details{border-color:#0000001f}.backtest-log{background:#00000006;border-color:#0000001a}}.phase-help{margin-bottom:1rem;padding:.75rem 1rem;border-radius:6px;border:1px solid rgba(255,255,255,.15)}.phase-help summary{cursor:pointer;font-weight:600}.phase-help-content{margin-top:.75rem;font-size:.9rem;line-height:1.5;color:#ffffffd9}.phase-help-content p{margin:.5rem 0}.phase-help-content p:first-child{margin-top:0}@media (prefers-color-scheme: light){.phase-help{border-color:#0000001f}.phase-help-content{color:#000c}}.results-summary{margin-bottom:1rem;padding:.75rem 1rem;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#ffffff08}.results-summary h3{margin:0 0 .5rem;font-size:1rem}.results-summary dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1.5rem;margin:0;font-size:.9rem}.results-summary dt{font-weight:600;color:#ffffffd9}.results-summary dd{margin:0}@media (prefers-color-scheme: light){.results-summary{border-color:#0000001f;background:#00000005}.results-summary dt{color:#000c}}.table-section{overflow:visible}.graph-full-width{width:100vw;position:relative;left:50%;margin-left:-50vw;box-sizing:border-box;flex-shrink:0}.table-wrap{overflow-x:auto;max-height:70vh;overflow-y:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{padding:.5rem .75rem;border:1px solid rgba(255,255,255,.1);text-align:left;white-space:nowrap}@media (prefers-color-scheme: light){th,td{border-color:#0000001a}}th{position:sticky;top:0;background-color:#333;font-weight:600}@media (prefers-color-scheme: light){th{background-color:#eaeaea}}tbody tr.phase-change{border-top:3px solid #646cff;box-shadow:0 -1px #646cff4d}tbody tr.phase-change td{padding-top:.75rem}tbody tr:hover{background-color:#ffffff0d}@media (prefers-color-scheme: light){tbody tr.phase-change{border-top-color:#535bf2;box-shadow:0 -1px #535bf266}tbody tr:hover{background-color:#00000008}}.save-run-btn{padding:.5rem 1rem;border-radius:6px;cursor:pointer}.save-run-btn.btn-secondary{margin-right:.5rem}.combined-results-section{margin-top:1rem}.combined-results-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.25rem}.combined-results-header h2{margin-bottom:0}.clear-saved-btn{padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.875rem;background-color:#ff505026;color:#ff6b6b;border:1px solid rgba(255,80,80,.4)}.clear-saved-btn:hover{background-color:#ff505040}@media (prefers-color-scheme: light){.clear-saved-btn{background-color:#ff50501a;color:#c92a2a;border-color:#ff505059}.clear-saved-btn:hover{background-color:#ff505033}}.combined-hint{margin:0 0 .75rem;font-size:.9rem;color:#ffffffbf}@media (prefers-color-scheme: light){.combined-hint{color:#000000a6}}.combined-expiry-select{margin-bottom:1rem}.select-all-expiries-btn{padding:.4rem .75rem;margin-bottom:.5rem;border-radius:4px;cursor:pointer;font-size:.875rem}.expiry-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.expiry-checkbox-label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;font-size:.9rem}.expiry-checkbox-label input{width:auto;margin:0}.combined-summary{margin-bottom:1rem}.combined-expiry-table-wrap{max-height:40vh}.combined-expiry-table th,.combined-expiry-table td{white-space:normal}.combined-expiry-table td:nth-child(3),.combined-expiry-table td:nth-child(4){white-space:nowrap;font-size:.8rem}
