@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/backtest/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/backtest/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/backtest/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/backtest/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/backtest/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_d79763{font-family:Geist,Geist Fallback;font-style:normal}.__variable_d79763{--font-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/backtest/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/backtest/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/backtest/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/backtest/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/backtest/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/backtest/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_f80219{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_f80219{--font-mono:"Geist Mono","Geist Mono Fallback"}:root{--bg:#0d0f13;--surface:#13161c;--surface-2:#1a1e26;--surface-3:#222733;--line:#232833;--text:#e6e9ef;--text-2:#b4bac5;--muted:#8a909c;--accent:#4c8dff;--accent-soft:rgba(76,141,255,0.14);--up:#26a69a;--down:#ef5350;--radius:6px;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans),system-ui,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.boot{height:100dvh;display:grid;place-items:center;color:var(--muted)}.btn-primary{height:34px;padding:0 16px;border:0;border-radius:var(--radius);background:var(--accent);color:#06101f;font-weight:600;transition:transform .12s ease,filter .12s ease}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-ghost{height:30px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--text-2);white-space:nowrap}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-ghost.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn-ghost.small{height:26px;padding:0 8px;font-size:12px}.icon-btn{width:30px;height:30px;display:inline-grid;place-items:center;border:0;border-radius:var(--radius);background:transparent;color:var(--text-2)}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn.active{color:var(--accent);background:var(--accent-soft)}.goto input,.select{height:30px;padding:0 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text-2)}.goto{display:flex;gap:6px}.goto input::-webkit-calendar-picker-indicator{filter:invert(.7)}.seg{display:inline-flex;padding:2px;gap:2px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.seg button{min-width:34px;height:24px;padding:0 6px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-family:var(--font-mono),monospace;font-size:12px}.seg button.on,.seg button:hover{color:var(--text)}.seg button.on{background:var(--surface-3)}.seg.small button{min-width:28px;height:22px;font-size:11px}.field{display:grid;grid-gap:6px;gap:6px}.field span{color:var(--text-2);font-size:12px}.field input{height:38px;padding:0 12px;border:1px solid #2f3542;border-radius:var(--radius);background:var(--bg);color:var(--text)}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-error{margin:0;color:#ff8a87;font-size:12px}.login{min-height:100dvh;display:grid;place-items:center;padding:16px}.login-card{width:min(360px,100%);display:grid;grid-gap:16px;gap:16px;padding:28px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.login-head h1{margin:0 0 4px;font-size:18px;font-weight:600;letter-spacing:-.01em}.login-head p{margin:0;color:var(--muted)}.login-card .btn-primary{height:38px;margin-top:4px}.app{height:100dvh;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:46px minmax(0,1fr);grid-template-areas:"top top" "rail stage";overflow:hidden}.app.with-panel{grid-template-columns:44px minmax(0,1fr) 300px;grid-template-areas:"top top top" "rail stage panel"}.topbar{grid-area:top;display:flex;align-items:center;gap:10px;padding:0 10px 0 12px;border-bottom:1px solid var(--line);background:var(--surface);min-width:0;position:relative;z-index:20}.brand{display:flex;align-items:baseline;gap:8px;margin-right:4px;white-space:nowrap}.brand-sym{font-weight:650;letter-spacing:.01em}.brand-sub{color:var(--muted);font-size:12px}.divider{width:1px;height:20px;background:var(--line);flex:none}.spacer{flex:1 1}.more{position:relative}.menu{position:absolute;z-index:30;min-width:210px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);box-shadow:0 12px 32px rgba(3,5,9,.55)}.menu-right{right:0;top:36px}.menu button{width:100%;display:flex;align-items:center;gap:8px;padding:7px 9px;border:0;border-radius:4px;background:transparent;color:var(--text-2);text-align:left;white-space:nowrap}.menu button:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.menu button.danger:hover:not(:disabled){color:#ff8a87}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 2px}.menu.ctx{position:fixed;min-width:150px}.rail{grid-area:rail;align-items:center;padding:6px 0;border-right:1px solid var(--line);background:var(--surface);overflow-y:auto;scrollbar-width:none}.rail,.tool-group{display:flex;flex-direction:column;gap:2px}.tool-group{padding-top:6px;margin-top:4px;border-top:1px solid var(--line)}.tool{width:34px;height:32px;display:grid;place-items:center;border:0;border-radius:var(--radius);background:transparent;color:var(--text-2)}.tool:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.tool.on{background:var(--accent-soft);color:var(--accent)}.tool.long:not(.on){color:var(--up)}.tool.short:not(.on){color:var(--down)}.stage{grid-area:stage;position:relative;min-width:0;min-height:0;background:var(--bg)}.stage[data-crosshair] .chart-host{cursor:crosshair}.chart-host{position:absolute;inset:0}.legend{position:absolute;top:8px;left:10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;max-width:calc(100% - 90px);pointer-events:none;font-family:var(--font-mono),monospace;font-size:12px;color:var(--muted)}.legend[data-empty]>:not(.legend-sym){visibility:hidden}.legend-sym{font-family:var(--font-sans),sans-serif;color:var(--text);font-weight:600}.legend-sym b{color:var(--muted);font-weight:500;margin-left:4px}.legend i{font-style:normal}.legend[data-dir=up] i{color:var(--up)}.legend[data-dir=down] i{color:var(--down)}.hint,.legend-t{color:var(--text-2)}.hint{top:34px;left:50%;transform:translateX(-50%);padding:6px 12px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);font-size:12px;white-space:nowrap;pointer-events:none}.hint,.state{position:absolute}.state{inset:0;display:grid;place-content:center;justify-items:center;grid-gap:14px;gap:14px;background:var(--bg);color:var(--muted);z-index:5}.state p{margin:0}.skeleton{display:flex;align-items:flex-end;gap:6px;height:90px}.skeleton span{width:7px;border-radius:2px;background:var(--surface-3);animation:pulse 1.4s ease-in-out infinite}.skeleton span:nth-child(3n){animation-delay:.2s}.skeleton span:nth-child(3n+1){animation-delay:.4s}@keyframes pulse{50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.skeleton span{animation:none}}.replay-bar{position:absolute;left:50%;bottom:38px;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 12px 32px rgba(3,5,9,.55);white-space:nowrap}.replay-tag{padding:2px 7px;border-radius:4px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600}.replay-time{min-width:150px;font-family:var(--font-mono),monospace;font-size:12px;color:var(--text-2);margin-right:2px}.replay-bar .play{background:var(--surface-3);color:var(--text)}.toast{position:absolute;right:14px;bottom:38px;z-index:20;max-width:360px;padding:9px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:12px}.panel{grid-area:panel;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:var(--surface)}.panel-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:13px;font-weight:600}.panel-head .count{font-family:var(--font-mono),monospace;flex:1 1}.panel-head .count,.panel-note{color:var(--muted);font-size:12px}.panel-note{margin:0;padding:8px 12px;border-bottom:1px solid var(--line)}.empty{padding:18px 14px;color:var(--muted);line-height:1.55}.empty p{margin:0 0 8px}.empty b{color:var(--text-2);font-weight:500}.setups{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1}.setups li{position:relative;padding:10px 12px;border-bottom:1px solid var(--line)}.setups li.sel{background:var(--accent-soft)}.setup-main{width:100%;display:grid;grid-gap:6px;gap:6px;padding:0;border:0;background:transparent;text-align:left}.setup-top{display:flex;align-items:center;gap:8px;padding-right:26px}.num{color:var(--muted);font-family:var(--font-mono),monospace;font-size:12px}.dir{font-weight:600}.dir.up{color:var(--up)}.dir.down{color:var(--down)}.outcome{margin-left:auto;padding:1px 7px;border-radius:4px;font-size:11px;background:var(--surface-3);color:var(--text-2)}.o-targethit{background:rgba(38,166,154,.16);color:#4cc3b6}.o-stophit{background:rgba(239,83,80,.16);color:#ff8a87}.o-samebar{background:rgba(224,163,58,.16);color:#e8b45a}.setup-time{color:var(--text-2);font-family:var(--font-mono),monospace;font-size:12px}.setup-time em{margin-left:8px;font-style:normal;color:var(--muted)}.setup-grid{display:grid;grid-template-columns:auto 1fr auto 1fr;grid-gap:3px 10px;gap:3px 10px;font-size:12px}.setup-grid span{color:var(--muted)}.setup-grid b{font-family:var(--font-mono),monospace;font-weight:500;color:var(--text)}.setup-grid small{color:var(--muted);font-size:11px}.setup-note{width:100%;margin-top:8px;padding:6px 8px;min-height:30px;resize:vertical;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:12px}.setup-note::placeholder{color:#6c7380}.setup-note:focus{outline:none;border-color:var(--accent)}.setup-del{position:absolute;top:6px;right:6px;width:26px;height:26px;color:var(--muted)}.modal-back{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:16px;background:rgba(5,7,10,.6)}.modal{width:min(380px,100%);display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-actions .btn-ghost{height:34px}@media (max-width:900px){.app.with-panel{grid-template-columns:44px minmax(0,1fr);grid-template-areas:"top top" "rail stage"}.panel{position:fixed;top:46px;right:0;bottom:0;width:min(320px,90vw);z-index:25}.brand-sub{display:none}}.menu kbd{margin-left:auto;padding-left:16px;font-family:var(--font-mono),monospace;font-size:11px;color:var(--muted)}.menu.ctx{min-width:230px}.interval-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:15;display:grid;justify-items:center;grid-gap:4px;gap:4px;min-width:180px;padding:14px 20px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);box-shadow:0 12px 32px rgba(3,5,9,.55)}.interval-box span{color:var(--muted);font-size:12px}.interval-box b{font-family:var(--font-mono),monospace;font-size:26px;font-weight:500}.interval-box em{font-style:normal;color:var(--text-2);font-size:12px}.modal.help{width:min(760px,100%);max-height:calc(100dvh - 32px);overflow-y:auto}.help-head{display:flex;align-items:center;justify-content:space-between}.help-head h2{margin:0;font-size:15px;font-weight:600}.help-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:18px 28px;gap:18px 28px}.help-cols h3{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-2)}.help-cols dl{margin:0;display:grid;grid-gap:7px;gap:7px}.help-cols dl div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.help-cols dt{color:var(--muted)}.help-cols dd{margin:0;font-family:var(--font-mono),monospace;color:var(--text);text-align:right}a.brand-sub{text-decoration:none}.menu .menu-link,a.brand-sub:hover{color:var(--text-2)}.menu .menu-link{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:4px;text-decoration:none}.menu .menu-link:hover{background:var(--surface-3);color:var(--text)}.modal.welcome{width:min(480px,100%);gap:12px}.welcome h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}.welcome p{line-height:1.55}.welcome p,.welcome ul{margin:0;color:var(--text-2)}.welcome ul{padding-left:18px;display:grid;grid-gap:6px;gap:6px;line-height:1.5}.welcome .fine{color:var(--muted);font-size:12px}.count-badge{min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600}.menu.ind-menu{left:0;top:36px;min-width:290px;padding:6px}.ind-row{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:4px;color:var(--text-2);cursor:pointer}.ind-row:hover{background:var(--surface-3);color:var(--text)}.ind-row input[type=checkbox]{accent-color:var(--accent);margin:0}.ind-swatch{width:10px;height:3px;border-radius:2px}.ind-label{flex:1 1;white-space:nowrap}.ind-period{width:58px;height:26px;padding:0 6px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--text);font-family:var(--font-mono),monospace;font-size:12px}.ind-period:focus{outline:none;border-color:var(--accent)}.to-latest{position:absolute;right:76px;bottom:34px;z-index:6;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--text-2);box-shadow:0 6px 18px rgba(3,5,9,.45)}.to-latest:hover{color:var(--text);border-color:var(--muted)}.data-note{color:var(--muted);font-size:12px;white-space:nowrap;margin-right:4px}@media (max-width:1180px){.data-note{display:none}}@media (max-width:1020px){.btn-ghost span,.goto{display:none}}.welcome .welcome-warn{padding:8px 10px;border-radius:var(--radius);background:rgba(224,163,58,.1);color:#e8c27a;font-size:12.5px}html[data-theme=light]{--bg:#ffffff;--surface:#f7f8fa;--surface-2:#eef0f4;--surface-3:#e3e7ed;--line:#e1e4ea;--text:#111827;--text-2:#374151;--muted:#6b7280;--accent:#2f6fe4;--accent-soft:rgba(47,111,228,0.12);color-scheme:light}html[data-theme=light] .goto input::-webkit-calendar-picker-indicator{filter:none}html[data-theme=light] .btn-primary{color:#ffffff}html[data-theme=light] .field input{border-color:#d5dae2}html[data-theme=light] .welcome .welcome-warn{background:rgba(224,163,58,.14);color:#7a4d00}html[data-theme=light] .o-targethit{color:#0f7a6e}html[data-theme=light] .field-error,html[data-theme=light] .menu button.danger:hover:not(:disabled),html[data-theme=light] .o-stophit{color:#c62828}html[data-theme=light] .o-samebar{color:#8a5a00}html[data-theme=light] .setup-note::placeholder{color:#9aa1ad}html[data-theme=light] .interval-box,html[data-theme=light] .menu,html[data-theme=light] .replay-bar,html[data-theme=light] .to-latest{box-shadow:0 10px 28px rgba(17,24,39,.12)}html[data-theme=light] .modal-back{background:rgba(17,24,39,.35)}.menu.settings-menu{min-width:300px;padding:10px 12px 12px}.set-label{margin:6px 0;color:var(--muted);font-size:12px}.settings-menu .seg{display:flex}.settings-menu .seg button{flex:1 1;font-family:var(--font-sans),sans-serif}.ind-empty{margin:4px 8px 8px;color:var(--muted);font-size:12px;line-height:1.5;max-width:280px}.ind-color{width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:4px;background:none;cursor:pointer}.ind-color::-webkit-color-swatch-wrapper{padding:2px}.ind-color::-webkit-color-swatch{border:0;border-radius:2px}.ind-remove{width:24px;height:24px}.ind-add-title{margin:4px 8px 6px;color:var(--muted);font-size:12px}.ind-add{display:flex;flex-wrap:wrap;gap:6px;padding:0 6px 4px;max-width:300px}.menu .ind-add button{width:auto;padding:5px 9px;border:1px solid var(--line);border-radius:4px;font-size:12px;gap:4px}.offer{margin:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);font-size:12px;line-height:1.5;color:var(--text-2)}.offer p{margin:0 0 8px}.offer .offer-title{margin-bottom:4px;color:var(--text);font-weight:600;font-size:12.5px}.offer-link{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-weight:500;text-decoration:none}.offer-link:hover{text-decoration:underline}.ind-row{cursor:default}.panel .empty{flex:1 1}.ind-menu .ind-row{display:grid;grid-template-columns:24px minmax(0,1fr) 62px 26px;align-items:center;grid-gap:10px;gap:10px}.ind-menu .ind-row .ind-label{overflow:hidden;text-overflow:ellipsis}.ind-menu .ind-row .ind-period:only-of-type{grid-column:3}.ind-menu .ind-color{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;min-width:24px;height:22px;flex:none}.ind-menu .ind-remove{grid-column:4}.ind-menu{min-width:320px}.data-credit{margin:-4px 12px 10px;color:var(--muted);font-size:11px;line-height:1.4}