@font-face{font-family:Archivo;src:url("./archivo-latin-wdth-normal-R3FITQA7.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}@font-face{font-family:JetBrains Mono;src:url("./jetbrains-mono-latin-400-normal-3OOWLGQ2.woff2") format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url("./jetbrains-mono-latin-600-normal-5PVSJ4PH.woff2") format("woff2");font-weight:600;font-display:swap}:root{--bg: #0b0f14;--surface: #121821;--surface-2: #19212c;--line: #243041;--text: #e6ebf2;--muted: #8b97a9;--faint: #5d6a7d;--accent: #f7931a;--accent-ink: #1a0f00;--accent-soft: rgba(247, 147, 26, .14);--long: #2bc483;--long-soft: rgba(43, 196, 131, .14);--short: #f2555c;--short-soft: rgba(242, 85, 92, .14);--warn: #f0c04f;--warn-soft: rgba(240, 192, 79, .14);--liq: #b3263c;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--font-ui: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-num: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r: 10px;color-scheme:dark}:root[data-theme=light]{--bg: #eef1f5;--surface: #ffffff;--surface-2: #f5f7fa;--line: #d9dfe7;--text: #0e1621;--muted: #566274;--faint: #8592a3;--accent: #c76a05;--accent-ink: #ffffff;--accent-soft: rgba(199, 106, 5, .12);--long: #0f8a55;--long-soft: rgba(15, 138, 85, .1);--short: #cf333c;--short-soft: rgba(207, 51, 60, .09);--warn: #9a6b00;--warn-soft: rgba(154, 107, 0, .1);--liq: #9e1b30;--shadow: 0 10px 30px rgba(20, 30, 50, .12);color-scheme:light}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;padding-top:env(safe-area-inset-top,0px)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.pos{color:var(--long)}.neg{color:var(--short)}.flat,.muted{color:var(--muted)}.faint{color:var(--faint)}.label{font-stretch:80%;font-weight:650;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.app{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100%}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:var(--surface);padding:20px 14px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:10px;padding:0 6px}.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--accent);display:grid;place-items:center;color:var(--accent-ink);flex:none}.brand-name{font-stretch:78%;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.05;font-size:15px}.brand-name span{display:block;color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.14em}.nav{display:flex;flex-direction:column;gap:2px}.nav button{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:8px;border:0;background:none;color:var(--muted);cursor:pointer;text-align:left;font-weight:550}.nav button:hover{background:var(--surface-2);color:var(--text)}.nav button[aria-current=page]{background:var(--accent-soft);color:var(--text)}.nav button[aria-current=page] svg{color:var(--accent)}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}.main{min-width:0;padding-block:22px 40px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}.page{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-head h1{margin:0;font-size:22px;font-weight:750;font-stretch:85%;letter-spacing:.01em;text-wrap:balance}.topbar,.bottomnav{display:none}@media(max-width:959px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.main{padding-block:12px 96px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.topbar{display:flex;position:sticky;top:env(safe-area-inset-top,0px);z-index:20;align-items:center;gap:10px;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-block:8px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:30}.topbar .brand-mark{width:30px;height:30px}.topbar .tb-price{margin-left:auto;text-align:right;line-height:1.15}.bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.bottomnav button{min-height:58px;border:0;background:none;color:var(--faint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;font-weight:600;cursor:pointer}.bottomnav button[aria-current=page]{color:var(--accent)}.page-head h1{font-size:19px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;min-width:0}.card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.card-h h2{margin:0;font-size:12px;font-stretch:80%;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}.grid{display:grid;gap:16px}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}@media(max-width:1100px){.g-main{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.g-2,.g-3{grid-template-columns:minmax(0,1fr)}}.stack{display:flex;flex-direction:column;gap:12px;min-width:0}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:10px}.sep{height:1px;background:var(--line);border:0;margin:4px 0}.btn{min-height:44px;padding:0 16px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn:hover{border-color:var(--faint)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.06);border-color:var(--accent)}.btn-danger{color:var(--short)}.btn-ghost{background:none}.btn-sm{min-height:36px;padding:0 12px;font-size:13px;border-radius:8px}.btn-block{width:100%}.iconbtn{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;color:var(--text)}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px}.seg button{min-height:36px;min-width:44px;padding:0 12px;border:0;border-radius:7px;background:none;color:var(--muted);font-weight:650;cursor:pointer;font-stretch:90%}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 0 var(--line),0 0 0 1px var(--line)}.seg.seg-long button[aria-pressed=true].is-long,.seg button.is-long[aria-pressed=true]{color:var(--long)}.seg button.is-short[aria-pressed=true]{color:var(--short)}.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;border:1px solid transparent;white-space:nowrap}.pill-long{background:var(--long-soft);color:var(--long)}.pill-short{background:var(--short-soft);color:var(--short)}.pill-flat{background:var(--surface-2);color:var(--muted);border-color:var(--line)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-accent{background:var(--accent-soft);color:var(--accent)}.grade{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;font-weight:800;font-family:var(--font-num);border:1px solid var(--line);background:var(--surface-2)}.grade-A{color:var(--long);border-color:color-mix(in srgb,var(--long) 45%,var(--line))}.grade-B{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.grade-C{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}.status{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:750;letter-spacing:.08em;font-stretch:85%;text-transform:uppercase;padding:5px 9px;border-radius:7px;border:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.status i{width:7px;height:7px;border-radius:50%;background:currentColor;display:block}.status-live{color:var(--long)}.status-live i{box-shadow:0 0 0 3px var(--long-soft);animation:pulse 2s infinite}.status-cache{color:var(--warn)}.status-offline{color:var(--short)}.status-demo{color:var(--accent)}.status-loading{color:var(--muted)}@keyframes pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.status-live i{animation:none}}.stat{display:flex;flex-direction:column;gap:3px;min-width:0}.stat .v{font-family:var(--font-num);font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.stat .s{font-size:12px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px 18px}.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r);border:1px solid;font-size:13px}.banner svg{flex:none;margin-top:1px}.banner-warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.banner-info{background:var(--surface-2);border-color:var(--line);color:var(--muted)}.banner-danger{background:var(--short-soft);border-color:color-mix(in srgb,var(--short) 35%,transparent)}.price-head{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.price-big{font-family:var(--font-num);font-size:clamp(28px,6vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1}.price-sub{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px}.chart-box{height:380px;width:100%;position:relative}@media(max-width:720px){.chart-box{height:300px}}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:8px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend b{width:14px;height:2px;display:inline-block;border-radius:2px}.bias-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.bias-score{font-family:var(--font-num);font-size:44px;font-weight:600;line-height:1;letter-spacing:-.04em}.tape{position:relative;height:34px;margin:14px 0 6px}.tape-track{position:absolute;left:0;right:0;top:12px;height:10px;border-radius:6px;background:linear-gradient(90deg,var(--short) 0%,color-mix(in srgb,var(--short) 30%,var(--surface-2)) 30%,var(--surface-2) 45%,var(--surface-2) 55%,color-mix(in srgb,var(--long) 30%,var(--surface-2)) 70%,var(--long) 100%);opacity:.9}.tape-tick{position:absolute;top:8px;width:1px;height:18px;background:var(--line)}.tape-needle{position:absolute;top:2px;width:4px;height:30px;margin-left:-2px;border-radius:2px;background:var(--text);box-shadow:0 0 0 3px var(--bg);transition:left .5s ease}@media(prefers-reduced-motion:reduce){.tape-needle{transition:none}}.tape-scale{display:flex;justify-content:space-between;font-family:var(--font-num);font-size:10.5px;color:var(--faint)}.tf-chips{display:flex;gap:8px;flex-wrap:wrap}.tf-chip{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);font-size:12px}.tf-chip b{font-family:var(--font-num);font-weight:600}.sig{display:grid;grid-template-columns:minmax(0,1fr) 130px 52px;gap:6px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.sig:first-child{border-top:0}.sig-name{font-weight:650;font-size:13.5px;display:flex;gap:8px;align-items:center}.sig-w{font-size:11px;color:var(--faint);font-family:var(--font-num)}.sig-text{grid-column:1 / -1;font-size:12.5px;color:var(--muted);margin-top:-2px}.sig-bar{position:relative;height:8px;background:var(--surface-2);border-radius:4px;border:1px solid var(--line)}.sig-bar:after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--faint)}.sig-fill{position:absolute;top:0;bottom:0;border-radius:3px}.sig-val{text-align:right;font-family:var(--font-num);font-size:13px;font-weight:600}.sig.off{opacity:.5}@media(max-width:420px){.sig{grid-template-columns:minmax(0,1fr) 90px 44px}}.heat{display:flex;flex-direction:column;gap:2px;font-family:var(--font-num);font-size:11px}.heat-row{display:grid;grid-template-columns:74px minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:center;height:14px}.heat-row .p{color:var(--muted);text-align:right}.heat-row .l,.heat-row .s{height:10px;position:relative}.heat-row .l i{position:absolute;right:0;top:0;bottom:0;background:var(--long);border-radius:2px 0 0 2px;opacity:.85}.heat-row .s i{position:absolute;left:0;top:0;bottom:0;background:var(--short);border-radius:0 2px 2px 0;opacity:.85}.heat-now{grid-column:1 / -1;border-top:1px dashed var(--accent);position:relative;height:0;margin:4px 0}.heat-now span{position:absolute;left:0;top:-9px;background:var(--surface);padding-right:6px;color:var(--accent);font-weight:600}.plan-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dir{font-size:30px;font-weight:850;font-stretch:75%;letter-spacing:.04em;line-height:1}.dir-long{color:var(--long)}.dir-short{color:var(--short)}.dir-none{color:var(--muted)}.ladder{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.rung{display:grid;grid-template-columns:6px 64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px 10px 0;border-top:1px solid var(--line);background:var(--surface)}.rung:first-child{border-top:0}.rung .mk{align-self:stretch}.rung .nm{font-weight:750;font-stretch:82%;letter-spacing:.06em;font-size:12.5px}.rung .px{font-family:var(--font-num);font-size:16px;font-weight:600}.rung .meta{text-align:right;font-size:12px;color:var(--muted);line-height:1.3}.rung .meta b{font-family:var(--font-num);color:var(--text);font-weight:600}.rung-tp .mk{background:var(--long)}.rung-tp .nm{color:var(--long)}.rung-entry{background:var(--accent-soft)}.rung-entry .mk{background:var(--accent)}.rung-entry .nm{color:var(--accent)}.rung-sl .mk{background:var(--short)}.rung-sl .nm{color:var(--short)}.rung-liq .mk{background:repeating-linear-gradient(180deg,var(--liq) 0 4px,transparent 4px 8px)}.rung-liq .nm{color:var(--liq)}.rung-liq{background:var(--surface-2)}.kv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;font-size:13.5px}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:600}.buffer-bar{height:10px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line);position:relative;overflow:hidden}.buffer-bar i{position:absolute;top:0;bottom:0}.reasons{margin:0;padding-left:18px;color:var(--muted);font-size:13px;display:flex;flex-direction:column;gap:3px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:12px;color:var(--muted);font-weight:600}.field small{color:var(--faint);font-size:11.5px}.input,select.input,textarea.input{min-height:44px;width:100%;padding:0 12px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-family:var(--font-num);font-size:15px}textarea.input{padding:10px 12px;min-height:80px;font-family:var(--font-ui);font-size:14px;resize:vertical}select.input{font-family:var(--font-ui);font-size:14px}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.check{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.check input{width:20px;height:20px;accent-color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent);height:28px}.weight-row{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) 32px;gap:12px;align-items:center}.weight-row output{font-family:var(--font-num);text-align:right}.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}table.tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}.tbl th{text-align:left;font-size:11px;font-stretch:80%;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:10px 12px;border-top:1px solid var(--line);white-space:nowrap}.tbl tr:first-child td{border-top:0}.tbl td.r,.tbl th.r{text-align:right}.trade{border:1px solid var(--line);border-radius:var(--r);padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:10px}.trade.is-open{border-left:3px solid var(--accent)}.trade-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.trade-pnl{margin-left:auto;text-align:right}.trade-pnl .v{font-family:var(--font-num);font-size:18px;font-weight:600}.trade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px 14px;font-size:12.5px}.trade-grid div{display:flex;flex-direction:column}.trade-grid span{color:var(--muted);font-size:11.5px}.trade-grid b{font-family:var(--font-num);font-weight:600}.trade-actions{display:flex;gap:8px;flex-wrap:wrap}.modal-back{position:fixed;inset:0;background:#04070c99;z-index:50;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.modal{width:min(640px,100%);max-height:100%;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.modal-h{position:sticky;top:0;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);z-index:1}.modal-h h3{margin:0;font-size:16px;font-weight:750}.modal-b{padding:16px;display:flex;flex-direction:column;gap:14px}.modal-f{position:sticky;bottom:0;background:var(--surface);padding:12px 16px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}@media(max-width:600px){.modal-back{place-items:end stretch;padding:0;padding-top:max(24px,env(safe-area-inset-top,0px))}.modal{width:100%;border-radius:16px 16px 0 0;max-height:100%}.modal-f{padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}}.preview{border:1px dashed var(--line);border-radius:var(--r);padding:12px;background:var(--surface-2)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--text);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:650;box-shadow:var(--shadow);max-width:calc(100% - 32px)}@media(min-width:960px){.toast{bottom:24px}}.empty{text-align:center;padding:28px 16px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:10px}.empty svg{color:var(--faint)}.progress{height:6px;background:var(--surface-2);border-radius:4px;overflow:hidden;border:1px solid var(--line)}.progress i{display:block;height:100%;background:var(--accent);transition:width .2s}code,pre{font-family:var(--font-num);font-size:12px}pre.code{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:12px;overflow-x:auto;white-space:pre;max-height:260px}.countdown{font-family:var(--font-num);font-size:22px;font-weight:600}details.more summary{cursor:pointer;color:var(--muted);font-size:13px;min-height:36px;display:flex;align-items:center}.only-desktop{display:block}.only-mobile{display:none}@media(max-width:959px){.only-desktop{display:none}.only-mobile{display:flex}}.chart-box.empty{display:flex;flex-direction:column;align-items:center;justify-content:center}section.stack>.label{margin-top:4px}a.btn{text-decoration:none}.countdown{white-space:nowrap}.rung .px small{display:block;font-size:11.5px;color:var(--muted);font-weight:400;margin-top:1px}@media(min-width:721px){.rung .px small{display:inline;margin-left:8px}}@media(max-width:720px){.rung{grid-template-columns:6px 62px minmax(0,1fr) minmax(0,44%);gap:10px}.rung .px{font-size:15px}.rung .nm{font-size:11.5px}}
