@charset "UTF-8";
:root{--primary:#206a50;--on-primary:#fff;--primary-container:#c0edce;--on-container:#15432c;--surface:#f7faf5;--surface-low:#eef3ec;--surface-high:#e5ede3;--outline:#dbe4d8;--ink:#202920;--muted:#697366;--positive:#267657;--negative:#b74e49;--radius:24px;font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--surface-low);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .18s,box-shadow .18s,transform .18s}button:disabled{opacity:.5;cursor:wait}button:active{transform:scale(.98)}button:focus-visible,a:focus-visible{outline:3px solid #82b790;outline-offset:3px}button:hover{background:var(--surface-high)}[hidden]{display:none!important}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:34px;letter-spacing:-1.2px;font-weight:500;margin-bottom:8px}h2{font-size:16px;font-weight:600;margin:0}h3{font-size:22px;letter-spacing:-.6px;font-weight:500;margin-bottom:8px}p{line-height:1.8}svg{width:20px;height:20px;display:block;flex-shrink:0}button svg{pointer-events:none}label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted)}input,select{background:transparent;border:1px solid #aebbab;border-radius:9px;color:var(--ink);padding:12px;min-width:0;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px;padding:0;margin:0}.primary,.tonal,.outlined{border-radius:999px;padding:13px 22px;font-size:13px;font-weight:600;min-height:44px;white-space:nowrap}.primary{background:var(--primary);color:var(--on-primary)}.primary:hover{background:#145039;box-shadow:0 3px 10px #17483122}.tonal{background:var(--primary-container);color:var(--on-container)}.tonal:hover{background:#a5dcb9}.outlined{border:1px solid var(--outline)}.text-btn{border-radius:20px;font-size:12px;padding:8px 10px;color:var(--primary);white-space:nowrap}.icon-btn{border-radius:50%;height:40px;width:40px;padding:10px}.pill{font-size:10px;letter-spacing:.3px;border-radius:8px;display:inline-flex;align-items:center;padding:5px 9px;white-space:nowrap;background:var(--surface-high);font-weight:500}.mint{background:var(--primary-container);color:var(--on-container)}.small{font-size:12px}.muted{color:var(--muted)}.positive{color:var(--positive)}.negative,.danger{color:var(--negative)}.full{width:100%}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:600;display:block;margin-bottom:10px}.brand{display:flex;align-items:center;gap:12px;letter-spacing:3px;font-size:15px;font-weight:650}.brand-sub{font-size:9px;font-weight:500;color:var(--muted);letter-spacing:1.6px}.brandmark{height:42px;width:42px;border-radius:15px;background:var(--primary);color:#e3fadd;display:inline-flex;align-items:center;justify-content:center;font:italic 40px/.8 Georgia;letter-spacing:-2px;padding:0 4px 5px 0;text-decoration:none!important}.rail{position:fixed;inset:0 auto 0 0;width:88px;display:flex;align-items:center;flex-direction:column;padding:23px 0 18px;border-right:1px solid var(--outline);gap:36px;z-index:10;background:var(--surface-low)}.rail nav{display:flex;flex-direction:column;gap:20px;width:100%}.nav{display:flex;flex-direction:column;gap:5px;padding:0;border-radius:0;font-size:12px}.nav>span{width:58px;height:34px;display:grid;place-items:center;border-radius:18px}.nav.active>span{background:var(--primary-container);color:var(--on-container)}.nav.active small{font-weight:650}.nav:hover{background:none}.nav:hover>span{background:var(--surface-high)}.rail>.icon-btn{margin-top:auto}.main-wrap{margin-left:88px}.topbar{height:78px;margin:0 34px;border-bottom:1px solid var(--outline);display:flex;justify-content:space-between;align-items:center}.top-actions{display:flex;align-items:center;gap:20px}.connection{font-size:11px;color:var(--primary)}.avatar{border-radius:50%;width:30px;height:30px;background:#dbe4d7;display:grid;place-items:center;font-size:12px}main{padding:29px 34px 0;max-width:1840px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}.page-heading p{font-size:12px;margin:0}.heading-dot{color:#72aa70}.heading-actions{display:flex;align-items:center;gap:18px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{border-radius:20px;background:var(--surface);padding:20px 22px;min-width:0}.price-metric{background:#dfeeda}.metric-label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;min-height:25px;gap:8px}.metric-label>span:last-child:not(.pill){font-size:10px}.metric-number{font-family:"Segoe UI",sans-serif;font-weight:450;letter-spacing:-1px;font-size:30px;font-variant-numeric:tabular-nums;margin:9px 0}.card{border-radius:var(--radius);background:var(--surface);overflow:hidden}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:20px 22px}.desk-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;margin-bottom:20px}.instrument{display:flex;align-items:center;gap:11px}.instrument h2{font-size:16px;margin-bottom:3px}.btc{width:38px;height:38px;border-radius:50%;background:#e4eddb;color:#657d4b;font-size:26px;display:grid;place-items:center}.chart-head-actions{display:flex;align-items:center;gap:8px}.chart-head-actions select{border:0;font-size:12px;padding:7px;background:var(--surface-low);border-radius:16px}.chart-toolbar{display:flex;align-items:center;padding:0 18px 10px;gap:4px;border-bottom:1px solid var(--outline);flex-wrap:wrap}.segments{display:flex;border:1px solid var(--outline);border-radius:20px;overflow:hidden;margin-right:auto}.segments button{font-size:11px;padding:7px 11px;border-right:1px solid var(--outline)}.segments button:last-child{border-right:0}.selected{color:var(--primary);background:var(--primary-container)!important}.indicator-row{padding:12px 20px;display:flex;gap:16px;flex-wrap:wrap}.indicator-row label{flex-direction:row;align-items:center;gap:5px;font-size:10px;cursor:pointer}.ohlc{padding:2px 21px 6px;min-height:25px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;display:flex;gap:10px;flex-wrap:wrap}.main-chart{height:330px;width:100%}.subchart{position:relative;border-top:1px solid var(--outline)}.subchart>div{height:125px}.subchart-label{position:absolute;z-index:2;left:15px;top:5px;font-size:9px;color:var(--muted);pointer-events:none}.chart-footer{border-top:1px solid var(--outline);display:flex;justify-content:space-between;padding:6px 10px;gap:4px;flex-wrap:wrap}.chart-footer>div{display:flex}.chart-footer .text-btn{font-size:10px;padding:7px 9px}.chart-message{padding:0 20px 12px;font-size:10px}.chart-card:fullscreen{background:var(--surface);border-radius:0;display:flex;flex-direction:column}.chart-card:fullscreen .main-chart{flex:1;min-height:200px}.strategy-column{display:flex;flex-direction:column;gap:16px}.strategy-card{padding:0 22px 20px;flex:1}.strategy-card .card-head{padding:21px 0}.strategy-glyph{background:#e8f0dd;width:60px;height:48px;border-radius:17px;display:flex;align-items:center;justify-content:center;font-size:34px;color:#588547;margin:10px 0 17px}.strategy-glyph span{font-size:23px;color:#90a983}.strategy-card h3{font-size:18px}.rule-list{margin:22px 0}.rule-list>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--outline);padding:10px 0;font-size:11px}.rule-list dt{color:var(--muted)}.rule-list dd{margin:0;font-weight:600}.status-card{padding:0 20px 8px}.status-card .card-head{padding:18px 0 12px}.status-card p{margin-bottom:10px}.status-dot{width:7px;height:7px;border-radius:50%;background:#7aa272}.note{padding:15px 17px;background:var(--surface-high);font-size:11px;color:#586651;line-height:1.85;border-radius:13px}.status-card .note{padding:12px;font-size:10px}.status-card #last-update{margin-top:10px;font-size:10px}.position-card .card-head{border-bottom:1px solid var(--outline);padding:12px 18px}.tabs{display:flex;gap:5px}.tabs button{padding:9px 12px;border-radius:18px;font-size:12px}.tabs button span{font-size:10px;opacity:.7}.empty-state{display:flex;align-items:center;justify-content:center;gap:17px;min-height:160px;padding:25px;text-align:left}.empty-state .empty-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:var(--surface-high);font-size:25px;color:#889681}.empty-state h3{font-size:14px;margin-bottom:6px}.empty-state p{font-size:11px;margin:0;color:var(--muted)}.table-wrap{overflow:auto;max-height:440px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px;font-variant-numeric:tabular-nums;text-align:left}th{background:var(--surface);position:sticky;top:0;color:var(--muted);font-weight:500;padding:13px 20px;z-index:1}td{padding:14px 20px;border-top:1px solid var(--outline)}.event-list{padding:10px 22px;max-height:270px;overflow:auto}.event-row{padding:10px 0;display:flex;gap:20px;font-size:12px}.event-row time{color:var(--muted);white-space:nowrap}.footer{display:flex;justify-content:space-between;padding:23px 34px;font-size:9px;letter-spacing:.8px;color:var(--muted)}.footer a{font-size:9px;color:var(--muted)}.backtest-setup{padding:23px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.backtest-setup>div:first-child{margin-right:auto}.backtest-setup p{margin:6px 0 0}.backtest-setup input{font-size:12px}.quick-dates{display:flex;gap:2px}.draft-banner{display:flex;align-items:center;gap:12px;margin:18px 0 24px;font-size:12px;color:var(--muted);flex-wrap:wrap}.draft-banner .pill{margin-left:auto}.empty-lab{min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.lab-art{width:85px;height:85px;display:grid;place-items:center;background:var(--primary-container);color:var(--primary);font-size:60px;border-radius:29px;transform:rotate(-8deg);margin-bottom:28px}.empty-lab h2{font-size:20px;font-weight:500;margin-bottom:14px}.empty-lab p{font-size:12px}.progress-card{padding:20px;margin-bottom:20px;font-size:13px}progress{width:100%;height:6px;accent-color:var(--primary);margin-top:16px}.equity-chart{height:300px}.assumptions{margin:18px 0}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1350px}.config-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:7px 24px 24px}.span2{grid-column:span 2}.editor-note{margin:0 24px 24px}.code-editor{display:block;width:calc(100% - 40px);margin:0 20px;background:#edf2e9;color:#284c38;border:1px solid transparent;border-radius:16px;padding:22px;min-height:410px;line-height:1.9;resize:vertical;font:12px/1.9 Consolas,"Cascadia Code",monospace;tab-size:2;outline:none}.editor-footer{display:flex;align-items:center;justify-content:space-between;padding:20px;gap:15px}.account-actions{padding:24px;margin-top:20px}.account-actions p{margin:13px 0 20px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1350px}.guide-grid .card{padding:28px}.guide-grid h2{font-size:21px;font-weight:500;margin:16px 0}.guide-grid p{font-size:13px;color:var(--muted)}.guide-number{color:var(--primary);font-size:14px;font-family:Consolas,monospace}.attribution{margin-top:20px;max-width:1350px}.login-shell{display:grid;grid-template-columns:1.2fr 1fr;min-height:100vh;padding:20px;gap:20px}.login-art{background:#e0ecd7;border-radius:30px;padding:36px 42px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;min-height:650px}.login-art h1{font-size:clamp(40px,5vw,76px);font-weight:400;line-height:1.3;letter-spacing:-3px;margin:20px 0}.login-art p{font-size:15px;color:#5d7056;line-height:1.9}.login-art>.small{font-size:10px;letter-spacing:1.5px;color:#697c60}.login-form{max-width:360px;align-self:center;justify-self:center;width:100%}.login-form h2{font-size:30px;margin:25px 0 10px;font-weight:450;letter-spacing:-.5px}.login-form>p{font-size:13px}.login-form label{margin:30px 0 20px}.login-form .primary{width:100%;justify-content:space-between}.login-form .note{margin-top:30px}.login-chart{height:100px;display:flex;align-items:center;gap:16px;margin-top:28px;opacity:.8}.login-chart i{height:45px;width:17px;background:#6f9160;border-radius:2px;position:relative;display:block}.login-chart i:before{content:"";position:absolute;width:1px;top:-14px;bottom:-14px;background:inherit;left:8px}.login-chart i:nth-child(2n){background:#afbba3;height:29px;transform:translateY(15px)}.login-chart i:nth-child(3n){height:63px;transform:translateY(-8px)}.login-chart i:nth-child(n+8){transform:translateY(-30px)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#273c2e;color:#f1f8ee;padding:15px 24px;border-radius:14px;box-shadow:0 6px 30px #0002;z-index:100;font-size:13px;max-width:90vw}dialog{border:0;border-radius:27px;padding:28px;max-width:430px;background:var(--surface);color:var(--ink);box-shadow:0 20px 90px #0003}dialog::backdrop{background:#15211866}dialog h2{font-size:22px;font-weight:500}dialog p{font-size:13px;color:var(--muted);margin-top:18px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}
@media(min-width:1550px){.main-chart{height:415px}.desk-grid{grid-template-columns:minmax(0,1fr) 310px}.metric-number{font-size:36px}}@media(max-width:1200px){main{padding:25px 22px 0}.topbar{margin:0 22px}.desk-grid{grid-template-columns:minmax(0,1fr) 248px;gap:14px}.metric{padding:17px}.metric-number{font-size:26px}.strategy-card{padding:0 17px 17px}.heading-actions>#clock{display:none}.indicator-row{gap:10px}.chart-toolbar{padding-left:12px}.segments button{padding:7px 9px}.backtest-setup{gap:16px}.backtest-setup>div:first-child{width:100%}}
@media(max-width:980px){.desk-grid{grid-template-columns:1fr}.strategy-column{display:grid;grid-template-columns:1fr 1fr}.strategy-glyph{display:none}.strategy-card h3{margin-top:12px}.strategy-card .rule-list{margin:15px 0}.editor-grid{grid-template-columns:1fr}.heading-actions{gap:8px}.page-heading h1{font-size:28px}.metrics-grid{gap:10px}.metric-number{font-size:24px}.metric-label{font-size:10px}.price-metric .pill{display:none}.login-art{padding:28px}.login-form{padding:20px}}
@media(max-width:700px){.rail{inset:auto 0 0;width:100%;height:67px;flex-direction:row;padding:5px 12px;border-right:0;border-top:1px solid var(--outline)}.rail>.brandmark,.rail>.icon-btn{display:none}.rail nav{flex-direction:row;justify-content:space-around;gap:0}.nav>span{height:28px;width:54px}.nav small{font-size:10px}.main-wrap{margin-left:0;margin-bottom:67px}.topbar{height:62px;margin:0 18px}.top-actions{gap:9px}.topbar .brand-sub,.top-actions .avatar{display:none}.top-actions .connection{font-size:9px}main{padding:23px 15px 0}.page-heading{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:20px}.page-heading h1{font-size:28px}.page-heading p{font-size:11px}.eyebrow{font-size:9px}.metrics-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:15px;border-radius:19px}.metric-number{font-size:26px}.metric .small{font-size:10px}.card-head{padding:16px}.chart-toolbar{gap:2px}.segments{width:100%;margin-bottom:6px;justify-content:space-between}.segments button{flex:1;padding:8px}.indicator-row{padding:10px 14px;gap:10px}.ohlc{padding:3px 14px;font-size:9px;gap:7px}.main-chart{height:310px}.strategy-column{grid-template-columns:1fr}.status-card{display:none}.strategy-card .strategy-glyph{display:none}.rule-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.strategy-card .card-head{padding-bottom:10px}.position-card .card-head{align-items:flex-start;flex-direction:column;gap:3px}.tabs button{font-size:11px}.footer{padding:20px 16px;gap:12px;font-size:8px}.footer>span>.muted{display:none}.guide-grid{grid-template-columns:1fr}.guide-grid .card{padding:23px}.backtest-setup{padding:20px;gap:18px}.backtest-setup>label{width:100%}.backtest-setup .primary{margin-left:auto}.draft-banner{font-size:11px}.draft-banner .pill{margin-left:0}.config-form{padding:8px 18px 20px;gap:18px 14px}.config-form label{font-size:10px}.config-form input,.config-form select{font-size:12px;padding:11px 8px}.editor-footer{flex-wrap:wrap}.code-editor{font-size:11px;padding:15px}.login-shell{grid-template-columns:1fr;padding:12px;gap:0}.login-art{min-height:300px;padding:22px;border-radius:24px}.login-art .eyebrow,.login-art p,.login-art>.small,.login-chart{display:none}.login-art h1{font-size:38px;margin:27px 0 15px}.login-form{padding:32px 20px;max-width:400px}.login-form h2{font-size:25px;margin-top:17px}.login-form label{margin-top:20px}.login-form .note{margin-top:20px}.empty-lab{min-height:350px}.empty-lab h2{font-size:17px}.chart-footer .text-btn{font-size:9px;padding:7px}.table-wrap{max-height:350px}th,td{padding:12px 15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.admission-card{padding:24px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #d4dfcf}.admission-card h2{font-size:19px}.admission-card p{margin:10px 0 0}.admission-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;min-width:230px}.admission-actions .pill{width:100%;justify-content:center}.account-content{padding:0 24px 24px}.account-setup{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:26px}.account-setup h3{font-size:17px}.account-setup code{font-size:12px;overflow-wrap:anywhere}pre{padding:18px;border-radius:14px;background:#e9f0e5;overflow:auto;font:12px/1.9 Consolas,monospace;color:#345b40}.account-metrics{grid-template-columns:1fr 1fr;margin-top:22px}.account-table{margin-top:20px}.chart-head-actions{flex-wrap:wrap;justify-content:flex-end}.metric-label #quote-symbol{font-size:11px!important}
@media(max-width:700px){.admission-card{flex-direction:column;align-items:stretch;padding:20px}.admission-actions{justify-content:flex-start;min-width:0}.admission-actions .pill{width:auto}.account-setup{grid-template-columns:1fr;gap:15px}.account-content{padding:0 18px 20px}.account-metrics .metric-number{font-size:21px}.chart-card>.card-head{flex-wrap:wrap}.chart-head-actions{margin-left:auto}.chart-head-actions select{font-size:11px}.nav>span{width:50px}.top-actions .pill{font-size:8px}.connection{max-width:115px}.account-setup pre{font-size:11px}}
