.chart{flex:1;min-height:320px;position:relative}.chart svg{display:block;position:absolute;inset:0}.chart .grid{stroke:var(--line);stroke-dasharray:2 4;opacity:.8}.chart .axis{stroke:var(--line-strong)}.chart .tick{fill:var(--faint);font-size:10px;font-family:var(--mono)}.chart .boundary{stroke:var(--bg);stroke-width:1px}.chart .curve{fill:none;stroke:url(#curve-grad);stroke-width:2.25px;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 6px #acd2ed38)}.chart .graduation circle{fill:var(--bg);stroke:var(--brand-pink);stroke-width:2px}.chart .graduation .grad-rule{stroke:var(--brand-pink);stroke-opacity:.35;stroke-dasharray:3 3}.chart .graduation .grad-pill{fill:var(--surface-3);stroke:var(--line-strong)}.chart .graduation text{fill:var(--text);font-size:11px;font-weight:500}.chart .snipe-band rect{fill:#ffffff09}.chart .snipe-band text{fill:var(--muted);font-size:10px}.chart .crosshair line{stroke:var(--line-strong);stroke-dasharray:2 3}.chart .crosshair circle{fill:var(--curve)}.chart .tooltip{pointer-events:none;z-index:2;border-radius:var(--radius);border:1px solid var(--line-strong);width:224px;font-family:var(--mono);font-variant-numeric:tabular-nums;background:#13161af5;padding:8px 10px;font-size:11px;position:absolute;box-shadow:0 8px 24px #0006}.chart .tooltip div{justify-content:space-between;gap:8px;line-height:1.6;display:flex}.chart .tooltip span{color:var(--muted);font-family:var(--sans)}.chart .tooltip .tt-head{border-top:1px solid var(--line);color:var(--faint);font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;margin:6px 0 2px;padding-top:6px;font-size:10px;font-weight:600;display:block}.chart .tooltip .tt-head:first-child{border-top:0;margin-top:0;padding-top:0}.chart .sim-dot{fill:var(--surface-1);stroke:var(--curve);stroke-width:1.5px}.chart .actual-dot{fill:var(--actual);stroke:var(--surface-1);stroke-width:1.5px}.chart .actual-halo{fill:var(--actual);opacity:.18}.readout{white-space:nowrap;border:1px solid var(--line-strong);color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;background:#13161af0;border-radius:999px;padding:7px 12px;font-size:11.5px;text-decoration:none;position:absolute;top:44px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000059}.readout:hover{border-color:var(--text)}.readout.exact{border-color:color-mix(in srgb, var(--ok) 45%, transparent)}.readout b{color:var(--curve);font-weight:500}.readout b.act{color:var(--actual)}.readout.off{border-color:var(--danger)}.chart-toolbar{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);border-bottom:1px solid var(--line);min-height:40px;display:flex}.chart-title{align-items:baseline;gap:var(--s2);white-space:nowrap;display:flex}.chart-title strong{font-weight:600;font-size:var(--fs-md)}.chart-title span{color:var(--muted);font-size:var(--fs-sm)}.chart-tools{align-items:center;gap:var(--s2);flex-wrap:wrap;justify-content:flex-end;display:flex}.legend{flex-wrap:wrap;gap:2px;display:flex}.legend-item{border-radius:var(--radius-sm);height:24px;color:var(--faint);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 8px;font-weight:500;display:inline-flex}.legend-item.on,.legend-item.fixed{color:var(--text)}.legend-item.fixed{cursor:default}.legend-item:hover:not(.fixed){background:var(--surface-2)}.legend-item:not(.on):not(.fixed) .sw{opacity:.3}.legend .sw{border-radius:2px;width:10px;height:10px;display:inline-block}.legend .sw.predicted{background:var(--brand-grad);height:2px}.legend .sw.actual{background:var(--actual);border-radius:50%}.legend .sw.trades{border:1.5px solid var(--curve);border-radius:50%}.legend .sw.segments{background:linear-gradient(90deg,#2a526f 33%,#2f6a35 33% 66%,#792a3e 66%)}.legend .sw.graduation{border:2px solid var(--brand-pink);background:var(--bg);border-radius:50%}.legend .sw.snipe{background:#ffffff1f}.legend .cnt{color:var(--muted);font-family:var(--mono)}.chart .axis-title{fill:var(--faint);letter-spacing:.04em;font-size:10px}.chart .start-point circle{fill:var(--curve)}.chart .start-point text{fill:var(--muted);font-size:10px;font-family:var(--mono)}.chart .terrain{transition:opacity .12s,filter .12s}.chart .terrain.active{filter:brightness(1.45)}.chart .terrain.dim{opacity:.55}.chart .seg-label{fill:var(--faint);font-size:10px;font-family:var(--mono);pointer-events:none}.chart .seg-label.active{fill:var(--text)}.chart .preview path{fill:none;stroke:var(--text);stroke-width:3px;stroke-opacity:.35;stroke-linecap:round}.chart .preview circle{fill:none;stroke:var(--text);stroke-width:1.5px;stroke-dasharray:2 2}.chart .axis-tag rect{fill:var(--text)}.chart .axis-tag text{fill:var(--bg);font-size:10px;font-family:var(--mono);font-weight:500}@media (width<=700px){.readout{white-space:normal;text-align:center;border-radius:var(--radius);font-size:10.5px;inset:auto 12px 2px;transform:none}}@media (width<=900px){.chart-toolbar{align-items:flex-start;gap:var(--s1);flex-direction:column}.chart-tools{justify-content:flex-start;width:100%}.legend{flex-wrap:nowrap;width:100%;overflow-x:auto}.legend-item{flex:none}}.chart-title .hint-inline{color:var(--faint);font-size:var(--fs-xs)}@media (width<=1280px){.chart-title .hint-inline{display:none}}.section{padding:var(--s4);border-bottom:1px solid var(--line)}.section:last-child{border-bottom:0}.section h2{margin:0 0 var(--s3);font-size:var(--fs-xs);color:var(--faint);text-transform:uppercase;letter-spacing:.09em;font-weight:600}.field{margin-bottom:var(--s2);grid-template-columns:minmax(0,1fr) 168px;align-items:center;gap:3px 10px;display:grid}.field label,.field>span:first-child{color:var(--muted);font-size:var(--fs-sm)}.field .input{border-radius:var(--radius-sm);background:var(--surface-3);border:1px solid #0000;align-items:center;height:30px;transition:border-color .12s;display:flex}.field .input:hover{border-color:var(--line-strong)}.field .input:focus-within{border-color:var(--curve)}.field .input.invalid{border-color:var(--danger);background:var(--danger-bg)}.field input{text-align:right;width:100%;min-width:0;font-family:var(--mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;padding:0 8px}.field .unit{color:var(--faint);font-size:var(--fs-xs);padding-right:8px}.field .hint{color:var(--faint);font-size:var(--fs-xs);text-align:right;grid-column:1/-1}.field .hint.bad{color:var(--danger)}.select{border-radius:var(--radius-sm);background:var(--surface-3);width:100%;height:30px;font-family:var(--mono);font-size:var(--fs-sm);cursor:pointer;border:1px solid #0000;padding:0 8px}.select:hover{border-color:var(--line-strong)}.static{text-align:right;color:var(--text);font-family:var(--mono);font-size:var(--fs-sm);padding-right:8px}.check{align-items:center;gap:var(--s2);margin-top:var(--s1);color:var(--muted);font-size:var(--fs-sm);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.check:hover{color:var(--text)}.check input{accent-color:var(--curve);width:14px;height:14px;margin:0}@media (width<=1100px){.field{grid-template-columns:1fr minmax(0,60%)}}.segments-head{margin-bottom:var(--s2);color:var(--muted);font-size:var(--fs-sm);justify-content:space-between;align-items:center;display:flex}.segments-head .buttons{background:var(--surface-1);border-radius:var(--radius);gap:2px;padding:2px;display:flex}.segments button{border-radius:var(--radius-sm);cursor:pointer;width:26px;height:22px;color:var(--muted);background:0 0;border:0}.segments button:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.segments button:disabled{opacity:.35;cursor:default}.segments ol{margin:0;padding:0;list-style:none}.segments li{align-items:center;gap:var(--s2);grid-template-columns:10px 18px 1fr 36px;height:24px;display:grid}.segments .swatch{border-radius:2px;width:10px;height:10px}.segments .idx{color:var(--faint);text-align:right;font-family:var(--mono);font-size:var(--fs-xs)}.segments .share{color:var(--muted);text-align:right;font-family:var(--mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.segments input[type=range]{width:100%;accent-color:var(--curve);margin:0}.segments .presets{margin-bottom:var(--s3);background:var(--surface-1);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:2px;padding:2px;display:grid}.segments .presets button{border-radius:var(--radius-sm);width:auto;height:26px;color:var(--muted);font-size:var(--fs-xs);background:0 0;border:0;padding:0 6px;font-weight:500}.segments .presets button:hover{background:var(--surface-3);color:var(--text)}.segments input[type=range]{appearance:none;cursor:pointer;background:0 0;height:16px}.segments input[type=range]::-webkit-slider-runnable-track{background:var(--surface-3);border-radius:2px;height:3px}.segments input[type=range]::-moz-range-track{background:var(--surface-3);border-radius:2px;height:3px}.segments input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text);border:2px solid var(--surface-2);border-radius:50%;width:12px;height:12px;margin-top:-4.5px}.segments input[type=range]::-moz-range-thumb{background:var(--text);border:2px solid var(--surface-2);border-radius:50%;width:10px;height:10px}.segments input[type=range]:hover::-webkit-slider-thumb{background:var(--curve)}.segments li:hover .idx{color:var(--text)}.v-empty{margin:0 0 var(--s3);color:var(--muted);font-size:var(--fs-sm);line-height:1.55}.v-go{width:100%}.compare{border-collapse:collapse;width:100%;font-size:var(--fs-sm);table-layout:fixed}.compare th{color:var(--faint);font-size:var(--fs-xs);text-align:right;padding:0 0 6px;font-weight:500}.compare th:first-child{text-align:left;width:34%}.compare td{border-top:1px solid var(--line);text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;padding:7px 0;overflow:hidden}.compare td:first-child{text-align:left;font-family:var(--sans);color:var(--muted)}.compare td.pred{color:var(--curve)}.compare td.act{color:var(--actual)}.compare tr.exact td.d{color:var(--ok)}.compare tr.off td.d{color:var(--danger);font-weight:600}.v-verdict{margin:var(--s4) var(--s4) 0;padding:var(--s3);border-radius:var(--radius);gap:4px;display:grid}.v-verdict strong{font-size:var(--fs-lg);font-weight:600}.v-verdict span{color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.v-verdict.ok{background:var(--ok-bg);border:1px solid color-mix(in srgb, var(--ok) 25%, transparent)}.v-verdict.ok strong{color:var(--ok)}.v-verdict.off{background:var(--danger-bg);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent)}.v-verdict.off strong{color:var(--danger)}.fill-pick{gap:var(--s1);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.fill-pick button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-width:34px;height:24px;color:var(--muted);font-family:var(--mono);font-size:var(--fs-xs);cursor:pointer;background:0 0;padding:0 6px}.fill-pick button.ok:after{content:" ✓";color:var(--ok)}.fill-pick button.off:after{content:" ✗";color:var(--danger)}.fill-pick button.on{border-color:var(--actual);color:var(--text)}.evidence{margin:0}.evidence div{justify-content:space-between;gap:var(--s2);line-height:2;font-size:var(--fs-sm);display:flex}.evidence dt{color:var(--muted)}.evidence dd{font-family:var(--mono);margin:0}.evidence a{color:var(--text);text-decoration:none}.evidence a:hover{color:var(--curve)}.linkish{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.linkish.ok,.evidence .ok{color:var(--ok)}.linkish.off,.evidence .off{color:var(--danger)}.compare th:first-child{width:38%}.compare th:last-child{width:16%}.raw-ints{margin-top:var(--s3)}.raw-title{color:var(--faint);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--s1);font-weight:600}.raw{border-top:1px solid var(--line);padding:6px 0}.raw-k{color:var(--muted);font-size:var(--fs-sm);justify-content:space-between;display:flex}.raw.exact .raw-k span{color:var(--ok);font-family:var(--mono)}.raw.off .raw-k span{color:var(--danger);font-family:var(--mono);font-weight:600}.raw-v{font-family:var(--mono);word-break:break-all;color:var(--curve);font-size:11px;line-height:1.5}.raw-v.act{color:var(--actual)}.raw-v i{width:34px;color:var(--faint);font-style:normal;display:inline-block}.export{align-items:center;gap:var(--s1);height:36px;padding:0 var(--s3);flex-wrap:wrap;display:flex}.export button{height:26px;padding:0 var(--s2);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0}.export button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.export button:disabled{opacity:.35;cursor:default}.export code{font:inherit;color:var(--muted)}.export .flash:not(:empty){margin-left:var(--s2);background:var(--curve-bg);color:var(--curve);font-size:var(--fs-xs);border-radius:999px;padding:2px 8px;animation:.15s ease-out flash-in}@keyframes flash-in{0%{opacity:0;transform:translateY(2px)}}@media (prefers-reduced-motion:reduce){.export .flash:not(:empty){animation:none}}.export .scope{color:var(--faint);margin-left:auto}.export button{align-items:center;gap:6px;display:inline-flex}.export .ex-label{margin-right:var(--s1);color:var(--faint);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.export .install{font-family:var(--mono);font-size:var(--fs-xs);background:var(--surface-2)}.export .prompt{color:var(--curve)}.metrics-strip{border-top:1px solid var(--line);background:var(--surface-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.metric{padding:10px var(--s4);border-left:1px solid var(--line);min-width:0;transition:background .1s}.metric:hover{background:var(--surface-2)}.metric:first-child{border-left:0}.m-label{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.m-value{font-family:var(--mono);font-size:var(--fs-lg);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:2px}.metric.em .m-value{font-size:var(--fs-xl);line-height:1.15}.metric:first-child .m-value{color:var(--curve)}.m-unit{color:var(--faint);font-size:var(--fs-xs)}.m-note{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}@media (width<=1280px){.metrics-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.metric:nth-child(5){border-left:0}.metric:nth-child(n+5){border-top:1px solid var(--line)}}@media (width<=640px){.metrics-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(odd){border-left:0}.metric:nth-child(n+3){border-top:1px solid var(--line)}}.lower{border-top:1px solid var(--line);background:var(--surface-1);flex-direction:column;flex:none;height:248px;display:flex}.lower-tabs{gap:var(--s1);padding:0 var(--s3);border-bottom:1px solid var(--line);flex:none;display:flex;overflow-x:auto}.lower-tabs button{height:36px;padding:0 var(--s2);color:var(--muted);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-weight:500;display:inline-flex;position:relative}.lower-tabs button:hover,.lower-tabs button.on{color:var(--text)}.lower-tabs button.on:after{content:"";left:var(--s2);right:var(--s2);background:var(--brand-grad);border-radius:2px;height:2px;position:absolute;bottom:-1px}.lower-tabs .cnt{background:var(--surface-3);color:var(--muted);font-family:var(--mono);border-radius:999px;padding:0 5px;font-size:10px}.lower-body{flex:1;min-height:0;overflow:auto}.lower-empty{padding:var(--s5) var(--s4);color:var(--faint)}.lower.collapsed{height:auto}.lower-tabs .collapse{color:var(--faint);margin-left:auto;font-size:10px}@media (width<=1100px){.lower{height:auto;max-height:420px}.lower-body{-webkit-overflow-scrolling:touch;overflow:auto}}.dtable{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm)}.dtable th{z-index:1;height:30px;padding:0 var(--s3);background:var(--surface-1);border-bottom:1px solid var(--line);color:var(--faint);font-size:var(--fs-xs);text-align:right;white-space:nowrap;font-weight:500;position:sticky;top:0}.dtable td{height:32px;padding:0 var(--s3);border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);text-align:right;white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums}.dtable th:first-child,.dtable td:first-child{text-align:left;padding-left:var(--s4)}.dtable th.l,.dtable td.l{text-align:left}.dtable tbody tr{transition:background .1s}.dtable tbody tr:hover{background:var(--surface-2)}.dtable tbody tr.selected{background:var(--surface-3)}.dtable .dim{color:var(--muted)}.dtable .up{color:var(--ok)}.dtable .down{color:var(--danger)}.dtable a{color:var(--text);border-bottom:1px dotted var(--faint);text-decoration:none}.dtable a:hover{border-color:var(--text)}.tag{font-family:var(--sans);background:var(--surface-3);color:var(--muted);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-block}.tag.ok{background:var(--ok-bg);color:var(--ok)}.tag.curve{background:var(--curve-bg);color:var(--curve)}.tag.actual{background:var(--actual-bg);color:var(--actual)}.tag.bad{background:var(--danger-bg);color:var(--danger)}.swatch-inline{vertical-align:0;border-radius:2px;width:8px;height:8px;margin-right:8px;display:inline-block}.seg-chip{color:var(--muted);align-items:center;gap:3px;margin-right:6px;font-size:11px;display:inline-flex}.seg-chip i{border-radius:2px;width:7px;height:7px}.lower-body .dtable{min-width:760px}.skeleton{vertical-align:middle;background:linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2));background-size:200% 100%;border-radius:3px;width:140px;height:10px;animation:1.2s linear infinite shimmer;display:inline-block}@keyframes shimmer{to{background-position:-200% 0}}.sim-actions{gap:var(--s2);grid-template-columns:1fr 1fr;display:grid}.sim-note{margin:var(--s2) 0;padding:6px var(--s2);border-radius:var(--radius-sm);background:var(--actual-bg);color:var(--actual);font-size:var(--fs-xs)}.position{margin-top:var(--s3);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.position div{padding:var(--s2) var(--s3);background:var(--surface-1);gap:2px;display:grid}.position span{color:var(--faint);font-size:var(--fs-xs)}.position strong{font-family:var(--mono);font-weight:500;font-size:var(--fs-sm)}.log-empty{color:var(--faint);margin:var(--s3) 0 0;font-size:var(--fs-sm)}.log{margin:var(--s3) 0 0;padding:0;list-style:none}.log li{padding:var(--s2) 0;border-top:1px solid var(--line)}.log-line{font-family:var(--mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;display:flex}.log .side{width:34px;color:var(--muted);font-family:var(--sans);font-size:var(--fs-xs);text-transform:uppercase;font-weight:600}.log .side.buy{color:var(--ok)}.log .side.sell{color:var(--danger)}.log .impact{color:var(--muted);margin-left:auto}.log-steps{color:var(--faint);flex-wrap:wrap;gap:6px;margin-top:3px;font-size:10px;display:flex}.log-steps span{align-items:center;gap:3px;display:inline-flex}.log-steps i{width:8px;height:8px;display:inline-block}.log-steps .fee{margin-left:auto}.side-switch{margin-bottom:var(--s3);background:var(--surface-1);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:2px;padding:2px;display:grid}.side-switch button{border-radius:var(--radius-sm);height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-weight:600}.side-switch button.buy.on{background:var(--ok-bg);color:var(--ok)}.side-switch button.sell.on{background:var(--danger-bg);color:var(--danger)}.quick{gap:var(--s1);margin:0 0 var(--s3);grid-template-columns:repeat(4,1fr);display:grid}.quick button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);height:26px;color:var(--muted);font-family:var(--mono);font-size:var(--fs-xs);cursor:pointer;background:0 0}.quick button:hover,.quick button.on{border-color:var(--text);color:var(--text)}.exec{border-radius:var(--radius);width:100%;height:38px;font-weight:600;font-size:var(--fs-md);cursor:pointer;border:0}.exec.buy{background:var(--ok);color:#06210a}.exec.sell{background:var(--danger);color:#2d0711}.exec:hover:not(:disabled){filter:brightness(1.08)}.exec:disabled{background:var(--surface-3);color:var(--faint);cursor:default}.text-btn{margin-top:var(--s2);color:var(--muted);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.text-btn:hover:not(:disabled){color:var(--text)}.text-btn:disabled{opacity:.4;cursor:default}.quote{margin:0 0 var(--s3);padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--surface-1)}.quote div{justify-content:space-between;gap:var(--s2);line-height:1.85;display:flex}.quote dt{color:var(--muted);font-size:var(--fs-sm)}.quote dd{font-family:var(--mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;margin:0}.quote div:first-child dd{color:var(--text);font-weight:500}.quote-warn{margin:var(--s1) 0 0;color:var(--actual);font-size:var(--fs-xs)}.topbar{align-items:center;gap:var(--s4);height:48px;padding:0 var(--s4);border-bottom:1px solid var(--line);background:#111316;display:flex}.topbar .brand{align-items:center;gap:var(--s2);white-space:nowrap;display:flex}.topbar .brand-logo{width:auto;height:26px;display:block}.topbar .brand-sub{color:var(--muted);font-size:var(--fs-sm);padding-left:var(--s2);border-left:1px solid var(--line-strong)}.stepper{background:var(--surface-2);border-radius:var(--radius);gap:2px;padding:2px;display:flex}.stepper .step{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:0;align-items:center;gap:6px;padding:5px 12px;font-weight:500;display:flex}.stepper .step:hover{color:var(--text)}.stepper .step.active{background:var(--surface-3);color:var(--text)}.stepper .step-n{background:var(--surface-3);width:16px;height:16px;color:var(--muted);font-size:10px;font-family:var(--mono);border-radius:50%;place-items:center;display:inline-grid}.stepper .step.active .step-n{background:var(--brand-sky);color:#0d1620}.stepper .step.done .step-n{background:var(--curve-bg);color:var(--curve)}.net-badge{background:var(--surface-2);color:var(--muted);font-size:var(--fs-xs);border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-weight:500;display:inline-flex}.net-badge i{background:var(--pending);border-radius:50%;width:6px;height:6px}.wallet-chip{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.wallet-chip:hover{border-color:var(--brand-sky)}.wallet-chip.on{border-color:#0000}.wallet-chip .mono{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;max-width:14ch;overflow:hidden}@media (width<=1100px){.topbar{height:auto;padding:var(--s2) var(--s3);row-gap:var(--s2);flex-wrap:wrap}.topbar .brand-sub{display:none}.stepper{order:3;width:100%;overflow-x:auto}.stepper .step{flex:1;justify-content:center}}.app{background:var(--bg);grid-template:"top top""work side"minmax(0,1fr)"status status"/minmax(0,1fr) 340px;height:100vh;display:grid}.app>.topbar{grid-area:top}.zone{min-width:0;min-height:0;overflow:auto}.zone-stage{background:var(--surface-1);flex-direction:column;grid-area:work;display:flex}.zone-side{border-left:1px solid var(--line);background:var(--surface-2);grid-area:side}.zone-export{border-top:1px solid var(--line);background:var(--surface-1);grid-area:status}.topbar .spacer{flex:1}@media (width<=1360px){.app{grid-template-columns:minmax(0,1fr) 312px}}@media (width<=1100px){.app{grid-template:"top""work""side""status"/minmax(0,1fr);height:auto}.zone-side{border:0;border-top:1px solid var(--line)}.zone-stage .chart{min-height:340px}.panel-foot{position:static}}.stage-error{gap:var(--s2);border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);border-radius:var(--radius);max-width:52ch;color:var(--danger);background:var(--danger-bg);margin:auto;padding:16px 20px;display:grid}.lock{border:0;min-width:0;margin:0;padding:0}.lock:disabled{opacity:.55}.locked-note{margin:var(--s3) var(--s4);padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--actual-bg);color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.locked-note strong{color:var(--actual);font-weight:600}.locked-note .new-curve{width:100%;margin:var(--s2) 0 var(--s1);display:block}.locked-note .fine{color:var(--faint);font-size:var(--fs-xs);display:block}.panel-head{padding:var(--s4) var(--s4) var(--s3);border-bottom:1px solid var(--line)}.panel-head h1{font-size:var(--fs-lg);letter-spacing:-.01em;margin:0;font-weight:600}.panel-head p{color:var(--muted);font-size:var(--fs-sm);margin:2px 0 0}.zone-side{flex-direction:column;display:flex}.panel-foot{gap:var(--s2);padding:var(--s3) var(--s4);background:var(--surface-2);border-top:1px solid var(--line);margin-top:auto;display:grid;position:sticky;bottom:0}.panel-status{font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:6px;display:flex}.panel-status:before{content:"";background:var(--faint);border-radius:50%;flex:none;width:6px;height:6px}.panel-status.ok:before{background:var(--ok)}.panel-status.bad{color:var(--danger)}.panel-status.bad:before{background:var(--danger)}.cta{border-radius:var(--radius);cursor:pointer;background:var(--brand-sky);color:#0d1620;height:36px;font-weight:600;font-size:var(--fs-md);border:0}.cta:hover:not(:disabled){filter:brightness(1.08)}.cta:disabled{background:var(--surface-3);color:var(--faint);cursor:default}.market-head{align-items:center;gap:var(--s5);padding:var(--s2) var(--s4);border-bottom:1px solid var(--line);background:var(--surface-1);display:flex;overflow-x:auto}.mh-token{align-items:center;gap:var(--s2);white-space:nowrap;display:flex}.mh-icon{border-radius:8px;width:28px;height:28px;display:block}.mh-token strong{font-size:var(--fs-md);font-weight:600;display:block}.mh-sym{color:var(--muted);font-size:var(--fs-xs)}.mh-live{margin-left:var(--s2);background:var(--ok-bg);color:var(--ok);font-size:var(--fs-xs);border-radius:999px;padding:2px 8px;text-decoration:none}.mh-draft{margin-left:var(--s2);background:var(--surface-3);color:var(--muted);font-size:var(--fs-xs);border-radius:999px;padding:2px 8px}.mh-stats{gap:var(--s5);margin:0;display:flex}.mh-stats div{white-space:nowrap}.mh-stats dt{color:var(--faint);font-size:var(--fs-xs)}.mh-stats dd{font-family:var(--mono);font-size:var(--fs-sm);margin:0}.stage-error strong{font-size:var(--fs-lg);font-weight:600}.stage-error span{color:var(--text);line-height:1.55}.stage-error .cta{padding:0 var(--s4);justify-self:start}.mh-progress{background:var(--surface-3);border-radius:2px;width:100%;height:3px;margin-top:3px;display:block;overflow:hidden}.mh-progress i{background:var(--actual);height:100%;display:block}.panel-loading{padding:var(--s4);color:var(--faint);font-size:var(--fs-sm)}.zone-stage>.market-head,.zone-stage>.chart-toolbar,.zone-stage>.metrics-strip{flex:none}.panel-back{margin:0 0 var(--s2) -6px;border-radius:var(--radius-sm);color:var(--muted);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.panel-back:hover{background:var(--surface-3);color:var(--text)}:root{--bg:#0a0b0d;--surface-1:#0e1013;--surface-2:#13161a;--surface-3:#191d22;--panel:var(--surface-2);--line:#1f2328;--line-strong:#2c3138;--text:#e4e7ec;--muted:#7d848e;--faint:#4a5059;--brand-sky:#acd2ed;--brand-green:#3bc14a;--brand-pink:#ef476f;--brand-white:#f5f7fa;--brand-grad:linear-gradient(90deg, var(--brand-sky) 0%, var(--brand-sky) 30%, var(--brand-green) 55%, var(--brand-pink) 100%);--curve:var(--brand-sky);--actual:#fbbf24;--danger:var(--brand-pink);--ok:var(--brand-green);--pending:#93c5fd;--ok-bg:#3bc14a1a;--danger-bg:#ef476f1a;--curve-bg:#acd2ed14;--pink-bg:#ef476f1f;--actual-bg:#fbbf2414;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans:"Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--fs-xs:10.5px;--fs-sm:12px;--fs-md:13px;--fs-lg:15px;--fs-xl:20px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--radius:6px;--radius-sm:4px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.45 var(--sans);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased}input,select,button{font:inherit;color:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--brand-sky);outline-offset:2px;border-radius:var(--radius-sm)}input[type=range]:focus-visible{outline-offset:4px}.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-track{background:0 0}::selection{background:color-mix(in srgb, var(--curve) 30%, transparent)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
