:root{color-scheme:dark;font-family:Avenir Next,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #080a0c;--rail: #050607;--rail-bg: rgba(5, 6, 7, .9);--panel: #101316;--panel-strong: #151a1d;--panel-bg: rgba(16, 19, 22, .86);--panel-soft: rgba(255, 255, 255, .035);--panel-control: rgba(255, 255, 255, .045);--panel-hover: rgba(255, 255, 255, .05);--grid-line: rgba(255, 255, 255, .035);--line: rgba(255, 255, 255, .09);--line-strong: rgba(200, 241, 45, .34);--market-line: rgba(255, 255, 255, .12);--ink: #f3f6ed;--muted: #87908a;--soft: #c6cdc6;--accent: #c8f12d;--accent-dim: rgba(200, 241, 45, .12);--accent-soft: rgba(200, 241, 45, .16);--chart-glow: rgba(200, 241, 45, .14);--on-accent: #050607;--danger: #ff5d3d;--danger-dim: rgba(255, 93, 61, .13);--danger-line: rgba(255, 93, 61, .42);--short: #ff5d3d;--warning: #dba900;--warning-dim: rgba(219, 169, 0, .1);--warning-line: rgba(219, 169, 0, .38);--warning-ink: #ffd247;--shadow: 0 24px 80px rgba(0, 0, 0, .45)}:root[data-theme=light]{color-scheme:light;--bg: #f4f6f1;--rail: #eef2eb;--rail-bg: rgba(238, 242, 235, .9);--panel: #ffffff;--panel-strong: #f7f9f3;--panel-bg: rgba(255, 255, 255, .92);--panel-soft: rgba(13, 19, 15, .035);--panel-control: rgba(13, 19, 15, .045);--panel-hover: rgba(13, 19, 15, .055);--grid-line: rgba(13, 19, 15, .045);--line: rgba(13, 19, 15, .11);--line-strong: rgba(30, 142, 78, .32);--market-line: rgba(13, 19, 15, .14);--ink: #121611;--muted: #697166;--soft: #30372d;--accent: #198f4a;--accent-dim: rgba(25, 143, 74, .11);--accent-soft: rgba(25, 143, 74, .12);--chart-glow: rgba(25, 143, 74, .12);--on-accent: #ffffff;--danger: #c83d24;--danger-dim: rgba(200, 61, 36, .1);--danger-line: rgba(200, 61, 36, .26);--short: #c83d24;--warning: #b78300;--warning-dim: rgba(183, 131, 0, .1);--warning-line: rgba(183, 131, 0, .28);--warning-ink: #8a6200;--shadow: 0 22px 60px rgba(18, 22, 17, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--ink);background:linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),linear-gradient(var(--grid-line) 1px,transparent 1px),var(--bg);background-size:40px 40px,40px 40px,100% 100%}button,input{font:inherit}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:2.45rem;line-height:1}h2{margin-bottom:0;font-size:1.22rem;line-height:1.15}h3{margin-bottom:4px;font-size:1rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.rail{position:sticky;top:0;height:100vh;padding:20px 14px;display:flex;flex-direction:column;gap:26px;border-right:1px solid var(--line);background:var(--rail-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-mark{width:44px;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:8px;background:var(--accent);color:var(--on-accent);font-weight:950}.rail-nav{display:grid;gap:8px}.rail-link,.icon-button,.theme-toggle{border-radius:8px;transition:transform .16s ease,border-color .16s ease,color .16s ease,background .16s ease}.rail-link{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.rail-link:hover,.rail-link.active{color:var(--accent);border-color:var(--line);background:var(--panel-hover)}.rail-link span{font-size:.88rem;font-weight:820}.rail-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.logout-btn{color:var(--muted)}.logout-btn:hover{color:#e74c3c}.workbench{min-width:0;max-width:1600px;width:100%;padding:28px}.topbar,.panel-head,.status-strip,.action-pair,.language-switch,.toolbar-row,.section-actions,.event-copy-head,.event-actions{display:flex;align-items:center}.topbar{justify-content:space-between;gap:18px;margin-bottom:22px}.status-strip{flex-wrap:wrap;justify-content:flex-end;gap:10px}.page-copy{max-width:720px;margin:0;color:var(--muted);line-height:1.6}.eyebrow{margin:0 0 6px;color:var(--muted);font-size:.74rem;font-weight:800;text-transform:uppercase}.language-switch{min-height:36px;gap:3px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--panel-control)}.language-switch button{min-width:42px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-weight:850}.language-switch button.active{background:var(--accent);color:var(--on-accent)}.theme-toggle{width:38px;height:36px;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel-control);color:var(--soft);cursor:pointer}.theme-toggle:hover,.icon-button:hover,.command-button:hover{transform:translateY(-1px);border-color:var(--accent)}.user-email-badge{min-height:32px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel-control);color:var(--soft);font-size:.75rem;font-weight:600;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.status-pill,.chip,.run-state,.notify-line span{min-height:32px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel-control);color:var(--soft);font-size:.78rem;font-weight:820;white-space:nowrap}.status-pill.online,.status-pill.ok,.status-pill.testnet,.status-pill.simulated,.chip.ok,.chip.binance,.run-state.running,.notify-line .enabled{border-color:var(--line-strong);background:var(--accent-dim);color:var(--accent)}.status-pill.offline,.status-pill.blocked,.status-pill.critical,.status-pill.live,.chip.fallback,.chip.blocked,.run-state.error{border-color:var(--danger-line);background:var(--danger-dim);color:var(--danger)}.status-pill.connecting,.status-pill.warning,.run-state.paused,.chip.warning{border-color:var(--warning-line);background:var(--warning-dim);color:var(--warning-ink)}.chip.critical{border-color:var(--danger-line);background:var(--danger-dim);color:var(--danger)}.icon-button{width:42px;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line);background:var(--panel-control);color:var(--soft);cursor:pointer}.icon-button:disabled,.command-button:disabled,.segmented button:disabled{opacity:.4;cursor:not-allowed}.spinning{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.metrics-grid{display:grid;grid-template-columns:1.45fr repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.runtime-ribbon{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:14px}.runtime-card{min-height:108px;padding:14px;display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,var(--panel-soft),transparent),var(--panel-bg);box-shadow:var(--shadow);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.runtime-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.runtime-card-head span,.runtime-card small{color:var(--muted);font-size:.76rem}.runtime-card strong{font-size:1.08rem;line-height:1.2;overflow-wrap:anywhere}.runtime-card.ok{border-color:color-mix(in srgb,var(--line-strong) 55%,var(--line))}.runtime-card.muted{border-color:var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-soft) 75%,transparent),transparent),var(--panel-bg)}.runtime-card.warning{border-color:var(--warning-line);background:linear-gradient(180deg,var(--warning-dim),transparent),var(--panel-bg)}.runtime-card.critical{border-color:var(--danger-line);background:linear-gradient(180deg,var(--danger-dim),transparent),var(--panel-bg)}.runtime-card.muted strong{color:var(--soft)}.runtime-card.warning strong{color:var(--warning-ink)}.runtime-card.critical strong{color:var(--danger)}.runtime-card.flash{transform:translateY(-1px);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent),var(--shadow)}.delta-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.delta-card{min-height:86px;padding:12px;display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,var(--panel-soft),transparent),var(--panel-soft)}.delta-card span,.delta-card small{color:var(--muted);font-size:.74rem}.delta-card strong{font-size:1.04rem;line-height:1.2;overflow-wrap:anywhere}.delta-card.ok{border-color:color-mix(in srgb,var(--line-strong) 55%,var(--line))}.delta-card.warning{border-color:var(--warning-line);background:linear-gradient(180deg,var(--warning-dim),transparent),var(--panel-soft)}.delta-card.critical{border-color:var(--danger-line);background:linear-gradient(180deg,var(--danger-dim),transparent),var(--panel-soft)}.delta-card.muted{border-color:var(--line)}.delta-card.warning strong{color:var(--warning-ink)}.delta-card.critical strong{color:var(--danger)}.metric-tile,.panel,.strategy-card,.notify-card{border:1px solid var(--line);border-radius:8px;background:var(--panel-bg);box-shadow:var(--shadow)}.metric-tile{min-height:128px;padding:16px;display:grid;align-content:space-between;overflow:hidden}.primary-metric{min-height:154px;border-color:var(--line-strong);background:linear-gradient(180deg,var(--accent-soft),var(--panel-bg)),var(--panel)}.metric-tile span,.metric-tile small,.mini-metric span,.table-head,.risk-row small,.strategy-card p,.empty-row,.notify-card p{color:var(--muted)}.metric-tile strong{font-size:2.05rem;line-height:1}.primary-metric strong{font-size:3rem;color:var(--accent)}.page-layout{display:grid;gap:14px}.page-grid{display:grid;gap:14px;align-items:start}.page-grid-two{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}.page-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.page-grid-market{grid-template-columns:minmax(0,1.4fr) minmax(340px,.8fr)}.panel{min-width:0;padding:18px}.panel-head{justify-content:space-between;gap:14px;margin-bottom:18px}.panel-head.compact{margin-bottom:12px}.panel-note{margin:0;max-width:360px;color:var(--muted);font-size:.8rem;line-height:1.5;text-align:right}.market-panel{min-height:360px;border-color:var(--market-line);background:linear-gradient(180deg,var(--panel-soft),transparent),var(--panel)}.market-panel h2{font-size:2.2rem;color:var(--ink)}.price-readout{transition:color .18s ease,text-shadow .18s ease,transform .18s ease}.price-readout.up{color:var(--accent)}.price-readout.down{color:var(--short)}.price-readout.flash{transform:translateY(-1px);text-shadow:0 0 18px var(--chart-glow)}.market-badges,.market-tape{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.market-tape{justify-content:flex-start;margin-bottom:12px;padding:9px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.market-tape span{min-width:112px;color:var(--muted);font-size:.76rem}.market-tape strong{margin-left:6px;color:var(--soft)}.chart-frame{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 72px;grid-template-rows:minmax(0,238px) 76px;gap:0 14px;padding:14px 0 0;border-top:1px solid var(--line)}.chart-grid{position:absolute;top:14px;right:86px;bottom:76px;left:0;overflow:hidden;pointer-events:none}.chart-grid-line{position:absolute;left:0;right:0;border-top:1px dashed var(--line);opacity:.65}.chart-price-scale{position:relative;grid-column:2;grid-row:1}.chart-price-scale span{position:absolute;right:0;transform:translateY(-50%);color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}.price-line{position:absolute;left:0;right:86px;z-index:2;border-top:1px solid color-mix(in srgb,var(--accent) 45%,transparent);pointer-events:none}.price-line strong{position:absolute;right:-82px;top:0;min-width:70px;padding:3px 8px;transform:translateY(-50%);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--panel) 90%,white 10%);color:var(--accent);font-size:.72rem;font-variant-numeric:tabular-nums;text-align:center}.price-bars,.equity-bars{height:238px;display:flex;align-items:end;gap:4px;padding:14px 0 0;border-top:1px solid var(--line)}.terminal-chart{grid-column:1;grid-row:1;position:relative;gap:3px;padding-top:0;border-top:0;overflow:hidden}.price-bar{flex:1;min-width:3px;position:relative;align-self:stretch;background:transparent;transition:height .28s ease,top .28s ease,opacity .18s ease}.price-bar i{position:absolute;left:50%;top:0;transform:translate(-50%);width:1px;height:100%;display:block;background:currentColor;opacity:.7}.price-bar b{position:absolute;left:50%;transform:translate(-50%);width:clamp(6px,55%,12px);border-radius:4px;background:currentColor;box-shadow:0 0 18px var(--chart-glow)}.price-bar.up,.volume-bars span.up,.positive{color:var(--accent)}.price-bar.down,.negative{color:var(--short)}.price-bar.down b{box-shadow:none}.volume-bars{height:48px;display:flex;align-items:end;gap:3px;overflow:hidden}.volume-bars span{flex:1;min-width:3px;border-radius:2px 2px 0 0;background:var(--accent);opacity:.25;transition:height .28s ease}.volume-bars span.down{background:var(--short)}.volume-panel{grid-column:1 / -1;grid-row:2;display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.volume-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.volume-head span{color:var(--muted);font-size:.72rem}.volume-head strong{color:var(--soft);font-size:.76rem;font-variant-numeric:tabular-nums}.command-button{min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--accent);color:var(--on-accent);cursor:pointer;font-weight:900}.command-button.subtle{border-color:var(--line);background:var(--panel-control);color:var(--soft)}.command-button.subtle:hover{color:var(--accent)}.stats-grid,.settings-layout,.toggle-grid,.settings-meta,.settings-runtime,.runtime-grid,.field-grid,.signal-strip,.notify-card-grid,.segmented-cluster,.strategy-list,.risk-list,.exchange-list,.data-table,.history-list,.event-feed,.strategy-workbench,.section-stack,.subsection,.notify-cluster,.strategy-summary,.strategy-grid,.section-head,.breaker-strip,.history-row{display:grid;gap:10px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.runtime-grid-2x2,.params-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-metric{min-height:74px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.mini-metric.ghost{opacity:.72}.mini-metric strong{display:block;margin-top:8px;font-size:1.18rem;overflow-wrap:anywhere}.segmented-cluster{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented{min-height:42px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--panel-control)}.segmented button{border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-weight:820}.segmented button.active{background:var(--accent);color:var(--on-accent)}.timeframe-bar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-bottom:12px}.timeframe-bar span{color:var(--muted);font-size:.76rem;font-weight:800}.timeframe-segment{grid-template-columns:repeat(6,minmax(0,1fr))}.strategy-list{gap:10px}.strategy-card{min-height:88px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;width:100%;color:inherit;text-align:left;cursor:pointer;box-shadow:none;background:var(--panel-soft)}.strategy-card.active{border-color:var(--accent);background:var(--panel-control)}.strategy-card p{margin-bottom:0;overflow-wrap:anywhere}.strategy-stats{display:grid;justify-items:end;gap:6px}.run-state.stopped{color:var(--muted)}.risk-row,.exchange-row,.table-row,.empty-row{min-height:42px;display:grid;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.risk-row{grid-template-columns:12px minmax(0,1fr) auto auto}.exchange-row{grid-template-columns:minmax(0,1fr) auto}.exchange-row span{color:var(--muted)}.table-row{grid-template-columns:repeat(4,minmax(0,1fr))}.table-row-orders{grid-template-columns:90px repeat(7,minmax(0,1fr))}.table-row-orders-pending{grid-template-columns:90px repeat(6,minmax(0,1fr)) 88px}.table-row-positions{grid-template-columns:1.2fr .72fr .66fr .9fr .9fr 1.2fr .9fr .9fr 88px}.table-row-closed{grid-template-columns:90px 1fr .7fr .9fr .9fr 1.1fr .9fr}.table-row-trades{grid-template-columns:140px 1fr .6fr .9fr .9fr .7fr 1.2fr 1fr}.empty-row{display:flex}.risk-dot{width:9px;aspect-ratio:1;border-radius:50%;background:var(--accent)}.risk-dot.warning{background:var(--warning)}.risk-dot.blocked{background:var(--danger)}.backtest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.backtest-config-grid{align-items:start}.backtest-summary-grid,.backtest-focus-grid,.backtest-detail-list,.detail-grid,.narrative-list{display:grid;gap:10px}.backtest-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.backtest-hero{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,var(--panel-soft),transparent),var(--panel-soft)}.backtest-hero.positive{border-color:color-mix(in srgb,var(--line-strong) 58%,var(--line));background:linear-gradient(180deg,var(--accent-dim),transparent),var(--panel-soft)}.backtest-hero.negative{border-color:var(--danger-line);background:linear-gradient(180deg,var(--danger-dim),transparent),var(--panel-soft)}.backtest-hero-main,.narrative-copy,.narrative-side{display:grid;gap:8px}.backtest-hero-main{align-content:start}.backtest-hero-main strong{font-size:3rem;line-height:1}.backtest-hero-main p,.backtest-empty p,.narrative-title,.narrative-detail,.narrative-note{margin:0}.backtest-hero-main p,.backtest-empty p{color:var(--muted);line-height:1.6}.backtest-meta-row,.narrative-actions{display:flex;flex-wrap:wrap;gap:8px}.backtest-focus-grid,.backtest-detail-list,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-row{min-height:64px;padding:12px;display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel-control)}.detail-row span{color:var(--muted);font-size:.76rem}.detail-row strong{line-height:1.5;overflow-wrap:anywhere}.backtest-empty{padding:24px 18px;display:grid;gap:8px;border:1px dashed var(--line);border-radius:8px;background:var(--panel-soft)}.backtest-empty strong{font-size:1.04rem}.backtest-curve-panel{display:grid;gap:12px}.backtest-curve-summary,.detail-param-grid,.detail-modal-grid{display:grid;gap:10px}.backtest-curve-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.equity-curve{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,var(--panel-soft),transparent),var(--panel-control);color:var(--soft)}.equity-curve.positive{color:var(--accent);border-color:color-mix(in srgb,var(--line-strong) 55%,var(--line))}.equity-curve.negative{color:var(--danger);border-color:var(--danger-line)}.equity-curve.muted{color:var(--soft)}.equity-curve-head,.equity-curve-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.equity-curve-head span,.equity-curve-foot span{color:var(--muted);font-size:.76rem}.equity-curve-head strong{color:currentColor;font-size:.92rem}.equity-curve-canvas{height:220px;overflow:hidden;border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),linear-gradient(90deg,transparent,rgba(255,255,255,.02),transparent)}.equity-curve-svg{width:100%;height:100%;display:block}.equity-curve-grid{stroke:var(--line);stroke-dasharray:4 6;opacity:.7}.equity-curve-baseline{stroke:currentColor;stroke-dasharray:6 8;opacity:.35}.equity-curve-area{opacity:.82}.equity-curve-line{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 12px color-mix(in srgb,currentColor 24%,transparent))}.equity-curve-dot{fill:color-mix(in srgb,currentColor 92%,white 8%);stroke:color-mix(in srgb,var(--panel) 88%,white 12%);stroke-width:1.2}.equity-curve-dot.peak,.equity-curve-dot.end{filter:drop-shadow(0 0 10px color-mix(in srgb,currentColor 32%,transparent))}.equity-curve-empty{min-height:220px;display:grid;place-items:center;padding:18px;border:1px dashed var(--line);border-radius:8px;background:var(--panel-soft);color:var(--muted);text-align:center;line-height:1.6}.equity-bars{height:150px}.equity-bars span{flex:1;min-width:3px;border-radius:3px 3px 0 0;background:var(--accent);opacity:.8}.backtest-equity-bars{height:180px;padding-top:18px}.backtest-axis{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.backtest-axis strong{font-size:1rem}.narrative-row.selectable{cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.narrative-row.selectable:hover,.narrative-row.selectable:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-dim) 55%,transparent),transparent),var(--panel-soft);outline:none}.narrative-row{padding:14px;display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,var(--panel-soft),transparent),var(--panel-soft)}.narrative-row.warning{border-color:var(--warning-line);background:linear-gradient(180deg,var(--warning-dim),transparent),var(--panel-soft)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:26px;background:#050607b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.detail-dialog{width:min(1180px,100%);max-height:calc(100vh - 52px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;padding:22px}.detail-dialog-head,.detail-dialog-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.detail-dialog-copy{display:grid;gap:8px}.detail-dialog-title{margin:0}.detail-dialog-close{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--panel-control);color:var(--soft);cursor:pointer}.detail-dialog-body{min-height:0;display:grid;gap:16px;overflow:auto;padding-right:4px}.detail-modal-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)}.detail-modal-info,.detail-param-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-note{margin:0;color:var(--muted);line-height:1.6}.narrative-row.critical,.narrative-row.error{border-color:var(--danger-line);background:linear-gradient(180deg,var(--danger-dim),transparent),var(--panel-soft)}.narrative-row.acknowledged{opacity:.62}.narrative-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.narrative-title{color:var(--ink);font-size:.96rem;font-weight:780;line-height:1.5}.narrative-detail,.narrative-note,.narrative-time{color:var(--muted);font-size:.78rem;line-height:1.6}.narrative-side{justify-items:end;text-align:right}.narrative-side strong{font-size:1.12rem;line-height:1.2}.narrative-row.warning .narrative-title{color:var(--warning-ink)}.narrative-row.critical .narrative-title,.narrative-row.error .narrative-title,.narrative-note.negative{color:var(--danger)}.narrative-actions{justify-content:flex-end}.notify-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.depth-book{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.depth-column{display:grid;gap:6px}.depth-head,.depth-row{min-height:34px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-control)}.depth-head{color:var(--muted);font-size:.75rem;font-weight:820}.depth-row.bid strong{color:var(--accent)}.depth-row.ask strong{color:var(--short)}.depth-row span{color:var(--soft);font-size:.82rem}.inline-action{min-height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel-control);color:var(--soft);cursor:pointer;font-weight:820}.inline-action:hover{border-color:var(--danger);color:var(--danger)}.inline-action.destructive{border-color:var(--danger-line);color:var(--danger)}.notify-card{padding:14px;display:grid;gap:14px;background:var(--panel-soft);box-shadow:none}.notify-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.notify-card p{margin:0;line-height:1.6}.watch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.market-watch-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.monitor-watch-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:14px}.watch-card{padding:14px;display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,var(--panel-soft),transparent),var(--panel-soft)}.watch-card.ok{border-color:color-mix(in srgb,var(--line-strong) 55%,var(--line))}.watch-card.warning{border-color:var(--warning-line);background:linear-gradient(180deg,var(--warning-dim),transparent),var(--panel-soft)}.watch-card.critical{border-color:var(--danger-line);background:linear-gradient(180deg,var(--danger-dim),transparent),var(--panel-soft)}.watch-card-head,.watch-meta{display:flex;align-items:flex-start;gap:10px}.watch-card-head{justify-content:space-between}.watch-meta{flex-wrap:wrap}.watch-card-head strong{display:block;margin-bottom:4px}.watch-card-head p,.watch-note{margin:0;color:var(--muted);font-size:.74rem;line-height:1.5}.watch-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.watch-metric{min-height:60px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-control)}.watch-metric span{color:var(--muted);font-size:.72rem}.watch-metric strong{display:block;margin-top:7px;overflow-wrap:anywhere}.watch-note{color:var(--danger)}.market-watch-card{min-height:224px}.depth-balance,.range-meter{display:grid;gap:8px}.depth-balance-track,.range-track{position:relative;height:12px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--panel-control)}.depth-balance-track:after{content:"";position:absolute;left:50%;top:1px;bottom:1px;width:1px;background:var(--line);transform:translate(-50%)}.depth-balance-fill,.range-fill{position:absolute;top:0;bottom:0}.depth-balance-fill.bid{left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 30%,transparent),var(--accent))}.depth-balance-fill.ask{right:0;background:linear-gradient(90deg,var(--short),color-mix(in srgb,var(--short) 28%,transparent))}.depth-balance-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.74rem}.depth-balance-meta strong,.depth-balance-meta span{color:var(--muted)}.range-fill{left:0;background:linear-gradient(90deg,var(--accent-dim),var(--accent));opacity:.8}.range-pin{position:absolute;top:50%;width:12px;height:12px;border:2px solid color-mix(in srgb,var(--panel) 60%,white 40%);border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);transform:translate(-50%,-50%)}.timeline-feed{max-height:320px}.market-health-feed{max-height:260px}.event-feed{gap:6px;max-height:420px;overflow:auto}.compact-feed{max-height:260px}.event-row{min-height:38px;display:grid;grid-template-columns:74px 82px minmax(0,1fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.event-row.alert-row{grid-template-columns:74px minmax(0,1fr)}.event-row span,.event-row strong{color:var(--muted);font-size:.75rem}.event-row p{margin:0;color:var(--soft);font-size:.82rem;overflow-wrap:anywhere}.event-copy{display:grid;gap:4px}.event-copy-head{justify-content:space-between;gap:12px}.event-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.event-copy small{color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}.event-row.acknowledged{opacity:.62}.event-row.warning strong,.event-row.critical strong{color:var(--warning-ink)}.event-row.error strong,.event-row.critical p{color:var(--danger)}.toolbar-row{flex-wrap:wrap;gap:8px}.section-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.alert-filter{grid-template-columns:repeat(3,minmax(0,1fr));min-width:min(100%,340px)}.execution-feed{max-height:340px}.strategy-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}.status-pair{display:grid;justify-items:end;gap:6px;color:var(--muted);font-size:.8rem}.strategy-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.section-stack,.subsection{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.compact-section{margin-top:14px}.section-head{grid-template-columns:minmax(0,1fr) auto;align-items:center}.field{display:grid;gap:8px}.field span{color:var(--muted);font-size:.76rem;font-weight:800}.field input{min-height:40px;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--panel-control);color:var(--ink);padding:0 12px;outline:none;transition:border-color .16s ease,background .16s ease,color .16s ease}.field input:focus{border-color:var(--accent)}.field input:disabled{opacity:.55}.inline-feedback{margin:0;color:var(--muted);font-size:.8rem}.runtime-stack{align-content:start}.dense-copy{font-size:.95rem!important;line-height:1.3}.signal-strip{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));padding-top:14px;border-top:1px solid var(--line)}.signal-strip div,.breaker-strip div,.settings-meta div{display:grid;gap:6px}.signal-strip span,.breaker-strip span,.settings-meta span,.settings-fileline span{color:var(--muted);font-size:.76rem}.breaker-strip{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.breaker-strip.open{border-color:var(--danger-line);background:var(--danger-dim)}.risk-metrics{margin:14px 0}.history-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:48px;padding-bottom:10px;border-bottom:1px solid var(--line)}.history-row p{margin:4px 0 0;color:var(--muted);font-size:.78rem}.history-stats{display:grid;justify-items:end;gap:6px;color:var(--muted);font-size:.78rem}.history-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.single-toggle{grid-template-columns:1fr}.toggle-row{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-control);color:var(--soft)}.toggle-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;border-radius:999px;background:var(--line);position:relative;cursor:pointer;transition:background .16s ease}.toggle-row input:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--panel);transition:transform .16s ease,background .16s ease}.toggle-row input:checked{background:var(--accent)}.toggle-row input:checked:after{transform:translate(16px);background:var(--on-accent)}.settings-meta{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:14px;border-top:1px solid var(--line)}.history-coverage{margin-bottom:12px}.settings-fileline{display:grid;gap:6px;padding-top:14px;border-top:1px solid var(--line)}.settings-fileline strong{overflow-wrap:anywhere}.settings-runtime{grid-template-columns:repeat(2,minmax(0,1fr))}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{width:100%;max-width:400px;padding:40px 32px;border-radius:12px;border:1px solid var(--line);background:var(--panel);text-align:center}.login-brand{width:52px;aspect-ratio:1;margin:0 auto 20px;display:grid;place-items:center;border-radius:12px;background:var(--accent);color:var(--on-accent);font-weight:950;font-size:1.1rem}.login-card h1{font-size:1.1rem;color:var(--ink);margin:0 0 20px}.login-error{color:var(--danger);font-size:.85rem;margin-bottom:16px;padding:8px 12px;border-radius:8px;background:var(--danger-dim)}.login-form{display:grid;gap:12px;margin-bottom:16px}.login-field{display:grid;gap:6px;text-align:left;font-size:.82rem;font-weight:600;color:var(--muted)}.login-field input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel-control);color:var(--ink);font-size:.92rem;outline:none;transition:border-color .16s ease}.login-field input:focus{border-color:var(--accent)}.login-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-size:.92rem;font-weight:700;cursor:pointer;transition:transform .16s ease,opacity .16s ease}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn:not(:disabled):hover{transform:translateY(-1px)}.login-btn.subtle{background:transparent;color:var(--accent);border-color:var(--line)}.login-btn.subtle:hover{background:var(--accent-dim)}.login-seed-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--muted);font-size:.78rem}.login-seed-divider:before,.login-seed-divider:after{content:"";flex:1;height:1px;background:var(--line)}@media(max-width:1280px){.metrics-grid,.runtime-ribbon,.delta-grid,.page-grid-two,.page-grid-three,.page-grid-market,.market-watch-grid,.monitor-watch-grid,.backtest-summary-grid,.backtest-focus-grid,.backtest-detail-list,.backtest-curve-summary,.detail-grid,.detail-modal-info,.detail-param-grid,.detail-modal-grid,.settings-meta,.toggle-grid,.settings-runtime,.strategy-grid,.breaker-strip,.segmented-cluster,.stats-grid-three{grid-template-columns:1fr 1fr}.stats-grid-three,.settings-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.rail{position:static;height:auto}.rail-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.workbench{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.metrics-grid,.runtime-ribbon,.delta-grid,.page-grid-two,.page-grid-three,.page-grid-market,.market-watch-grid,.monitor-watch-grid,.backtest-grid,.backtest-summary-grid,.backtest-focus-grid,.backtest-detail-list,.backtest-curve-summary,.detail-grid,.detail-modal-info,.detail-param-grid,.detail-modal-grid,.field-grid,.runtime-grid,.stats-grid,.stats-grid-three,.settings-meta,.settings-runtime,.toggle-grid,.strategy-grid,.breaker-strip,.segmented-cluster,.signal-strip,.notify-card-grid,.strategy-card,.strategy-summary,.history-row,.backtest-hero,.narrative-head{grid-template-columns:1fr}.strategy-stats,.status-pair,.narrative-side{justify-items:start;text-align:left}.watch-metrics{grid-template-columns:1fr}.dialog-overlay{padding:18px}.detail-dialog{max-height:calc(100vh - 36px);padding:18px}.detail-dialog-head,.detail-dialog-actions{flex-direction:column;align-items:stretch}}@media(max-width:760px){h1{font-size:2rem}.rail-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.table-row,.table-row-orders,.table-row-orders-pending,.table-row-positions,.table-row-closed,.table-row-trades{grid-template-columns:1fr;padding:10px 0}.event-row{grid-template-columns:1fr}.backtest-axis{flex-direction:column;align-items:flex-start}.dialog-overlay{padding:12px}.detail-dialog{padding:16px}.equity-curve-canvas{height:180px}}.plan-status{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:.82rem}.plan-status span{color:var(--muted)}.plan-exit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.exit-plan-card{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel-control)}.exit-plan-card.stop-loss{border-color:var(--danger-line);background:var(--danger-dim)}.exit-plan-card.take-profit{border-color:var(--line-strong);background:var(--accent-dim)}.exit-plan-card p{margin:0 0 6px}.exit-plan-card h4{margin:0 0 4px;font-size:1.1rem}.exit-plan-card span,.exit-plan-card small{display:block;font-size:.74rem;color:var(--muted)}.plan-reason{margin:10px 0 0;color:var(--soft);font-size:.82rem;line-height:1.5}.entry-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:10px}.entry-plan-item{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-control);display:grid;gap:6px}.entry-plan-item p{margin:0;font-size:.72rem;color:var(--muted)}.entry-plan-item strong{font-size:.95rem}.chip.ok,.chip.info{border-color:var(--line-strong);background:var(--accent-dim);color:var(--accent)}.chip.warning{border-color:var(--warning-line);background:var(--warning-dim);color:var(--warning-ink)}.chip.muted{border-color:var(--line);background:var(--panel-control);color:var(--muted)}@media(max-width:980px){.plan-exit-grid{grid-template-columns:1fr}}.backtest-tabs{padding:0;overflow:hidden}.tab-bar{display:flex;gap:0;border-bottom:1px solid var(--line);padding:12px 18px 0;background:transparent}.tab-bar button{position:relative;min-height:42px;padding:0 16px;border:0;background:transparent;color:var(--muted);font-weight:800;font-size:.82rem;cursor:pointer;transition:color .16s ease}.tab-bar button:hover{color:var(--soft)}.tab-bar button.active{color:var(--accent)}.tab-bar button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.tab-count{display:inline-block;margin-left:6px;padding:0 6px;min-width:20px;height:18px;line-height:18px;border-radius:999px;background:var(--panel-soft);font-size:.7rem;text-align:center;color:var(--muted)}.tab-bar button.active .tab-count{background:var(--accent-dim);color:var(--accent)}.filter-bar{display:flex;align-items:flex-end;gap:12px;padding:12px;margin:0 -1px 12px;border:1px solid var(--line);border-left:0;border-right:0;background:var(--panel-control);flex-wrap:wrap}.filter-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.filter-field span{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.filter-field input{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 10px;color:var(--ink);font-size:13px;min-width:130px}.filter-actions{display:flex;gap:8px;margin-left:auto}@media(max-width:980px){.filter-bar{flex-direction:column;align-items:stretch}.filter-actions{margin-left:0}}
