:root{--bg: #07080a;--panel: #0c0f12;--panel-2: #12161b;--panel-3: #171c22;--line: #1c232b;--line-soft: #151a20;--text: #d8e0e8;--dim: #7c8894;--dimmer: #55606b;--accent: #e6a93c;--accent-dim: #6b4d16;--up: #2fbf71;--down: #e5484d;--blue: #4d8ff0;--violet: #a78bfa;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--panel)}::-webkit-scrollbar-thumb{background:#232b34;border:2px solid var(--panel)}::-webkit-scrollbar-thumb:hover{background:#303a45}.mono{font-family:var(--mono)}.up{color:var(--up)}.down{color:var(--down)}.dim{color:var(--dim)}.app{display:grid;grid-template-rows:auto 1fr auto;height:100%;overflow:hidden}.app-footer{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;padding:6px 14px 7px;border-top:1px solid var(--line-soft);background:var(--panel);font-family:var(--mono);font-size:10px;line-height:1.5;color:var(--dim)}.app-footer a{color:var(--dim);text-decoration:underline}.topbar{display:flex;align-items:stretch;flex-wrap:wrap;row-gap:0;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#0e1216,#0a0d10);min-height:52px}.topbar>*{border-top:1px solid var(--line-soft)}.topbar::-webkit-scrollbar{display:none}.brand{display:flex;align-items:center;gap:9px;padding:0 16px;border-right:1px solid var(--line);flex:none}.brand-mark{width:22px;height:22px;border:1px solid var(--accent);display:grid;place-items:center;font-family:var(--mono);font-size:11px;color:var(--accent);font-weight:700}.brand-name{font-family:var(--mono);font-weight:600;letter-spacing:.06em;font-size:13px}.brand-sub{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.12em}.topbar-nav{display:flex;align-items:stretch;border-right:1px solid var(--line);flex:none}.navbtn{background:none;border:0;border-bottom:2px solid transparent;padding:0 14px;color:var(--dim);font-family:var(--mono);font-size:11px;letter-spacing:.04em;cursor:pointer;white-space:nowrap}.navbtn:hover{color:var(--text);background:var(--panel-2)}a.navbtn{display:flex;align-items:center;text-decoration:none}.navbtn.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--panel-2)}.tb-group{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:6px 14px;border-right:1px solid var(--line);flex:none}.tb-stat{display:flex;flex-direction:column;gap:1px;line-height:1.2}.tb-group.grow{flex:1 1 auto;min-width:0}.tb-label{font-family:var(--mono);font-size:9px;letter-spacing:.11em;color:var(--dim);text-transform:uppercase}.tb-value{font-family:var(--mono);font-size:14px;font-weight:600}.tb-value.sm{font-size:12px}.seg{display:inline-flex;border:1px solid var(--line);background:var(--panel)}.seg button{background:none;border:0;border-right:1px solid var(--line);padding:5px 10px;font-family:var(--mono);font-size:11px;color:var(--dim);cursor:pointer}.seg button:last-child{border-right:0}.seg button:hover{color:var(--text);background:var(--panel-2)}.seg button.on{color:#0b0d10;background:var(--accent);font-weight:600}.sim-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #533b12;background:#1c1407;color:var(--accent);font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;padding:4px 9px;white-space:nowrap}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.dot.live{background:var(--up);animation:pulse 2.4s infinite}.dot.paused{background:var(--dimmer)}@keyframes pulse{0%{box-shadow:0 0 #2fbf7180}70%{box-shadow:0 0 0 6px #2fbf7100}to{box-shadow:0 0 #2fbf7100}}.workspace{display:grid;grid-template-rows:1fr 236px;overflow:hidden;min-height:0}.workspace.no-bottom{grid-template-rows:1fr}.cols{display:grid;grid-template-columns:292px minmax(0,1fr) 328px;gap:1px;background:var(--line);min-height:0;overflow:hidden}.col{background:var(--panel);min-height:0;overflow-y:auto;overflow-x:hidden}.col.center{overflow:hidden;display:flex;flex-direction:column}.panel{border-bottom:1px solid var(--line)}.panel-head{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line-soft);background:var(--panel-2)}.panel-title{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.panel-body{padding:11px 12px}.panel-head .right{margin-left:auto}.field{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:8px;margin-bottom:7px}.field>label{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--dim);text-transform:uppercase}.field.wide{grid-template-columns:1fr}select,input[type=text],input[type=number],input[type=time]{background:#0a0d10;border:1px solid var(--line);padding:6px 8px;font-family:var(--mono);font-size:12px;width:100%;border-radius:0}select:focus,input:focus,textarea:focus,button:focus-visible{outline:1px solid var(--accent);outline-offset:0}.btn.primary:focus-visible{outline:2px solid var(--text);outline-offset:2px}textarea{background:#0a0d10;border:1px solid var(--line);padding:7px 8px;font-family:var(--mono);font-size:11.5px;width:100%;resize:vertical;min-height:56px}.btn{background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:7px 11px;font-family:var(--mono);font-size:11px;letter-spacing:.03em;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent-dim);color:var(--accent)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#0b0d10;font-weight:600}.btn.primary:hover:not(:disabled){background:#f2bb57;color:#0b0d10}.btn.buy{border-color:#1d5c39;color:var(--up)}.btn.buy:hover:not(:disabled){background:#0d2a1a}.btn.sell{border-color:#5c2320;color:var(--down)}.btn.sell:hover:not(:disabled){background:#2a1211}.btn.flat{border-color:#3a4450}.btn.sm{padding:4px 8px;font-size:10px}.btn.wide{width:100%;justify-content:center;text-align:center}.btn-row{display:flex;gap:6px;flex-wrap:wrap}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.chart-wrap{flex:1 1 auto;min-height:0;position:relative;background:#06070a}.chart-canvas{display:block;width:100%;height:100%}.chart-toolbar{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--line);background:var(--panel-2);flex-wrap:wrap}.overlay-panel{border-bottom:1px solid var(--line);background:var(--panel-2);padding:10px 12px;display:grid;gap:9px;overflow-x:auto}.overlay-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.overlay-row .tb-label{min-width:76px}.overlay-color{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel);padding:3px 8px;font-family:var(--mono);font-size:10.5px;color:var(--dim);cursor:pointer}.overlay-color input[type=color]{width:22px;height:18px;padding:0;border:1px solid var(--line);background:none;cursor:pointer}.ema-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--panel);padding:3px 4px 3px 8px;font-family:var(--mono);font-size:10.5px}.ema-pill input[type=color]{width:20px;height:16px;padding:0;border:1px solid var(--line);background:none;cursor:pointer}.ema-remove{border:0;background:none;color:var(--dim);font-family:var(--mono);font-size:13px;line-height:1;padding:0 4px;cursor:pointer}.ema-remove:hover{color:#e5484d}.ema-add{display:inline-flex;align-items:center;gap:6px}.ema-add input[type=number]{width:78px;padding:4px 7px;font-family:var(--mono);font-size:11px}.ema-hint{font-size:10.5px;color:var(--accent)}.ind-toggle{background:var(--panel);border:1px solid var(--line);color:var(--dim);font-family:var(--mono);font-size:10px;padding:4px 8px;cursor:pointer}.ind-toggle.on{color:var(--text);border-color:#33404d;background:var(--panel-3)}.ind-toggle:hover{color:var(--text)}.legend{display:flex;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;color:var(--dim);padding:4px 10px;border-bottom:1px solid var(--line-soft);background:#090b0e}.legend i{font-style:normal}.scrub{width:100%;accent-color:var(--accent);margin:2px 0 6px}.replay-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.cell{background:var(--panel);padding:8px 10px}.cell .k{font-family:var(--mono);font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--dim);display:block}.cell .v{font-family:var(--mono);font-size:13px;font-weight:600}.cell .v.big{font-size:15px}.progress{height:4px;background:#12171d;border:1px solid var(--line);position:relative;margin-top:8px}.progress>i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#8a6418,var(--accent))}.table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:11px}.table th{position:sticky;top:0;background:var(--panel-2);color:var(--dim);font-weight:500;text-align:left;padding:6px 9px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:10px;letter-spacing:.05em;text-transform:uppercase;z-index:1}.table td{padding:5px 9px;border-bottom:1px solid var(--line-soft);white-space:nowrap}.table tr:hover td{background:#10151a}.table .r{text-align:right}.tbl-scroll{overflow:auto;max-height:100%}.empty{padding:22px 14px;text-align:center;color:var(--dim);font-family:var(--mono);font-size:11px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.stat{background:var(--panel);padding:8px 10px}.stat .k{font-family:var(--mono);font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--dim);display:block}.stat .v{font-family:var(--mono);font-size:14px;font-weight:600}.kv{display:grid;grid-template-columns:1fr auto;gap:5px 10px;font-family:var(--mono);font-size:12px}.kv .k{color:var(--dim)}.kv .v{text-align:right}.pos-hero{padding:10px 12px;border-bottom:1px solid var(--line);background:var(--panel-2)}.pos-hero.long{border-left:3px solid var(--up)}.pos-hero.short{border-left:3px solid var(--down)}.pos-hero.flat{border-left:3px solid var(--line)}.pos-dir{font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:.08em}.pnl-big{font-family:var(--mono);font-size:19px;font-weight:700}.bottom{border-top:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;min-height:0;overflow:hidden}.tabs{display:flex;border-bottom:1px solid var(--line);background:var(--panel-2);flex:none}.tab{background:none;border:0;border-bottom:2px solid transparent;padding:7px 14px;color:var(--dim);font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;cursor:pointer;text-transform:uppercase}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-body{flex:1 1 auto;min-height:0;overflow:auto}.page{overflow-y:auto;height:100%;padding:20px 24px 60px}.page-inner{max-width:1500px;margin:0 auto}.page h2{font-family:var(--mono);font-size:17px;margin:0 0 4px;letter-spacing:.01em}.page .lede{color:var(--dim);max-width:92ch;margin:0 0 20px;font-size:12.5px}.card{border:1px solid var(--line);background:var(--panel);margin-bottom:14px}.card-head{padding:9px 13px;border-bottom:1px solid var(--line-soft);background:var(--panel-2);display:flex;align-items:center;gap:10px}.card-head h3{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--dim);font-weight:500}.card-body{padding:13px}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:14px}.callout{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--panel-2);padding:10px 13px;margin:10px 0;font-size:12px}.callout.warn{border-left-color:var(--down)}.callout.info{border-left-color:var(--blue)}.callout strong{color:var(--text)}.badge{display:inline-block;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;padding:2px 7px;border:1px solid var(--line);color:var(--dim);text-transform:uppercase}.badge.ok{color:var(--up);border-color:#1d5c39}.badge.bad{color:var(--down);border-color:#5c2320}.badge.warn{color:var(--accent);border-color:var(--accent-dim)}.badge.demo{color:var(--violet);border-color:#47356f}.score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.score-cell{background:var(--panel);padding:12px 14px}.score-cell .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--dim)}.score-cell .v{font-family:var(--mono);font-size:26px;font-weight:700;line-height:1.15}.score-bar{height:3px;background:#151a20;margin-top:7px}.score-bar>i{display:block;height:100%;background:var(--accent)}.range-slider{width:100%;accent-color:var(--accent)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--panel-2);padding:4px 9px;font-family:var(--mono);font-size:10.5px;color:var(--dim);cursor:pointer}.chip.on{color:var(--accent);border-color:var(--accent-dim);background:#191307}.drop{border:1px dashed #2a333d;background:var(--panel-2);padding:22px;text-align:center;font-family:var(--mono);font-size:11.5px;color:var(--dim);cursor:pointer}.drop.over{border-color:var(--accent);color:var(--text);background:#16130c}.progressbar{height:6px;border:1px solid var(--line);background:#0a0d10;position:relative;margin-top:8px}.progressbar>i{position:absolute;inset:0 auto 0 0;background:var(--accent)}.toast{position:fixed;right:18px;bottom:18px;z-index:60;border:1px solid var(--accent-dim);background:#14110a;color:var(--text);padding:10px 14px;font-family:var(--mono);font-size:11.5px;max-width:460px}.first-run{position:fixed;top:62px;left:50%;transform:translate(-50%);z-index:55;width:min(580px,calc(100vw - 28px));padding:13px 42px 14px 16px;border:1px solid var(--accent-dim);border-left:3px solid var(--accent);border-radius:3px;background:var(--panel-3);box-shadow:0 12px 34px #0000008c;color:var(--text);font-size:12px;line-height:1.55}.first-run strong,.first-run a{color:var(--accent)}.first-run-close{position:absolute;top:5px;right:7px;padding:2px 6px;border:0;background:none;color:var(--dim);font-size:17px;line-height:1;cursor:pointer}.first-run-close:hover{color:var(--text)}.notice{border:1px solid #533b12;background:#171207;color:var(--accent);font-family:var(--mono);font-size:10px;letter-spacing:.07em;padding:5px 9px;text-align:center}.hr{height:1px;background:var(--line);margin:10px 0}.pred-history{display:grid;gap:6px}.pred-row{border:1px solid var(--line);background:var(--panel-2);padding:8px 11px;display:grid;grid-template-columns:92px 1fr auto;gap:10px;align-items:center;font-family:var(--mono);font-size:11px}.scenario-card{border:1px solid var(--line);background:var(--panel);padding:12px 14px;margin-bottom:10px}.scenario-card h4{margin:0 0 4px;font-family:var(--mono);font-size:12px;color:var(--text)}.scenario-card p{margin:0 0 8px;color:var(--dim);font-size:11.5px}.scenario-examples{display:flex;gap:5px;flex-wrap:wrap}@media (max-width: 1500px){.cols{grid-template-columns:262px minmax(0,1fr) 300px}}@media (max-width: 1240px){.cols{grid-template-columns:240px minmax(0,1fr) 268px}.field{grid-template-columns:84px 1fr}}.desktop-only-note{display:none}@media (max-width: 1080px){.workspace{grid-template-rows:1fr 200px}.cols{grid-template-columns:minmax(0,1fr) 258px}.col.left{display:none}.desktop-only-note{display:inline;color:var(--text)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.flow-honesty{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.flow-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.flow-controls .field{min-width:190px}.flow-progress{height:4px;background:var(--panel-3);border:1px solid var(--line);margin-top:12px;overflow:hidden}.flow-progress>div{height:100%;background:var(--accent);transition:width .12s linear}.flow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}@media (max-width: 1240px){.flow-grid{grid-template-columns:minmax(0,1fr)}}.flow-tape{max-height:330px;overflow-y:auto;padding:0}.flow-largest{display:flex;gap:5px;flex-wrap:wrap}.flow-mid{text-align:center;font-size:11.5px;color:var(--accent);border:1px solid var(--line);background:var(--panel-3);padding:3px 0;margin:2px 0}.flow-dom{display:flex;flex-direction:column;gap:2px}.flow-dom-row{position:relative;display:grid;grid-template-columns:1fr auto auto;gap:8px;font-size:10.5px;padding:1px 6px;line-height:1.5}.flow-dom-bar{position:absolute;top:1px;bottom:1px;right:0;opacity:.16}.flow-dom-ask .flow-dom-bar{background:var(--down)}.flow-dom-bid .flow-dom-bar{background:var(--up)}.flow-dom-price{color:var(--dim)}.flow-dom-ask .flow-dom-price{color:var(--down)}.flow-dom-bid .flow-dom-price{color:var(--up)}.flow-dom-size{min-width:44px;text-align:right}.flow-dom-ord{min-width:30px;text-align:right}.flow-truth-name{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:.02em;margin-bottom:8px}.flow-truth-list{margin:0;padding-left:16px;color:var(--dim);font-size:11.5px;display:grid;gap:4px}.flow-replay-row{margin-top:10px}.flow-trade-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media (max-width: 1240px){.flow-trade-cols{grid-template-columns:minmax(0,1fr)}}.flow-block{border:1px solid var(--line);background:var(--panel-2);padding:11px 12px 12px;min-width:0}.flow-block-title{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--dim);text-transform:uppercase;margin:0 0 9px}.flow-pos-side{font-family:var(--mono);font-size:20px;font-weight:700;letter-spacing:.05em;text-align:center;border:1px solid var(--line);background:var(--panel-3);color:var(--dim);padding:8px 0;margin-bottom:10px}.flow-pos-side.long{color:var(--up);border-color:color-mix(in srgb,var(--up) 45%,var(--line))}.flow-pos-side.short{color:var(--down);border-color:color-mix(in srgb,var(--down) 45%,var(--line))}.flow-pos-qty{font-size:13px;opacity:.75}.flow-qty-row{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:8px;margin-bottom:9px}.flow-qty-row>label{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--dim);text-transform:uppercase}.flow-trade-btns{margin-bottom:10px}.flow-trade-btns .btn{flex:1}.flow-pos-kv{font-size:11.5px}.flow-decision-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:9px}.flow-decision-label{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--dim);text-transform:uppercase;min-width:76px}.flow-notice{font-family:var(--mono);font-size:11px;margin:11px 0 0;padding:6px 9px;border:1px solid var(--line);background:var(--panel-3)}.flow-notice.ok{color:var(--up);border-color:color-mix(in srgb,var(--up) 35%,var(--line))}.flow-notice.bad{color:var(--down);border-color:color-mix(in srgb,var(--down) 35%,var(--line))}.flow-span{grid-column:1 / -1}.flow-trades-scroll{overflow-x:auto}.flow-trades-scroll .table{min-width:860px}.flow-evidence-list{display:grid;gap:4px}.flow-evidence-row{display:grid;grid-template-columns:minmax(0,1.4fr) 74px minmax(0,1fr) 78px;align-items:center;gap:8px;padding:5px 8px;border:1px solid var(--line);background:var(--panel-2);font-size:11px}.fe-metric{font-family:var(--mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-strength{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-align:center;border:1px solid var(--line);padding:2px 4px;color:var(--dim)}.fe-strength.hot{color:var(--accent, #e6a93c);border-color:var(--accent, #e6a93c)}.fe-value{font-size:11px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-seq{font-size:9.5px;text-align:right}.flow-recog-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}@media (max-width: 1100px){.flow-recog-cols{grid-template-columns:minmax(0,1fr)}}.flow-signal-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.flow-signal-chips .badge{font-size:9.5px;text-transform:none;letter-spacing:.02em}.flow-timeline{list-style:none;margin:0;padding:0;display:grid;gap:3px;max-height:320px;overflow-y:auto}.flow-timeline li{display:flex;align-items:center;gap:8px;font-size:11px;padding:4px 8px;border-left:2px solid var(--line);background:var(--panel-2)}.flow-timeline li.imp{border-left-color:var(--accent, #e6a93c)}.tl-seq{font-size:9.5px;color:var(--dim);letter-spacing:.06em;flex:0 0 auto}.tl-label{color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-timeline li.imp .tl-label{color:inherit}.tl-dot{width:5px;height:5px;border-radius:50%;background:var(--accent, #e6a93c);flex:0 0 auto;margin-left:auto}.flow-results-card{margin-top:14px}.flow-results-kvs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 26px}@media (max-width: 1240px){.flow-results-kvs{grid-template-columns:minmax(0,1fr)}}.flow-header-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 14px}@media (max-width: 1240px){.flow-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.flow-header-readonly{display:flex;align-items:center;gap:8px;min-height:28px;padding:3px 8px;border:1px solid var(--line);background:var(--panel-3);font-size:11px;overflow:hidden}.flow-tape-summary{display:flex;gap:12px;flex-wrap:wrap;font-size:9.5px;letter-spacing:.05em;color:var(--dim);padding:0 8px 6px;border-bottom:1px solid var(--line-soft)}.flow-tape-row td{border-left:2px solid transparent}.flow-tape-row.large td{border-left-color:var(--accent)}.flow-tape-row.sweep td{border-left-color:var(--down);background:color-mix(in srgb,var(--down) 7%,transparent)}.flow-tape-row.burst td{border-left-color:var(--violet)}.flow-rel-size{display:inline-block;height:3px;min-width:2px;max-width:26px;background:var(--dim);margin-right:6px;vertical-align:middle;opacity:.6}.flow-dom-changes{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.flow-change-new{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 40%,var(--line))}.flow-change-added{color:var(--up);border-color:color-mix(in srgb,var(--up) 40%,var(--line))}.flow-change-pulled{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.flow-change-removed{color:var(--down);border-color:color-mix(in srgb,var(--down) 40%,var(--line))}.flow-dom-row.flow-dom-new{box-shadow:inset 2px 0 0 var(--blue)}.flow-dom-row.flow-dom-added{box-shadow:inset 2px 0 0 var(--up)}.flow-dom-row.flow-dom-pulled{box-shadow:inset 2px 0 0 var(--accent)}.flow-dom-row.flow-dom-removed{box-shadow:inset 2px 0 0 var(--down);opacity:.6}.flow-dom-tag{position:absolute;right:6px;top:1px;font-size:8.5px;letter-spacing:.08em;opacity:.9}.flow-dom-tag-new{color:var(--blue)}.flow-dom-tag-added{color:var(--up)}.flow-dom-tag-pulled{color:var(--accent)}.flow-dom-tag-removed{color:var(--down)}.flow-execution .btn-row{margin-bottom:10px}.flow-decision-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 1240px){.flow-decision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.flow-decision-grid{grid-template-columns:minmax(0,1fr)}}.flow-timeline-scrub{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:14px}.flow-timeline-scrub>span{font-size:9.5px;letter-spacing:.09em}.flow-timeline-scrub input[type=range]{width:100%;accent-color:var(--accent);background:transparent;cursor:pointer}.flow-timeline-scrub input[type=range]:disabled{cursor:not-allowed;opacity:.45}.flow-kbd-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft)}.flow-kbd{display:flex;align-items:center;gap:6px;font-size:9.5px;letter-spacing:.05em}.flow-kbd kbd{font-family:var(--mono);font-size:9.5px;padding:2px 5px;border:1px solid var(--line);background:var(--panel-3);color:var(--text, #d8e0e8)}.flow-analytics-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}@media (max-width: 1240px){.flow-analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.flow-stat{display:flex;flex-direction:column;gap:4px;padding:9px 11px;border:1px solid var(--line);background:var(--panel-2)}.flow-stat-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--dim)}.flow-stat-value{font-size:16px;font-weight:600}.flow-analytics-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media (max-width: 1240px){.flow-analytics-cols{grid-template-columns:minmax(0,1fr)}}.flow-weakness-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.flow-weakness{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11.5px;padding:7px 10px;border:1px solid var(--line);border-left-width:3px;background:var(--panel-2)}.flow-weakness.kind-strength{border-left-color:var(--up)}.flow-weakness.kind-weak_pattern{border-left-color:var(--down)}.flow-weakness.kind-confidence{border-left-color:var(--violet)}.flow-weakness.kind-early_entry{border-left-color:var(--accent)}.flow-weakness.kind-mfe_capture{border-left-color:var(--blue)}.flow-review-trades{display:grid;gap:12px}.flow-review-trade{border:1px solid var(--line);background:var(--panel-2);padding:11px 12px}.flow-review-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11.5px;padding-bottom:9px;border-bottom:1px solid var(--line-soft)}.flow-review-side{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.05em;padding:2px 7px;border:1px solid var(--line)}.flow-review-side.long{color:var(--up);border-color:color-mix(in srgb,var(--up) 40%,var(--line))}.flow-review-side.short{color:var(--down);border-color:color-mix(in srgb,var(--down) 40%,var(--line))}.flow-review-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:10px}@media (max-width: 900px){.flow-review-body{grid-template-columns:minmax(0,1fr)}}.flow-entry-evidence{display:flex;gap:5px;flex-wrap:wrap}.flow-entry-evidence .badge{font-size:9.5px;text-transform:none;letter-spacing:.02em}.flow-review-outcome{margin:10px 0 0;font-size:11px;color:var(--accent)}.flow-review-jumps{display:flex;gap:5px;flex-wrap:wrap}.flow-jump{font-size:9.5px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-jump-entry{color:var(--up);border-color:color-mix(in srgb,var(--up) 35%,var(--line))}.flow-jump-exit{color:var(--down);border-color:color-mix(in srgb,var(--down) 35%,var(--line))}.flow-jump-evidence{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.tl-jump{background:none;border:none;padding:0;color:var(--dim);cursor:pointer;font-size:11px;line-height:1}.tl-jump:hover{color:var(--accent)}:root{--flow-header-height: 52px;--z-workspace: 30;--z-dock: 40}.flow-workspace{position:relative;margin-bottom:14px}.flow-workspace-inner{position:sticky;top:0;z-index:var(--z-workspace);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,32%);gap:14px;align-items:stretch;padding-bottom:14px;background:var(--bg);box-shadow:0 12px 26px -20px #000000f2}.flow-chart-intervals{position:absolute;top:6px;right:10px;z-index:12;display:flex;align-items:center;gap:3px;padding:3px 5px;border:1px solid #202832;border-radius:5px;background:#0a0d10f0;font-family:IBM Plex Mono,monospace}.flow-chart-interval-label{padding:0 4px;color:#667482;font-size:9px;font-weight:700;letter-spacing:.1em}.flow-chart-interval{min-width:32px;padding:5px 7px;border:1px solid transparent;border-radius:3px;background:transparent;color:#8794a1;font:10px IBM Plex Mono,monospace;cursor:pointer}.flow-chart-interval:hover{color:#e7edf3;background:#171e26}.flow-chart-interval.is-active{border-color:#22d3ee73;background:#22d3ee1f;color:#67e8f9}.flow-chart-interval:focus-visible{outline:2px solid #67e8f9;outline-offset:1px}.flow-workspace-chart{margin-bottom:0;min-height:0;display:flex;flex-direction:column}.flow-workspace-canvas{flex:1 1 auto;height:min(58vh,680px);min-height:300px}.flow-ws-compact .flow-workspace-canvas{height:min(38vh,430px);min-height:240px}.flow-workspace-chart:fullscreen,.flow-workspace-chart.flow-chart-pseudo-fullscreen{position:fixed!important;right:0!important;bottom:0!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;margin:0!important;border-radius:0!important;border:none!important;z-index:99999!important;background:var(--bg-root, #0a0d10)!important;box-shadow:none!important;padding:12px 16px!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important}.flow-workspace-chart:fullscreen .flow-workspace-canvas,.flow-workspace-chart.flow-chart-pseudo-fullscreen .flow-workspace-canvas{flex:1 1 0!important;height:auto!important;min-height:0!important;max-height:none!important}.flow-chart-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.flow-workspace-side{display:flex;flex-direction:column;gap:1px;min-height:0;margin-bottom:0}.flow-ws-tape,.flow-ws-dom{border:1px solid var(--line);margin-bottom:0}.flow-ws-tape,.flow-ws-tape .panel-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.flow-ws-tape .table{margin-top:8px}.flow-ws-dom .panel-body{height:404px;overflow-y:auto}.flow-dock{position:sticky;bottom:0;z-index:var(--z-dock);margin:14px 0;padding-top:10px;background:var(--bg)}.flow-dock>.card{margin-bottom:0;box-shadow:0 -14px 30px -22px #000000f2}.flow-dock .flow-controls{row-gap:8px}.flow-dock .flow-controls .field{min-width:130px;max-width:170px;flex:0 1 auto}.flow-dock .flow-controls .btn{padding:7px 9px;font-size:10px}.flow-dock .flow-timeline-scrub{margin-top:10px;gap:8px}.flow-dock-spacer{height:140px;margin-bottom:-14px}.flow-replay-notes>.card-body{padding:9px 13px}.lede-flow-note{color:var(--dim);font-size:11px;margin:-12px 0 14px}@media (max-width: 1280px){.flow-workspace-inner{grid-template-columns:minmax(0,1fr) minmax(252px,30%)}}@media (max-width: 1120px){.flow-workspace-inner{position:static;box-shadow:none}.flow-workspace{position:static}.flow-workspace-canvas{height:min(52vh,560px)}.flow-dock{position:static}}@media (max-width: 720px){.flow-workspace-canvas{height:min(46vh,460px)}.flow-dock{position:static}.flow-dock .flow-controls .btn{padding:7px 9px;font-size:10.5px}.flow-dock-spacer{height:12px}}@media (max-height: 630px){.flow-workspace-inner{position:static}}@media (prefers-reduced-motion: reduce){.flow-dock>.card,.flow-workspace-inner{box-shadow:none}}
