:root{color:#e8edf4;background:#0a0d12;font-family:Segoe UI Variable,Microsoft YaHei UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision;--bg: #0a0d12;--bg-elev: #10141c;--bg-elev-2: #151b26;--bg-elev-3: #1a2230;--panel: #10141c;--panel-2: #151b26;--line: #1f2836;--line-soft: #171e29;--line-strong: #2c3748;--text: #e8edf4;--text-dim: #9aa7b8;--text-faint: #5f6b7d;--brand: #f0b429;--brand-dim: rgba(240, 180, 41, .12);--brand-glow: rgba(240, 180, 41, .45);--accent: #ef5350;--accent-dim: rgba(239, 83, 80, .12);--ok: #2ec27e;--ok-dim: rgba(46, 194, 126, .12);--warn: #d6a84b;--cyan: #4dd8e0;--cyan-dim: rgba(77, 216, 224, .1);--radius: 10px;--radius-sm: 6px;--shadow: 0 10px 32px rgba(0, 0, 0, .38);--font-mono: "Cascadia Mono", "JetBrains Mono", Consolas, "Microsoft YaHei UI", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}html{font-size:clamp(13px,.45vw + 10px,18px)}@media (min-width: 2200px){body{zoom:1.18}}@media (min-width: 3000px){body{zoom:1.32}}body{margin:0;min-width:960px;min-height:100vh;overflow-x:auto;background:radial-gradient(1100px 520px at 78% -10%,rgba(240,180,41,.05),transparent 60%),radial-gradient(900px 480px at 8% 108%,rgba(77,216,224,.04),transparent 60%),var(--bg)}button,a{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.terminal-shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;width:184px;flex-shrink:0;height:100vh;border-right:1px solid var(--line);background:#0a0d12b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{display:flex;align-items:center;gap:11px;padding:20px 18px 18px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.brand:visited{color:inherit}.brand-mark{display:grid;place-items:center;width:42px;height:36px;flex-shrink:0;border-radius:8px;background:#f0b4290f;border:1px solid rgba(240,180,41,.18)}.brand-mark svg{display:block}.brand strong{display:block;font:700 17px/1 Bahnschrift,Segoe UI,sans-serif;letter-spacing:.05em;color:var(--text)}.brand small{display:block;margin-top:4px;color:var(--text-faint);font:8px/1 Cascadia Mono,Consolas,monospace;letter-spacing:.14em}.brand .brand-text{display:flex;flex-direction:column;gap:5px;min-width:0}.brand .brand-version{display:inline-block;align-self:flex-start;color:var(--brand);font:600 9px/1 Cascadia Mono,Consolas,monospace;letter-spacing:.12em;padding:3px 6px;border:1px solid rgba(240,180,41,.35);border-radius:4px;background:#f0b4290f}.side-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:12px 10px}.side-nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid transparent;color:var(--text-dim);font-size:13px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.side-nav a .nav-index{color:var(--text-faint);font:10px Cascadia Mono,Consolas,monospace;width:14px}.side-nav a:hover{color:var(--text);background:var(--bg-elev-2)}.side-nav a.is-active{color:var(--brand);background:var(--brand-dim);border-color:#f0b42938}.side-nav a.is-active .nav-index{color:var(--brand)}.side-nav a .nav-dot{width:5px;height:5px;border-radius:50%;background:transparent;margin-left:auto}.side-nav a.is-active .nav-dot{background:var(--brand);box-shadow:0 0 6px var(--brand-glow)}.side-status{padding:13px 18px;border-top:1px solid var(--line)}.side-status .route-code{display:block;color:var(--text-dim);font:9px Cascadia Mono,Consolas,monospace;letter-spacing:.06em}.side-status .route-code b{color:var(--text);font-weight:500}.side-status .status-row{display:flex;align-items:center;gap:7px;margin-top:9px;color:var(--text-faint);font-size:10px}.signal-dot{width:7px;height:7px;border-radius:50%;background:#3a4046}.signal-dot.is-online{background:var(--ok);box-shadow:0 0 6px #46a75866}.signal-dot.is-live{background:var(--accent);box-shadow:0 0 6px #e5484d66}.side-user{display:flex;align-items:center;gap:9px;padding:10px 18px;border-top:1px solid var(--line)}.side-user .user-avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--brand-dim, rgba(240,180,41,.16));color:var(--brand);font-size:12px;font-weight:500;flex:none}.side-user .user-meta{display:flex;flex-direction:column;min-width:0;line-height:1.3}.side-user .user-meta strong{color:var(--text);font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user .user-meta small{color:var(--text-faint);font-size:10px}.side-user .logout-btn{margin-left:auto;padding:4px 9px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text-dim);font-size:11px;cursor:pointer;flex:none}.side-user .logout-btn:hover{border-color:var(--accent);color:var(--accent)}.admin-panel{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius)}.admin-panel .panel-head{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line)}.admin-panel .panel-head h3{margin:0;font-size:13px;font-weight:500;color:var(--text)}.admin-panel .panel-head .panel-sub{color:var(--text-faint);font-size:11px}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th{text-align:left;padding:9px 16px;color:var(--text-dim);font-weight:500;font-size:11px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table td{padding:10px 16px;border-bottom:1px solid var(--line);color:var(--text);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table .tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;line-height:1.5}.tag-admin{background:#f0b42924;color:var(--brand)}.tag-user,.tag-active{background:#46a75824;color:var(--ok)}.tag-frozen{background:#e5484d24;color:var(--accent)}.tag-worker-on{background:#46a75824;color:var(--ok)}.tag-worker-off{background:#78808c24;color:var(--text-faint)}.mon-card{border:1px solid var(--line);background:var(--bg);border-radius:var(--radius);padding:12px 14px}.mon-card .mon-label{font-size:10px;color:var(--text-faint);letter-spacing:.05em;margin-bottom:6px}.mon-card .mon-val{font-size:20px;font-weight:600;color:var(--text);line-height:1.2}.mon-card .mon-sub{font-size:11px;color:var(--text-dim);margin-top:4px}.admin-actions{display:flex;gap:6px}.admin-actions button{padding:4px 10px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text-dim);font-size:11px;cursor:pointer;white-space:nowrap}.admin-actions button:hover{border-color:var(--brand);color:var(--brand)}.admin-actions button.danger:hover{border-color:var(--accent);color:var(--accent)}.admin-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:13px 16px}.admin-form .field{display:flex;flex-direction:column;gap:4px}.admin-form label{color:var(--text-faint);font-size:10px}.admin-form input,.admin-form select{padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font-size:12px;outline:none}.admin-form input:focus,.admin-form select:focus{border-color:var(--brand)}.admin-form .submit{padding:8px 16px;border:none;border-radius:6px;background:var(--brand);color:#1a1403;font-size:12px;font-weight:500;cursor:pointer}.admin-form .submit:hover{filter:brightness(1.06)}.admin-view-user-data{max-height:420px;overflow:auto;padding:0 16px 14px;font-size:12px}.admin-view-user-data pre{margin:0;padding:10px 12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--text-dim);font:11px Cascadia Mono,Consolas,monospace;white-space:pre-wrap;word-break:break-all}.content{flex:1;min-width:0;display:flex;flex-direction:column}.view{display:none;padding:20px 22px}.view.is-active{display:block}.status-footer{display:flex;align-items:center;gap:22px;padding:0 22px;height:30px;margin-top:auto;border-top:1px solid var(--line);color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace}.status-footer .footer-lock{margin-left:auto;color:var(--warn)}.panel,.data-panel,.performance-panel,.status-console,.takeover-panel{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius)}.section-gap{margin-top:14px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.panel-heading h2{margin:3px 0 0;color:var(--text);font:500 15px Bahnschrift,Microsoft YaHei UI,sans-serif}.eyebrow{margin:0;color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase}.heading-summary,.heading-actions{display:flex;align-items:center;gap:14px;color:var(--text-faint);font-size:11px}.heading-summary b{color:var(--text-dim);font:500 12px Cascadia Mono,Consolas,monospace}.engine-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin-bottom:14px;border:1px solid var(--line);border-left:3px solid #4a5158;border-radius:var(--radius);background:var(--panel)}.engine-bar.is-running{border-left-color:var(--brand);background:linear-gradient(135deg,rgba(240,180,41,.08),transparent 60%)}.engine-bar .engine-state{display:flex;align-items:center;gap:11px;min-width:0}.engine-dot{width:9px;height:9px;border-radius:50%;background:#4a5158;flex-shrink:0}.engine-bar.is-running .engine-dot{background:var(--brand);box-shadow:0 0 8px var(--brand-glow);animation:engine-pulse 1.6s ease-in-out infinite}@keyframes engine-pulse{0%,to{opacity:1}50%{opacity:.35}}.engine-bar strong{display:block;color:var(--text);font-size:13px;font-weight:600}.engine-bar small{display:block;margin-top:3px;color:var(--text-faint);font-size:9px}.field-hint-popover{position:absolute;z-index:1000;background:#f85149;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;line-height:1.5;box-shadow:0 4px 12px #00000059;pointer-events:none}.field-hint-popover:before{content:"";position:absolute;top:-5px;left:14px;border:5px solid transparent;border-bottom-color:#f85149}.engine-strategy{display:inline-flex;align-items:baseline;gap:8px;padding:6px 12px;border:1px solid rgba(240,180,41,.35);border-radius:var(--radius-sm);background:var(--brand-dim);flex-shrink:1;max-width:min(420px,42vw);min-width:0;white-space:nowrap;overflow:hidden;cursor:help}.engine-strategy .engine-strategy-label{color:var(--text-faint);font-size:9px;letter-spacing:.05em}.engine-strategy strong{color:var(--brand);font-size:13px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.engine-strategy-version{color:var(--text-dim);font:10px var(--font-mono);flex:none}.engine-strategy:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.engine-start,.engine-stop{flex-shrink:0;min-width:150px;padding:10px 16px;border:1px solid rgba(240,180,41,.55);background:var(--brand-dim);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;border-radius:var(--radius-sm)}.engine-start:hover{background:#f0b42933}.engine-stop:hover{color:var(--text)}.risk-rail{border:1px solid var(--line);background:var(--panel)}.rail-title{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid var(--line-soft)}.rail-title small{color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace}.data-source-badge{font:10px Cascadia Mono,Consolas,monospace;padding:2px 8px;border-radius:10px;white-space:nowrap}.data-source-badge.is-live{color:#ff6b6b;border:1px solid rgba(255,107,107,.5);background:#ff6b6b14}.data-source-badge.is-demo{color:var(--accent);border:1px solid rgba(76,175,80,.5);background:#4caf5014}.rail-metrics{display:grid;grid-template-columns:1.1fr repeat(4,1fr) 1.1fr;margin:0}.rail-metrics>div{min-width:0;padding:12px 14px 11px;border-right:1px solid var(--line-soft)}.rail-metrics>div:last-child{border-right:0}.rail-metrics dt{color:var(--text-faint);font-size:10px}.rail-metrics dd{margin:6px 0 4px;color:var(--text);font:600 20px/1 Cascadia Mono,Consolas,monospace}.rail-metrics small{color:var(--text-faint);font-size:9px}.budget-track{display:block;width:100%;height:2px;margin:7px 0 4px;background:#23282e}.budget-track i{display:block;width:0;height:100%;background:var(--warn)}.data-table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;table-layout:auto}th{height:30px;padding:0 11px;border-bottom:1px solid var(--line-soft);color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace;text-align:left;white-space:nowrap}td{padding:9px 11px;color:var(--text-dim);font-size:12px;white-space:nowrap}.empty-row td{height:110px;padding:0}.empty-row.small td{height:72px}.empty-state{height:100%;display:grid;place-content:center;justify-items:center;gap:7px;color:var(--text-faint);text-align:center}.empty-state strong{color:var(--text-dim);font-weight:500;font-size:12px}.empty-state small{display:block;color:var(--text-faint);font-size:10px}.empty-glyph{color:#3a4148;font:300 20px Cascadia Mono,Consolas,monospace}.empty-state.horizontal{display:flex;align-items:center;justify-content:center;gap:12px;text-align:left}.empty-state.horizontal strong{display:block;margin-bottom:3px}.quiet-button,.text-button,.period-tabs button{border:1px solid var(--line);background:transparent;color:var(--text-faint);cursor:pointer}.quiet-button{padding:5px 9px;font-size:11px}.text-button{border:0;font-size:11px}button:disabled{cursor:not-allowed;opacity:.38}.period-tabs{display:flex;border:1px solid var(--line-soft)}.period-tabs button{min-width:42px;padding:5px 8px;border:0;border-right:1px solid var(--line-soft);font-size:10px}.period-tabs button:last-child{border-right:0}.period-tabs button.is-active{color:var(--text);background:var(--panel-2)}.performance-grid{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:170px}.return-summary{padding:16px;border-right:1px solid var(--line-soft)}.return-summary>span{color:var(--text-faint);font-size:10px}.return-summary>strong{display:block;margin:7px 0 16px;color:var(--text);font:500 24px Cascadia Mono,Consolas,monospace}.return-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:13px 10px;margin:0}.return-summary dt{color:var(--text-faint);font-size:9px}.return-summary dd{margin:3px 0 0;color:var(--text-dim);font:10px Cascadia Mono,Consolas,monospace}.equity-chart{position:relative;min-height:170px;overflow:hidden}.equity-chart>div{position:absolute;top:20px;right:14px;bottom:24px;left:14px;display:grid;grid-template-rows:repeat(4,1fr)}.equity-chart>div i{border-bottom:1px dashed #1c2228}.equity-chart svg{position:absolute;top:17px;right:14px;bottom:20px;left:14px;width:calc(100% - 28px);height:calc(100% - 37px)}.chart-baseline{fill:none;stroke:#263039;stroke-width:1;stroke-dasharray:4 6;vector-effect:non-scaling-stroke}.chart-placeholder{fill:none;stroke:#3d4854;stroke-width:1.5;vector-effect:non-scaling-stroke}.equity-chart>span{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);padding:4px 8px;background:var(--panel);color:var(--text-faint);font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;margin-top:14px}.operations-column{display:grid;gap:14px;min-width:0}.control-column{display:flex;flex-direction:column;gap:14px;min-width:0}.status-console>header,.takeover-panel>header{padding:13px 14px;border-bottom:1px solid var(--line-soft)}.pulse-row{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px;min-height:46px;padding:8px 13px;border-bottom:1px solid var(--line-soft)}.pulse-node{width:6px;height:6px;border:1px solid #4a5158;border-radius:50%}.pulse-node.is-ready{border-color:var(--ok);background:var(--ok);box-shadow:0 0 8px #46a75859}.pulse-row strong,.pulse-row small{display:block}.pulse-row strong{color:var(--text-dim);font-size:11px;font-weight:500}.pulse-row small{margin-top:2px;color:var(--text-faint);font-size:9px}.pulse-row b{color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace;font-weight:400}.strategy-readout{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:11px 13px;gap:10px;background:var(--panel-2)}.strategy-readout dt{color:var(--text-faint);font-size:9px}.strategy-readout dd{margin:3px 0 0;color:var(--text-dim);font:9px Cascadia Mono,Consolas,monospace}.lock-chip{position:absolute;top:14px;right:14px;padding:3px 6px;border:1px solid rgba(214,168,75,.35);color:var(--warn);font:9px Cascadia Mono,Consolas,monospace}.takeover-panel{position:relative}.takeover-panel>p{margin:0;padding:10px 13px;border-bottom:1px solid var(--line-soft);color:var(--text-faint);font-size:10px;line-height:1.6}.takeover-actions{display:grid;gap:6px;padding:11px}.takeover-actions button{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center;width:100%;min-height:44px;padding:6px 9px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-dim);text-align:left}.takeover-actions button>span:first-child{display:grid;place-items:center;width:23px;height:23px;border:1px solid #2a3138;color:var(--text-faint);font:12px Cascadia Mono,Consolas,monospace}.takeover-actions strong,.takeover-actions small{display:block}.takeover-actions strong{font-size:11px;font-weight:500}.takeover-actions small{margin-top:2px;color:var(--text-faint);font-size:9px}.takeover-actions button:not(:disabled):hover{border-color:#333b43;background:#171c21}.takeover-actions button.runtime-button{border-color:#e5484d66}.takeover-actions button.danger-action{border-color:#e5484d8c}.takeover-actions button.danger-action>span:first-child{border-color:#e5484d8c;color:var(--accent)}.runtime-note{min-height:20px;border-top:1px solid var(--line-soft)!important;border-bottom:0!important;color:var(--text-dim)!important}.exchange-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px;padding:2px}.exchange-heading h2{margin:5px 0 3px;color:var(--text);font:500 19px Bahnschrift,Microsoft YaHei UI,sans-serif}.exchange-heading p:not(.eyebrow){margin:0;color:var(--text-faint);font-size:10px}.route-safety{padding:5px 8px;border:1px solid var(--line);color:var(--text-dim);font:9px Cascadia Mono,Consolas,monospace}.route-board{display:grid;grid-template-columns:1fr 48px 1fr 48px 1.08fr;min-height:132px;border:1px solid var(--line);background:var(--panel)}.route-stage{padding:14px}.route-stage>small{color:var(--text-faint);font:8px Cascadia Mono,Consolas,monospace;letter-spacing:.12em}.route-stage h3{margin:5px 0 10px;color:var(--text);font:500 13px Bahnschrift,sans-serif}.route-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px}.route-choice{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-faint);text-align:left;cursor:pointer}.route-choice b,.route-choice small{display:block}.route-choice b{color:var(--text-dim);font-size:11px;font-weight:500}.route-choice small{margin-top:3px;color:var(--text-faint);font:8px Cascadia Mono,Consolas,monospace}.route-choice i{width:7px;height:7px;border:1px solid #3d444b;border-radius:50%}.route-choice.is-active{border-color:#e5484d8c;background:var(--accent-dim)}.route-choice.is-active b{color:var(--text)}.route-choice.is-active i{border-color:var(--accent);background:var(--accent);box-shadow:0 0 8px #e5484d66}.route-link{display:grid;place-items:center}.route-link:before{content:"";width:100%;height:1px;background:var(--line)}.route-link span{position:absolute;display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--text-faint);font:11px Cascadia Mono,Consolas,monospace}.active-route{display:grid;align-content:center;gap:6px;padding:12px 14px;border-left:1px solid var(--line-soft)}.active-route span{color:var(--text-faint);font-size:9px}.active-route strong{color:var(--text);font:500 16px Bahnschrift,sans-serif}.active-route code{color:var(--accent);font:9px Cascadia Mono,Consolas,monospace}.active-route p{margin:4px 0 0;color:var(--text-faint);font-size:9px;line-height:1.5}.exchange-workspace{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:14px;margin-top:14px}.vault-column,.trade-column{min-width:0}.trade-column{display:grid;align-content:start;gap:12px}.exchange-vaults{display:grid;grid-template-columns:1fr;border:1px solid var(--line);background:var(--panel)}.exchange-vault{min-width:0;padding:12px}.exchange-vault+.exchange-vault{border-left:0;border-top:1px solid var(--line-soft)}.exchange-vault.is-active{box-shadow:inset 0 2px var(--accent)}.exchange-vault>header{display:flex;justify-content:space-between;align-items:start;gap:10px}.exchange-vault h3{margin:4px 0 0;color:var(--text);font:500 13px Bahnschrift,sans-serif}.exchange-vault>p{min-height:22px;margin:6px 0 8px;color:var(--text-faint);font-size:9px;line-height:1.5}.vault-retained{color:var(--text-faint);font:8px Cascadia Mono,Consolas,monospace;white-space:nowrap}.credential-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}.credential-slot{padding:10px;border:1px solid var(--line);background:var(--panel-2)}.credential-slot>header{display:flex;justify-content:space-between;align-items:start;gap:8px;padding-bottom:8px;border-bottom:1px dashed var(--line)}.credential-slot header small,.credential-slot header strong{display:block}.credential-slot header small{color:var(--text-faint);font:7px Cascadia Mono,Consolas,monospace;letter-spacing:.08em}.credential-slot header strong{margin-top:3px;color:var(--text-dim);font-size:10px;font-weight:500}.credential-slot label{display:grid;gap:4px;margin-top:8px}.credential-slot label>span{color:var(--text-faint);font-size:8px}.credential-slot input,.manual-order input,.manual-order select,.live-confirm input,.config-card input,.config-card select{width:100%;height:32px;padding:0 9px;border:1px solid var(--line);border-radius:0;outline:0;background:var(--bg);color:var(--text-dim);font:10px Cascadia Mono,Consolas,Microsoft YaHei UI,sans-serif}.credential-slot input:focus,.manual-order input:focus,.manual-order select:focus,.live-confirm input:focus,.config-card input:focus,.config-card select:focus{border-color:var(--accent)}.save-credentials{width:100%;margin-top:9px;padding:6px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-dim);font-size:9px;cursor:pointer}.save-credentials:hover{border-color:#333b43}.slot-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.slot-actions .test-credentials,.slot-actions .save-credentials{margin-top:0}.test-credentials{padding:6px;border:1px solid rgba(229,72,77,.45);background:var(--accent-dim);color:var(--text-dim);font-size:9px;cursor:pointer}.test-credentials:not(:disabled):hover{border-color:var(--accent);color:var(--text)}.test-credentials:disabled{cursor:not-allowed;opacity:.38}.test-credentials.smoke{border-color:#46a75873;background:#46a75814}.test-credentials.smoke:not(:disabled):hover{border-color:var(--ok);color:var(--ok)}.exchange-note-row{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--line);border-top:0;background:var(--panel)}.exchange-note-row p{margin:0;color:var(--text-faint);font-size:9px}.exchange-note-row button{padding:7px 11px;border:1px solid rgba(229,72,77,.5);background:var(--accent-dim);color:var(--text);font-size:10px;cursor:pointer}.exchange-note-row button:disabled{opacity:.38;cursor:not-allowed}.live-guard,.manual-order,.strategy-boundary{border:1px solid var(--line);background:var(--panel)}.live-guard>header,.manual-order>header{padding:12px 13px;border-bottom:1px solid var(--line-soft)}.live-guard h3,.manual-order h3{margin:4px 0;color:var(--text);font:500 14px Bahnschrift,sans-serif}.live-guard header p:last-child{margin:0;color:var(--text-faint);font-size:9px;line-height:1.5}.guard-switch-row{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-bottom:1px solid var(--line-soft)}.guard-switch-row strong,.guard-switch-row small{display:block}.guard-switch-row strong{color:var(--text-dim);font-size:10px;font-weight:500}.guard-switch-row small{margin-top:2px;color:var(--text-faint);font-size:8px}.guard-switch{position:relative;width:37px;height:19px;padding:0;border:1px solid var(--line);background:var(--panel-2);cursor:pointer}.guard-switch i{position:absolute;top:2px;left:2px;width:13px;height:13px;background:#4a5158;transition:transform .16s ease}.guard-switch.is-on{border-color:#e5484da6;background:var(--accent-dim)}.guard-switch.is-on i{transform:translate(18px);background:var(--accent)}.live-confirm{display:none;padding:11px 13px;border-bottom:1px solid var(--line-soft)}.live-confirm.is-visible{display:block}.live-confirm label{color:var(--text-faint);font-size:9px}.live-confirm input{margin:6px 0;border-color:#e5484d73;background:var(--bg);color:var(--text)}.danger-confirm,.demo-confirm{width:100%;min-height:34px;border:1px solid rgba(229,72,77,.6);background:var(--accent-dim);color:var(--text);font-size:10px;cursor:pointer}.demo-confirm{border-color:var(--line);background:var(--panel-2);color:var(--text-dim)}.guard-note{margin:0;padding:9px 13px;color:var(--text-faint);font-size:8px;line-height:1.5}.manual-order>header{position:relative}.manual-order>header span{position:absolute;top:14px;right:12px;color:var(--warn);font:8px Cascadia Mono,Consolas,monospace}.simulation-warning{margin:0;padding:8px 12px;border-bottom:1px solid var(--line-soft);color:var(--text-faint);font-size:8px;line-height:1.5}.manual-order form{padding:11px}.manual-order label{display:grid;gap:4px;color:var(--text-faint);font-size:8px}.order-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.manual-order .reduce-only{display:flex;align-items:center;gap:6px;margin:8px 0}.manual-order .reduce-only input{width:14px;height:14px;accent-color:var(--accent)}#review-order-button{width:100%;padding:7px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-dim);font-size:10px;cursor:pointer}.order-review{margin:0 11px 11px;padding:10px;border:1px solid rgba(214,168,75,.3);background:#d6a84b08}.order-review strong{color:var(--warn);font-size:9px}.order-review p{color:var(--text-dim);font:9px Cascadia Mono,Consolas,monospace;line-height:1.5}#order-note{margin:0;padding:9px 11px;border-top:1px solid var(--line-soft);color:var(--text-faint);font-size:8px;line-height:1.5}.strategy-boundary{padding:12px}.strategy-boundary strong{color:var(--warn);font-size:10px;font-weight:500}.strategy-boundary p{margin:5px 0 9px;color:var(--text-faint);font-size:8px;line-height:1.5}.strategy-boundary button{width:100%;padding:6px;border:1px solid var(--line);background:transparent;color:var(--text-faint);font-size:9px}.automation-config{margin-top:0}.automation-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding:12px}.automation-grid>label{display:grid;gap:5px;color:var(--text-faint);font-size:9px}.automation-grid input,.automation-grid select,.automation-grid textarea{width:100%;border:1px solid var(--line);border-radius:0;outline:0;background:var(--bg);color:var(--text-dim);font:10px Cascadia Mono,Consolas,Microsoft YaHei UI,sans-serif}.automation-grid input,.automation-grid select{height:32px;padding:0 9px}.automation-grid input:focus,.automation-grid select:focus,.automation-grid textarea:focus{border-color:var(--accent)}.strategy-page{display:flex;flex-direction:column;gap:14px;width:100%}.strategy-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;border:1px solid var(--line);background:var(--panel)}.strategy-headline p.eyebrow{margin:0 0 8px}.strategy-headline h2{margin:0 0 8px;color:var(--text);font:500 20px Bahnschrift,Microsoft YaHei UI,sans-serif}.strategy-summary{margin:0;color:var(--text-faint);font-size:11px;line-height:1.5;max-width:640px}.strategy-engine-state{display:flex;align-items:center;gap:14px;flex-shrink:0}.strategy-engine-state .engine-state-dot{width:10px;height:10px;border-radius:50%;background:#4a5158}.strategy-engine-state.running .engine-state-dot{background:var(--accent);box-shadow:0 0 8px #e5484d80;animation:engine-pulse 1.6s ease-in-out infinite}.strategy-engine-state.armed .engine-state-dot{background:var(--warn)}.strategy-engine-state strong{color:var(--text);font-size:13px;font-weight:600}.engine-btn{min-width:130px;padding:9px 14px;border:1px solid;cursor:pointer;font-size:12px;font-weight:500}.engine-start{border-color:var(--accent);background:var(--accent-dim);color:var(--text)}.engine-start:hover{background:#e5484d33}.engine-stop{border-color:var(--line);background:var(--panel-2);color:var(--text-dim)}.engine-stop:hover{color:var(--text);border-color:var(--text-faint)}.engine-message{margin-top:8px;padding:8px 12px;font-size:11px;font-family:Cascadia Mono,Consolas,monospace;border:.5px solid var(--line);background:var(--panel-2);color:var(--text-dim)}.engine-message.tone-ok{color:var(--ok);border-color:#46a75866;background:#46a7580f}.engine-message.tone-err{color:var(--bad);border-color:#e5484d66;background:#e5484d0f}.engine-message.tone-info{color:var(--text-dim)}.engine-save{border-color:#69a4a98c;background:#69a4a914;color:var(--text)}.engine-save:hover{background:#69a4a926}.strategy-form{display:flex;flex-direction:column;gap:14px}.strategy-card{padding:18px 22px;border:1px solid var(--line);background:var(--panel)}.strategy-card h3{margin:0 0 14px;color:var(--text);font:500 14px Bahnschrift,Microsoft YaHei UI,sans-serif;letter-spacing:.04em}.strategy-card h3:before{content:"";display:inline-block;width:4px;height:14px;background:var(--accent);margin-right:10px;vertical-align:-2px}.strategy-strategy-pick{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:16px}.strategy-select{width:100%;height:38px;padding:0 12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:12px;outline:none}.strategy-select:focus{border-color:var(--accent)}.strategy-desc{margin:14px 0 0;padding:10px 12px;border-left:2px solid var(--accent);background:var(--panel-2);color:var(--text-dim);font-size:11px;line-height:1.6}.strategy-detail-card{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg-elev)}.strategy-detail-card .strategy-detail-desc{margin:0 0 8px;color:var(--text);font-size:12px;font-weight:500}.strategy-detail-list{margin:0;padding-left:20px;display:grid;gap:6px}.strategy-detail-list li{color:var(--text-dim);font-size:11.5px;line-height:1.7}.strategy-detail-empty{margin:0;color:var(--text-faint);font-size:11px}#import-strategy-panel{margin-top:14px}.strategy-hint{margin:0 0 10px;color:var(--text-faint);font-size:11px;line-height:1.6}.strategy-import-code{width:100%;min-height:180px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font:11.5px/1.6 Cascadia Mono,Consolas,monospace;resize:vertical;outline:none}.strategy-import-code:focus{border-color:var(--accent)}.strategy-import-actions{display:flex;align-items:center;gap:10px;margin-top:12px}.strategy-import-status{font-size:11px;color:var(--text-dim)}.strategy-import-status.is-error{color:var(--accent)}.engine-ghost{background:transparent;border:1px solid var(--line-strong);color:var(--text-dim)}.engine-ghost:hover{border-color:var(--text-faint);color:var(--text)}.engine-ghost.is-danger{color:var(--accent);border-color:#e5484d66}.engine-ghost.is-danger:hover{background:#e5484d1f;border-color:var(--accent)}.strategy-user-list .strategy-hint{margin:0 0 10px;color:var(--text-faint);font-size:11px;line-height:1.6}.strategy-user-list .strategy-hint code{padding:1px 6px;background:var(--panel-2);border-radius:3px;color:var(--text-dim);font:11px Cascadia Mono,Consolas,monospace}.strategy-user-items{list-style:none;margin:0;padding:0;display:grid;gap:8px}.strategy-user-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--bg-elev)}.strategy-user-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.strategy-user-info strong{color:var(--text);font-size:12px}.strategy-user-info .strategy-user-id{font:10px Cascadia Mono,Consolas,monospace;color:var(--cyan)}.strategy-user-info .strategy-user-desc{color:var(--text-faint);font-size:11px}.strategy-user-actions{display:flex;gap:6px;flex-shrink:0}.strategy-user-actions .engine-btn{padding:4px 12px;font-size:11px}.strategy-params-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 18px}.strategy-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 18px;margin-top:14px}.strategy-param{display:grid;gap:6px}.param-label{color:var(--text-dim);font-size:11px;font-weight:500}.param-input input,.param-input select{width:100%;height:38px;padding:0 12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:12px Cascadia Mono,Consolas,Microsoft YaHei UI,sans-serif;outline:none}.param-input input:focus,.param-input select:focus{border-color:var(--accent)}.param-input small{color:var(--text-faint);font-size:9px}.strategy-enable{display:grid;grid-template-columns:18px 1fr;align-items:start;gap:10px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}.strategy-enable input{width:18px;height:18px;accent-color:var(--accent);margin-top:1px}.strategy-enable strong{display:block;color:var(--text);font-size:12px;font-weight:500}.strategy-enable small{display:block;color:var(--text-faint);font-size:10px;margin-top:3px}.strategy-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px;border:1px solid var(--line);background:var(--panel)}.strategy-actions{display:flex;gap:8px}.strategy-actions .engine-btn{min-width:100px}.analysis-page{display:flex;flex-direction:column;gap:14px;width:100%}.trade-log-section{border:.5px solid var(--line);background:var(--panel)}.trade-log-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:.5px solid var(--line-soft)}.trade-log-head p.eyebrow{margin:0 0 4px}.trade-log-head h2{margin:0;color:var(--text);font:500 15px Bahnschrift,Microsoft YaHei UI,sans-serif}.trade-log-count{padding:3px 8px;border:.5px solid var(--line);color:var(--text-dim);font:10px Cascadia Mono,Consolas,monospace}.trade-log-empty{margin:0;padding:18px 16px;color:var(--text-faint);font-size:11px}.trade-log-wrap{overflow-x:auto}.trade-log-table{width:100%;border-collapse:collapse;font-size:11px}.trade-log-table th{padding:8px 12px;text-align:left;color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace;font-weight:400;border-bottom:.5px solid var(--line-soft);white-space:nowrap}.trade-log-table td{padding:8px 12px;color:var(--text-dim);border-bottom:.5px solid var(--line-soft);white-space:nowrap}.trade-log-table tr:last-child td{border-bottom:0}.trade-log-table .mono{font:10px Cascadia Mono,Consolas,monospace}.trade-log-table td.up{color:var(--accent)}.trade-log-table td.down{color:var(--ok)}.trade-status{padding:2px 7px;font-size:10px}.trade-status.ok{color:var(--ok);border:.5px solid rgba(70,167,88,.4)}.trade-status.err{color:var(--accent);border:.5px solid rgba(229,72,77,.4)}.analysis-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;border:1px solid var(--line);background:var(--panel)}.analysis-head p.eyebrow{margin:0 0 8px}.analysis-head h2{margin:0 0 8px;color:var(--text);font:500 20px Bahnschrift,Microsoft YaHei UI,sans-serif}.analysis-sub{margin:0;color:var(--text-faint);font-size:11px;line-height:1.5;max-width:640px}.analysis-head-state{display:flex;align-items:center;gap:12px;flex-shrink:0}.analysis-head-state .analysis-dot{width:10px;height:10px;border-radius:50%;background:#4a5158}.analysis-head-state.running .analysis-dot{background:var(--accent);box-shadow:0 0 8px #e5484d80;animation:engine-pulse 1.6s ease-in-out infinite}.analysis-head-state strong{color:var(--text);font-size:13px;font-weight:600}.analysis-head-state small{color:var(--text-faint);font-size:10px;display:block}.analysis-list{display:flex;flex-direction:column;gap:14px}.analysis-card{border:.5px solid var(--line);background:var(--panel)}.analysis-card.ok{border-color:#46a75859}.analysis-card.warn{border-color:#d6a84b59}.analysis-card.err{border-color:#e5484d59}.analysis-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:.5px solid var(--line-soft)}.analysis-header p.eyebrow{margin:0 0 5px}.analysis-header h2{margin:0;color:var(--text);font:500 18px Cascadia Mono,Consolas,monospace}.price-tone{font-size:12px}.price-tone.up{color:var(--accent)}.price-tone.down{color:var(--ok)}.analysis-status{display:flex;align-items:center;gap:8px}.analysis-status .decision-dot{width:8px;height:8px;border-radius:50%;background:#4a5158}.analysis-status.ok .decision-dot{background:var(--ok);box-shadow:0 0 6px #46a75866}.analysis-status.warn .decision-dot{background:var(--warn)}.analysis-status.err .decision-dot{background:var(--accent)}.analysis-status strong{color:var(--text);font-size:12px;font-weight:500}.analysis-status small{color:var(--text-faint);font:10px Cascadia Mono,monospace}.chain{padding:4px 18px}.chain-row{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:.5px dashed var(--line-soft);font-size:11px}.chain-row:last-child{border-bottom:0}.chain-n{font:500 11px Cascadia Mono,monospace;color:var(--text-faint);min-width:18px;padding-top:1px}.chain-label{color:var(--text-faint);min-width:40px;padding-top:1px}.chain-value{color:var(--text);font-family:Cascadia Mono,monospace;font-size:11px;line-height:1.5}.chain-value.ok{color:var(--ok)}.chain-value.live{color:var(--accent);font-weight:500}.chain-value.err{color:var(--bad)}.analysis-reason{margin:0;padding:10px 18px;border-top:.5px solid var(--line-soft);color:var(--text-dim);font-size:11px}.analysis-order{margin:0;padding:8px 18px 12px;color:var(--text-faint);font:10px Cascadia Mono,monospace}.analysis-order code{color:var(--text-dim)}.analysis-empty{display:grid;place-content:center;justify-items:center;gap:8px;padding:60px 20px;border:1px dashed var(--line);color:var(--text-faint);text-align:center}.analysis-empty .empty-glyph{font-size:26px;color:#3a4148}.analysis-empty strong{color:var(--text-dim);font-weight:500;font-size:13px}.analysis-empty small{color:var(--text-faint);font-size:11px}.monitor-page{display:flex;flex-direction:column;gap:14px;width:100%}.monitor-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;border:1px solid var(--line);background:var(--panel)}.monitor-head p.eyebrow{margin:0 0 8px}.monitor-head h2{margin:0 0 8px;color:var(--text);font:500 20px Bahnschrift,Microsoft YaHei UI,sans-serif}.monitor-sub{margin:0;color:var(--text-faint);font-size:11px}.monitor-head-state{display:flex;align-items:center;gap:12px;flex-shrink:0}.monitor-head-state .monitor-dot{width:10px;height:10px;border-radius:50%;background:#4a5158}.monitor-head-state.running .monitor-dot{background:var(--ok);box-shadow:0 0 8px #46a75880}.monitor-head-state strong{color:var(--text);font-size:13px;font-weight:600}.monitor-head-state small{color:var(--text-faint);font-size:10px;display:block}.mon-card{padding:16px 20px;border:.5px solid var(--line);background:var(--panel)}.mon-card-head{margin-bottom:12px}.mon-card-head p.eyebrow{margin:0 0 6px}.mon-card-head h3{margin:0;color:var(--text);font:500 14px Bahnschrift,Microsoft YaHei UI,sans-serif}.mon-pills{display:flex;flex-wrap:wrap;gap:8px}.mon-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:.5px solid var(--line);background:var(--panel-2);font:10px Cascadia Mono,monospace;color:var(--text-dim)}.mon-pill .mon-dot{width:6px;height:6px;border-radius:50%;background:#3a4046}.mon-pill.ok{color:var(--ok);border-color:#46a75866;background:#46a7580d}.mon-pill.ok .mon-dot{background:var(--ok)}.mon-note{margin:12px 0 0;color:var(--text-faint);font-size:10px;line-height:1.6}.mon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mon-metric{background:var(--panel-2);padding:12px 14px;border:.5px solid var(--line-soft)}.mon-metric .label{color:var(--text-faint);font-size:11px;margin-bottom:6px}.mon-metric .value{font:600 16px/1 Cascadia Mono,Consolas,monospace;color:var(--text)}.mon-metric .delta{font-size:10px;margin-top:5px;color:var(--text-faint)}.mon-log{display:flex;flex-direction:column}.mon-log-row{display:flex;gap:10px;padding:4px 0;font:10px/1.6 Cascadia Mono,monospace;color:var(--text-faint);border-bottom:.5px dashed var(--line-soft)}.mon-log-row:last-child{border-bottom:0}.mon-log-row .t{color:var(--text-faint);min-width:56px}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;border:1px solid var(--line);border-bottom:0;background:var(--panel)}.settings-heading h2{margin:4px 0 6px;color:var(--text);font:500 17px Bahnschrift,Microsoft YaHei UI,sans-serif}.settings-heading p:not(.eyebrow){margin:0;color:var(--text-faint);font-size:10px}.settings-lock{display:flex;align-items:center;gap:8px;color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace}.settings-lock strong{padding:6px 8px;border:1px solid rgba(229,72,77,.45);color:var(--accent);font-size:9px;letter-spacing:.08em}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:var(--panel)}.config-card{min-width:0;padding:15px;border-right:1px solid var(--line-soft)}.config-card:nth-child(3){border-right:0}.config-card>header{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:9px}.config-card header small{color:var(--text-faint);font:8px Cascadia Mono,Consolas,monospace;letter-spacing:.12em}.config-card h3{margin:4px 0 0;color:var(--text);font:500 13px Bahnschrift,Microsoft YaHei UI,sans-serif}.config-state{padding:3px 6px;border:1px solid var(--line);color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace;white-space:nowrap}.config-state.is-configured{border-color:#46a75866;color:var(--ok)}.config-description{min-height:40px;margin:0 0 11px;color:var(--text-faint);font-size:10px;line-height:1.5}.config-card label{display:grid;gap:5px;margin-top:9px}.config-card label>span{color:var(--text-faint);font-size:9px}.config-card input::placeholder{color:#3d444b}.secret-input{position:relative;display:block}.config-card .secret-input input{padding-right:40px}.secret-toggle{position:absolute;inset:0 0 0 auto;display:grid;place-items:center;width:36px;padding:0;border:0;border-left:1px solid var(--line);background:transparent;color:var(--text-faint);cursor:pointer}.secret-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.secret-toggle .eye-slash{opacity:0}.secret-toggle:hover,.secret-toggle[aria-pressed=true]{color:var(--accent);background:var(--accent-dim)}.secret-toggle[aria-pressed=true] .eye-slash{opacity:1}.secret-toggle:disabled{cursor:wait;opacity:.38}.fixed-endpoint{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:9px;border-top:1px dashed var(--line)}.fixed-endpoint span{color:var(--text-faint);font-size:9px}.fixed-endpoint strong{color:var(--text-dim);font:9px Cascadia Mono,Consolas,monospace;font-weight:400}.toggle-label{grid-template-columns:1fr auto;align-items:center;min-height:44px;padding:0 9px;border:1px solid var(--line);background:var(--bg)}.toggle-label>span strong,.toggle-label>span small{display:block}.toggle-label>span strong{color:var(--text-dim);font-size:10px;font-weight:500}.toggle-label>span small{margin-top:3px;color:var(--text-faint);font-size:8px}.toggle-label input{width:30px;height:16px;accent-color:var(--accent)}.config-help{display:inline-block;margin-top:11px;color:var(--text-dim);font-size:10px;text-decoration:none}.config-help:hover{color:var(--text)}.test-integration{width:100%;margin-top:10px;padding:6px;border:1px solid rgba(229,72,77,.45);background:var(--accent-dim);color:var(--text-dim);font-size:9px;cursor:pointer}.test-integration:not(:disabled):hover{border-color:var(--accent);color:var(--text)}.test-integration:disabled{cursor:not-allowed;opacity:.38}.settings-submit-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:11px 15px;border-top:1px solid var(--line-soft);background:var(--panel-2)}.settings-submit-row p{margin:0;color:var(--text-faint);font-size:10px}.settings-submit-row button{display:flex;align-items:center;gap:10px;min-width:170px;padding:7px 11px;border:1px solid rgba(229,72,77,.5);background:var(--accent-dim);color:var(--text);text-align:left;cursor:pointer}.settings-submit-row button span,.settings-submit-row button small{display:block}.settings-submit-row button span{font-size:11px}.settings-submit-row button small{color:var(--text-dim);font-size:8px}.service-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-settings-grid .config-card:nth-child(2){border-right:0}@media (max-width: 1120px){.rail-metrics{grid-template-columns:repeat(3,1fr)}.rail-metrics>div:nth-child(3){border-right:0}.rail-metrics>div:nth-child(-n+3){border-bottom:1px solid var(--line-soft)}.dashboard-grid{grid-template-columns:1fr}.control-column{display:grid;grid-template-columns:1fr 1fr;align-items:start}.settings-grid{grid-template-columns:1fr}.route-board{grid-template-columns:1fr 32px 1fr}.route-board .route-link:nth-of-type(2),.route-board .active-route{display:none}.exchange-workspace{grid-template-columns:1fr}.trade-column{grid-template-columns:1fr 1fr}.strategy-boundary{grid-column:1 / -1}.config-card{border-right:0;border-bottom:1px solid var(--line-soft)}.sidebar{width:180px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.candle-section{margin-bottom:14px}.candle-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;border:.5px solid var(--line);background:var(--panel)}.candle-section-head p.eyebrow{margin:0 0 6px}.candle-section-head h2{margin:0;color:var(--text);font:500 16px Bahnschrift,Microsoft YaHei UI,sans-serif}.candle-section-freqs{display:flex;flex-wrap:wrap;gap:4px}.freq-tab{padding:5px 10px;border:.5px solid var(--line);background:transparent;color:var(--text-faint);font-size:10px;font-family:Cascadia Mono,Consolas,monospace;cursor:pointer}.freq-tab:hover{color:var(--text);border-color:var(--text-faint)}.freq-tab.is-active{color:var(--text);background:var(--accent-dim);border-color:#e5484d80}.candle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px}.candle-card{border:.5px solid var(--line);background:var(--panel)}.candle-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:.5px solid var(--line-soft)}.candle-header p.eyebrow{margin:0 0 4px}.candle-title{min-width:0}.candle-price{margin:0;color:var(--text);font:600 17px Cascadia Mono,Consolas,monospace}.candle-change{font-size:11px;margin-left:8px}.candle-change.up{color:var(--accent)}.candle-change.down{color:var(--ok)}.candle-hilo{display:flex;gap:14px;align-items:baseline;flex-shrink:0}.candle-hilo .hilo-high,.candle-hilo .hilo-low{font:10px Cascadia Mono,Consolas,monospace;color:var(--text-faint)}.candle-hilo .hilo-high b{color:var(--ok);font-weight:500;margin-left:4px}.candle-hilo .hilo-low b{color:var(--accent);font-weight:500;margin-left:4px}.candle-freq{padding:4px 8px;border:.5px solid var(--line);background:transparent;color:var(--text-dim);font:10px Cascadia Mono,Consolas,monospace}.candle-chart{height:150px;padding:6px 10px}.candle-plot{position:relative;display:flex;width:100%;height:100%}.candle-plot .candle-svg{flex:1 1 auto;min-width:0;width:auto;height:100%;display:block}.candle-axis{position:relative;flex:0 0 56px;margin-left:6px;border-left:.5px solid var(--line-soft)}.candle-axis .axis-label{position:absolute;right:2px;transform:translateY(-50%);font:9px Cascadia Mono,Consolas,monospace;color:var(--text-faint);white-space:nowrap}.candle-axis .axis-label.high{color:var(--ok)}.candle-axis .axis-label.low{color:var(--accent)}.candle-empty{display:grid;place-content:center;color:var(--text-faint);font-size:11px;min-height:150px}.takeover-page{display:flex;flex-direction:column;gap:14px;width:100%}.takeover-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 22px;border:.5px solid var(--line);background:var(--panel)}.takeover-head p.eyebrow{margin:0 0 8px}.takeover-head h2{margin:0 0 8px;color:var(--text);font:500 20px Bahnschrift,Microsoft YaHei UI,sans-serif}.takeover-sub{margin:0;color:var(--text-faint);font-size:11px}.takeover-card{padding:16px 20px;border:.5px solid var(--line);background:var(--panel)}.takeover-card.warn{border-color:#d6a84b66}.takeover-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.takeover-card h3{margin:0;color:var(--text);font:500 14px Bahnschrift,Microsoft YaHei UI,sans-serif}.status-pill{padding:4px 8px;border:.5px solid rgba(214,168,75,.4);color:var(--warn);font:10px Cascadia Mono,Consolas,monospace}.takeover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.takeover-btn{display:flex;align-items:center;gap:12px;padding:14px;border:.5px solid var(--line);background:var(--panel-2);color:var(--text-dim);text-align:left;cursor:pointer}.takeover-btn:hover:not(:disabled){border-color:var(--text-faint);color:var(--text)}.takeover-btn.danger{border-color:#e5484d80}.takeover-btn.danger .ic{color:var(--accent);border-color:#e5484d80}.takeover-btn.ghost{background:transparent}.takeover-btn.primary{background:#f0b4291f;border-color:#f0b42980;color:var(--brand)}.takeover-btn.primary:hover:not(:disabled){background:#f0b42933}.takeover-btn .ic{display:grid;place-items:center;width:30px;height:30px;border:.5px solid var(--line);color:var(--text-faint);font:14px Cascadia Mono,Consolas,monospace;flex-shrink:0}.takeover-btn strong{display:block;font-size:12px;font-weight:500;color:inherit}.takeover-btn small{display:block;margin-top:3px;color:var(--text-faint);font-size:10px}.takeover-order-card{padding:18px 22px}.takeover-order-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.takeover-order-head h3{margin:0;font:500 14px Bahnschrift,Microsoft YaHei UI,sans-serif;letter-spacing:.04em}.takeover-order-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:10px 14px;align-items:end;margin-bottom:12px}.takeover-order-grid .takeover-f-price{grid-column:1 / span 2}.takeover-order-tip{display:flex;align-items:center;gap:6px;padding:8px 12px;border-left:2px solid var(--accent-dim);background:var(--panel-2);color:var(--text-faint);font-size:11px;line-height:1.5;margin-bottom:14px}.takeover-order-tip-icon{color:var(--accent);font-size:13px;flex-shrink:0}.takeover-order-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.takeover-btn-submit{padding:14px 28px;min-width:220px}.takeover-btn-submit .takeover-btn-icon{font-size:18px;color:var(--brand);flex-shrink:0}.takeover-list{display:flex;flex-direction:column}.takeover-row{display:flex;align-items:center;gap:14px;padding:9px 0;border-bottom:.5px dashed var(--line-soft);font-size:11px;color:var(--text-dim)}.takeover-row:last-child{border-bottom:0}.takeover-row .ic{display:grid;place-items:center;width:24px;height:24px;border:.5px solid var(--line);color:var(--text-faint);font:11px Cascadia Mono,Consolas,monospace}.takeover-row strong{color:var(--text);font-weight:500;min-width:90px}.takeover-row .mono{font:10px Cascadia Mono,Consolas,monospace}.takeover-row .mono.up{color:var(--accent)}.takeover-row .mono.down{color:var(--ok)}.takeover-empty{margin:0;color:var(--text-faint);font-size:11px;padding:8px 0}.takeover-note{margin:0;padding:10px 14px;border:.5px solid var(--line);color:var(--text-dim);font-size:11px;background:var(--panel)}.result-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:grid;place-items:center;background:#0000008c}.result-modal{width:min(480px,90vw);border:1px solid var(--line);background:var(--panel);box-shadow:0 12px 40px #00000080}.result-modal header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:.5px solid var(--line-soft)}.result-modal header strong{color:var(--text);font:500 14px Bahnschrift,Microsoft YaHei UI,sans-serif}.result-modal.ok header strong{color:var(--ok)}.result-modal.err header strong{color:var(--accent)}.result-modal-close{background:none;border:0;color:var(--text-faint);font-size:16px;cursor:pointer;padding:2px 6px}.result-modal-close:hover{color:var(--text)}.result-modal pre{margin:0;padding:14px 16px;max-height:50vh;overflow:auto;color:var(--text-dim);font:11px/1.7 Cascadia Mono,Consolas,monospace;white-space:pre-wrap;word-break:break-all}.result-modal footer{display:flex;justify-content:flex-end;padding:10px 16px;border-top:.5px solid var(--line-soft)}.result-modal-ok{padding:6px 18px;border:1px solid rgba(70,167,88,.5);background:transparent;color:var(--ok);font-size:11px;cursor:pointer}.result-modal-ok:hover{background:#46a7581a}.result-modal-cancel{padding:6px 18px;border:1px solid var(--line);background:transparent;color:var(--text-dim);font-size:11px;cursor:pointer}.result-modal-cancel:hover{color:var(--text);border-color:var(--text-faint)}.result-modal-confirm{padding:6px 18px;border:1px solid rgba(229,72,77,.5);background:transparent;color:var(--accent);font-size:11px;font-weight:600;cursor:pointer}.result-modal-confirm:hover{background:#e5484d1a}.result-modal-close-all{padding:6px 18px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:11px;font-weight:600;cursor:pointer}.result-modal-close-all:hover{background:#ef5350d9;box-shadow:0 0 10px #ef53504d}.review-prompt{width:min(480px,90vw)}.review-prompt .result-modal-review-go{padding:6px 18px;border:1px solid rgba(70,167,88,.5);background:transparent;color:var(--ok);font-size:11px;font-weight:600;cursor:pointer}.review-prompt .result-modal-review-go:hover{background:#46a7581a}.review-prompt .result-modal-review-go:disabled{opacity:.5;cursor:wait}.symbol-picker{width:min(560px,92vw)}.symbol-picker .sp-body{padding:12px 16px;max-height:62vh;overflow:auto;display:flex;flex-direction:column;gap:14px}.sp-section{display:flex;flex-direction:column;gap:8px}.sp-title{color:var(--text);font:500 12px Microsoft YaHei UI,sans-serif;display:flex;align-items:center;gap:8px}.sp-tip{color:var(--text-faint);font:10px Microsoft YaHei UI,sans-serif;font-weight:400}.sp-count{color:var(--accent);font:10px Cascadia Mono,Consolas,monospace;background:#e5484d1a;border:.5px solid rgba(229,72,77,.4);padding:0 6px;border-radius:8px}.sp-loading,.sp-empty{color:var(--text-faint);font:11px Microsoft YaHei UI,sans-serif}.sp-recommend,.sp-selected{display:flex;flex-wrap:wrap;gap:6px;min-height:20px}.sp-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font:10px Cascadia Mono,Consolas,monospace;border-radius:12px;cursor:pointer}.sp-chip-rec{color:var(--text-dim);border:.5px solid var(--line);background:var(--panel-2)}.sp-chip-rec:hover{color:var(--text);border-color:var(--text-faint)}.sp-chip-rec.is-on{color:var(--ok);border-color:#46a75880;background:#46a7581a}.sp-chip-selected{color:var(--ok);border:.5px solid rgba(70,167,88,.5);background:#46a7581a}.sp-chip-selected:hover{border-color:var(--accent);color:var(--accent)}.sp-x{font-size:12px;line-height:1;opacity:.7}.sp-reason{color:var(--text-dim);font:10px/1.6 Microsoft YaHei UI,sans-serif;border-left:2px solid rgba(229,165,72,.5);padding-left:8px}.sp-search{display:flex;gap:8px}.sp-search input{flex:1;padding:6px 10px;border:.5px solid var(--line);background:var(--panel-2);color:var(--text);font:11px Cascadia Mono,Consolas,monospace;outline:none}.sp-search input:focus{border-color:var(--accent)}.sp-search button{padding:6px 16px;border:.5px solid var(--line);background:var(--panel-2);color:var(--text-dim);font-size:11px;cursor:pointer}.sp-search button:hover{color:var(--text);border-color:var(--text-faint)}.sp-results{display:flex;flex-direction:column;gap:4px}.sp-result{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 10px;border:.5px solid var(--line-soft);background:var(--panel-2);cursor:pointer}.sp-result:hover{border-color:var(--text-faint)}.sp-result.is-on{border-color:#46a75880}.sp-result-symbol{display:flex;align-items:center;gap:8px;color:var(--text)}.sp-result-symbol strong{font:11px Cascadia Mono,Consolas,monospace}.sp-result-price{color:var(--text-dim);font:10px Cascadia Mono,Consolas,monospace}.sp-result-pct{font:10px Cascadia Mono,Consolas,monospace}.sp-result-pct.up{color:var(--ok)}.sp-result-pct.down{color:var(--accent)}.sp-result-vol{color:var(--text-faint);font:10px Cascadia Mono,Consolas,monospace}.sp-add{padding:2px 10px;border:.5px solid rgba(70,167,88,.5);background:transparent;color:var(--ok);font-size:10px;cursor:pointer;border-radius:2px}.sp-add:hover{background:#46a7581a}.sp-result.is-on .sp-add{border-color:var(--line);color:var(--text-faint)}.pos-badge{display:inline-block;padding:1px 6px;margin-left:6px;font:9px Cascadia Mono,Consolas,monospace;border-radius:2px;vertical-align:1px}.pos-badge.long{color:var(--ok);border:.5px solid rgba(70,167,88,.5);background:#46a7581a}.pos-badge.short{color:var(--accent);border:.5px solid rgba(229,72,77,.5);background:#e5484d1a}.src-badge{display:inline-block;padding:1px 6px;font:9px Cascadia Mono,Consolas,monospace;border-radius:2px;border:.5px solid var(--line);color:var(--text-faint)}.src-badge.src-auto{color:var(--text-dim);border-color:var(--line);background:#ffffff05}.src-badge.src-startup{color:var(--warn);border-color:#e5a54880;background:#e5a5481a}.src-badge.src-manual{color:var(--ok);border-color:#46a75880;background:#46a7581a}.candle-section-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.kline-toggle-btn{padding:5px 12px;border:.5px solid var(--line);background:var(--panel-2);color:var(--text-dim);font-size:10px;font-family:Cascadia Mono,Consolas,monospace;cursor:pointer;white-space:nowrap}.kline-toggle-btn:hover{color:var(--text);border-color:var(--text-faint)}.price-row{display:flex;align-items:center;gap:18px;padding:11px 16px;border:.5px solid var(--line);background:var(--panel)}.price-row-symbol{color:var(--text);font-weight:600;font-size:12px;min-width:100px}.price-row-price{color:var(--text);font:600 16px Cascadia Mono,Consolas,monospace}.price-row-change{font:10px Cascadia Mono,Consolas,monospace}.price-row-change.up{color:var(--accent)}.price-row-change.down{color:var(--ok)}.price-row-show{margin-left:auto;padding:4px 10px;border:.5px solid var(--line);background:var(--panel-2);color:var(--text-dim);font-size:10px;cursor:pointer}.price-row-show:hover{color:var(--text);border-color:var(--text-faint)}.equity-chart{position:relative;width:100%;height:220px;overflow:visible}.equity-chart svg{width:100%;height:100%;display:block}.equity-grid{stroke:#ffffff0a;stroke-width:1;stroke-dasharray:2 3}.equity-ylabel,.equity-xlabel{fill:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace}.equity-xtime{fill:var(--text);font:9px Cascadia Mono,Consolas,monospace;opacity:.8}.equity-tick{stroke:var(--text-faint);stroke-width:1}.equity-line{stroke-width:1.4;fill:none}.equity-area{stroke:none}.equity-dot{stroke:var(--panel);stroke-width:1.5}.equity-tag{stroke:none;opacity:.92}.equity-tagtext{fill:#fff;font:600 9px Cascadia Mono,Consolas,monospace}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.stacked-tables{display:flex;flex-direction:column;gap:14px}.stacked-tables>.data-panel{min-width:0}.stacked-tables .data-table-wrap{overflow-x:auto}.stacked-tables table{table-layout:auto;min-width:720px}.collapse-toggle{display:inline-block;margin:8px auto 2px;padding:4px 14px;border:.5px solid var(--line);background:var(--panel-2);color:var(--text-dim);font-size:10px;font-family:Cascadia Mono,Consolas,monospace;cursor:pointer;white-space:nowrap}.collapse-toggle:hover{color:var(--text);border-color:var(--text-faint)}.collapse-zone{display:flex;flex-direction:column;gap:0}.collapse-zone>.collapse-toggle{align-self:center}.data-table-wrap .collapse-toggle{display:block;margin:10px auto 4px}.collapse-hidden[hidden]{display:none}.candle-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--line-soft)}.candle-symbol{font-size:12px;font-weight:600;color:var(--text);margin-right:10px}.candle-price{font:600 15px Cascadia Mono,Consolas,monospace;color:var(--text)}.candle-price.up{color:var(--ok)}.candle-price.down{color:var(--accent)}.candle-change{font-size:11px;margin-left:6px}.candle-change.up{color:var(--ok)}.candle-change.down{color:var(--accent)}.candle-hide-btn{flex-shrink:0;width:22px;height:22px;padding:0;border:.5px solid var(--line);background:transparent;color:var(--text-faint);font-size:10px;line-height:1;cursor:pointer}.candle-hide-btn:hover{color:var(--accent);border-color:var(--accent)}.kline-info{display:flex;flex-wrap:wrap;gap:14px;padding:6px 14px;border-bottom:1px solid var(--line-soft);font:11px Cascadia Mono,Consolas,monospace}.kline-info .label{color:var(--text-faint);margin-right:4px}.kline-info b{color:var(--text);font-weight:500}.kline-info b.up{color:var(--ok)}.kline-info b.down{color:var(--accent)}.kline-chart{position:relative;height:340px;padding:4px 6px;margin-top:10px;border-top:1px solid var(--line-soft);overflow:hidden}.kline-chart .candle-svg{width:100%;height:100%;display:block}.candle-wick{stroke-width:1}.candle-wick.up{stroke:var(--ok)}.candle-wick.down{stroke:var(--accent)}.candle-body{stroke-width:1}.candle-body.up{fill:var(--ok);stroke:var(--ok)}.candle-body.down{fill:var(--accent);stroke:var(--accent)}.ma-line{fill:none;stroke-width:1}.ma-7{stroke:#d4dae1}.ma-25{stroke:#c084fc}.ma-99{stroke:#fbbf24}.highlow-line{stroke:var(--text-faint);stroke-width:.8;stroke-dasharray:2 2}.highlow-label{font:10px Cascadia Mono,Consolas,monospace}.highlow-bg{stroke:none}.price-tag{position:absolute;right:4px;transform:translateY(-50%);padding:2px 8px;border-radius:2px;font:600 11px Cascadia Mono,Consolas,monospace;color:#fff;background:var(--ok);pointer-events:none;white-space:nowrap}.price-tag.is-down{background:var(--accent)}.price-tag-text{font:600 11px Cascadia Mono,Consolas,monospace}.price-tag-bg{stroke:none}.price-tag-line{stroke-width:1}.kline-tooltip{position:absolute;pointer-events:none;z-index:20;padding:8px 12px;border:1px solid var(--line);background:var(--panel);font:10px Cascadia Mono,Consolas,monospace;white-space:nowrap}.kline-tip-time{color:var(--text-faint);margin-bottom:4px}.kline-tip-row{display:flex;justify-content:space-between;gap:14px}.kline-tip-row span{color:var(--text-faint)}.kline-tip-row b{color:var(--text);font-weight:500}.kline-tip-row b.up{color:var(--ok)}.kline-tip-row b.down{color:var(--accent)}.activity-log-panel .mon-log{max-height:260px;overflow-y:auto}.empty-tag{display:inline-block;padding:1px 6px;margin-left:6px;border:1px solid var(--line);color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace;border-radius:2px;vertical-align:2px}.position-close-btn{padding:4px 10px;border:.5px solid var(--line);background:transparent;color:var(--accent);font-size:10px;cursor:pointer;white-space:nowrap}.position-close-btn:hover:not(:disabled){border-color:var(--accent)}.position-close-btn:disabled{opacity:.5;cursor:not-allowed}.analysis-page .up,.trades-page .up{color:var(--accent)}.analysis-page .down,.trades-page .down{color:var(--ok)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line-soft)}.panel-head h2{margin:3px 0 0;color:var(--text);font:500 14px Bahnschrift,Microsoft YaHei UI,sans-serif}.panel-head .summary{color:var(--text-faint);font-size:11px;display:flex;align-items:center;gap:10px}.perf-kpis{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:14px}.perf-kpis .kpi{padding:12px 14px 10px;background:var(--panel);border-right:1px solid var(--line-soft);min-width:0}.perf-kpis .kpi:last-child{border-right:none}.perf-kpis .lbl{color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace;letter-spacing:.08em;margin-bottom:5px;white-space:nowrap}.perf-kpis .val{font:600 19px/1.2 Cascadia Mono,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perf-kpis .val .val-pct{font-size:11px;font-weight:500;margin-left:3px;opacity:.9}.perf-kpis .sub{color:var(--text-faint);font-size:10px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-panel{margin-bottom:14px}.eq-combo-chart{position:relative;padding:12px 14px 4px;container-type:inline-size}.eq-combo-chart svg{display:block;width:100%;height:auto}.eq-combo-chart .clabel{font:10px Cascadia Mono,Consolas,monospace;fill:var(--text-faint)}.eq-combo-chart .ctick{stroke:var(--line);stroke-width:1}.eq-combo-chart .cxlabel{font:10px Cascadia Mono,Consolas,monospace;fill:var(--text-faint)}.eq-combo-chart .eq-x-axis-tablet,.eq-combo-chart .eq-x-axis-mobile{display:none}@container (max-width: 760px){.eq-combo-chart .eq-x-axis-desktop{display:none}.eq-combo-chart .eq-x-axis-tablet{display:inline}}@container (max-width: 430px){.eq-combo-chart .eq-x-axis-tablet{display:none}.eq-combo-chart .eq-x-axis-mobile{display:inline}}.eq-combo-chart .eq-line{fill:none;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.eq-combo-chart .eq-landmark{color:var(--text-dim)}.eq-combo-chart .eq-landmark-leader{stroke:currentColor;stroke-width:.8;stroke-dasharray:2 2;opacity:.65}.eq-combo-chart .eq-landmark-dot{fill:var(--bg);stroke:currentColor;stroke-width:2}.eq-combo-chart .eq-landmark-chip{fill:#151c24;stroke:currentColor;stroke-width:.8}.eq-combo-chart .eq-landmark-value{fill:currentColor;font:600 9px Cascadia Mono,Consolas,monospace;font-variant-numeric:tabular-nums}.eq-combo-chart .eq-landmark-max{color:var(--accent)}.eq-combo-chart .eq-landmark-min{color:var(--ok)}.eq-combo-chart .eq-landmark-current{color:var(--brand)}.eq-combo-chart .cross{stroke:var(--text-dim);stroke-width:1;stroke-dasharray:3 3}.eq-combo-chart .dot-cur{fill:var(--warn);stroke:var(--bg);stroke-width:1.5}.hover-tip{position:absolute;pointer-events:none;background:#1a2129;border:1px solid #2c3742;border-radius:6px;padding:8px 11px;font-size:11px;line-height:1.8;z-index:20;display:none;min-width:176px;box-shadow:0 4px 14px #00000073}.hover-tip .t-date{font-family:Cascadia Mono,Consolas,monospace;color:var(--warn);font-size:11px;border-bottom:1px solid var(--line);padding-bottom:4px;margin-bottom:4px}.hover-tip .t-row{display:flex;justify-content:space-between;gap:16px}.hover-tip .t-row span{color:var(--text-faint)}.hover-tip .t-row b{font-family:Cascadia Mono,Consolas,monospace;font-weight:500;color:var(--text)}.hover-tip .t-row b.up{color:var(--accent)}.hover-tip .t-row b.down{color:var(--ok)}.cal-panel{margin-bottom:14px}.cal-panel .cal-head{display:flex;align-items:baseline;gap:12px;padding:12px 16px 6px}.cal-panel .cal-head h3{margin:0;font:500 14px Bahnschrift,Microsoft YaHei UI,sans-serif}.cal-panel .cal-head .hint{margin-left:auto;color:var(--text-faint);font-size:10.5px}.cal-panel .cal-head .sum{color:var(--text-faint);font-size:11px;font-family:Cascadia Mono,Consolas,monospace}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:8px 16px 4px}.cal-grid .dow{font:10px Cascadia Mono,Consolas,monospace;color:var(--text-faint);text-align:center;padding-bottom:2px}.cal-grid .day{position:relative;min-height:38px;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:default}.cal-grid .day .d{font:9.5px Cascadia Mono,Consolas,monospace;color:var(--text-faint)}.cal-grid .day .v{font:10px Cascadia Mono,Consolas,monospace;font-weight:500}.cal-grid .day .v .vp{font-size:8.5px;font-weight:400;margin-left:2px;opacity:.85}.cal-grid .day.none{background:var(--panel-2);border:1px solid var(--line-soft);opacity:.55}.cal-grid .day.strong{background:var(--accent)}.cal-grid .day.strong .d,.cal-grid .day.strong .v{color:#fff}.cal-grid .day.mid{background:#e5484d4d;border:1px solid rgba(229,72,77,.6)}.cal-grid .day.mid .v{color:#ffb9c1}.cal-grid .day.mid .d{color:#d98a93}.cal-grid .day.light{background:#e5484d1f;border:1px solid rgba(229,72,77,.35)}.cal-grid .day.light .v{color:#ff8a98}.cal-grid .day.light .d{color:#6e4a50}.cal-grid .day.neg-strong{background:var(--ok)}.cal-grid .day.neg-strong .d,.cal-grid .day.neg-strong .v{color:#03281c}.cal-grid .day.neg-mid{background:#46a75847;border:1px solid rgba(70,167,88,.55)}.cal-grid .day.neg-mid .v{color:#6fdba8}.cal-grid .day.neg-mid .d{color:#3e7a62}.cal-grid .day.neg-light{background:#46a7581a;border:1px solid rgba(70,167,88,.3)}.cal-grid .day.neg-light .v{color:#5cc48c}.cal-grid .day.neg-light .d{color:#3d5c50}.cal-grid .day .tip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#1a2129;border:1px solid #2c3742;border-radius:6px;padding:6px 9px;font-size:10.5px;white-space:nowrap;z-index:10;line-height:1.7}.cal-grid .day .tip b{font-family:Cascadia Mono,Consolas,monospace;font-size:11px}.cal-grid .day:hover{z-index:4}.cal-grid .day:hover .tip{display:block}.cal-legend{display:flex;align-items:center;gap:16px;padding:10px 16px 14px;color:var(--text-faint);font-size:10.5px}.cal-legend .sw{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-2px}.cal-legend .s1{background:var(--accent)}.cal-legend .s2{background:#e5484d4d;border:1px solid rgba(229,72,77,.6)}.cal-legend .s3{background:var(--ok)}.cal-legend .s4{background:#46a75847;border:1px solid rgba(70,167,88,.55)}.cal-legend .s5{background:var(--panel-2);border:1px solid var(--line-soft)}.cal-grid .day.fill{border-style:dashed}.cal-grid .day .tip .fill-tag{color:var(--text-faint)}.cal-legend .s6{background:transparent;border:1px dashed var(--text-faint)}.analysis-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start;margin-bottom:14px}@media (max-width: 1180px){.analysis-grid{grid-template-columns:1fr}.perf-kpis{grid-template-columns:repeat(3,1fr)}.perf-kpis .kpi:nth-child(3){border-right:none}}.mini-btn{padding:4px 10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-dim);font-size:11px;border-radius:4px;cursor:pointer}.mini-btn:hover{color:var(--text);border-color:var(--text-dim)}.ai-panel .ai-body{padding:14px 16px}.ai-panel .ai-desc{margin:0 0 12px;color:var(--text-faint);font-size:11px;line-height:1.6}.ai-panel .ai-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.ai-panel .btn{padding:7px 12px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:12px;border-radius:6px;cursor:pointer;text-align:left}.ai-panel .btn:hover{border-color:var(--text-dim)}.ai-panel details{border:1px solid var(--line);border-radius:6px;background:var(--panel-2);margin-bottom:12px}.ai-panel details summary{cursor:pointer;padding:8px 12px;color:var(--text-dim);font-size:11.5px;list-style:none}.ai-panel details summary::-webkit-details-marker{display:none}.ai-panel details summary:before{content:"▸ ";color:var(--warn)}.ai-panel details[open] summary:before{content:"▾ "}.ai-panel details .inner{padding:0 12px 10px;font-size:11px;color:var(--text-faint);line-height:1.8}.ai-review{border-left:3px solid var(--warn);background:var(--panel-2);border-radius:0 6px 6px 0;padding:10px 12px;font-size:11.5px;line-height:1.7}.ai-review .rv-title{font-family:Cascadia Mono,Consolas,monospace;font-size:10px;color:var(--warn);letter-spacing:.06em;margin-bottom:5px}.ai-review p{margin:0 0 4px;color:var(--text-dim)}.ai-review p:last-child{margin-bottom:0}.trades-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}.trades-top h2{margin:0;font:500 16px Bahnschrift,Microsoft YaHei UI,sans-serif}.trades-top h2 span{color:var(--text-faint);font-size:12px;font-weight:400;margin-left:8px}.trades-top .trades-range{margin-left:auto;color:var(--text-faint);font:11px Cascadia Mono,Consolas,monospace}.back-link{padding:5px 10px;border:1px solid var(--line);background:var(--panel);color:var(--text-dim);font-size:12px;border-radius:5px;cursor:pointer}.back-link:hover{color:var(--text);border-color:var(--text-dim)}.trades-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:12px 14px;margin-bottom:12px}.f-group{display:flex;flex-direction:column;gap:4px}.f-group .f-label{color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace;letter-spacing:.06em}.f-group select,.f-group input{background:var(--panel-2);border:1px solid var(--line);color:var(--text);font-size:12px;padding:5px 8px;border-radius:5px;min-width:108px}.f-group input[type=date]{min-width:132px;font-family:Cascadia Mono,Consolas,monospace;color-scheme:dark}.f-group select:focus,.f-group input:focus{outline:none;border-color:var(--text-dim)}.f-group .chips{display:flex;gap:5px}.trades-filters .chip{border:1px solid var(--line);background:var(--panel-2);color:var(--text-dim);font-size:11.5px;padding:5px 11px;border-radius:5px;cursor:pointer}.trades-filters .chip:hover{color:var(--text)}.trades-filters .chip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.trades-filters .f-spacer{flex:1}.trades-filters .reset-btn{padding:6px 14px;border:1px solid var(--line);background:transparent;color:var(--text-faint);font-size:12px;border-radius:5px;cursor:pointer}.trades-filters .reset-btn:hover{color:var(--text);border-color:var(--text-dim)}.trades-filters .date-row{display:flex;gap:6px}.trades-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:12px}.trades-summary .kpi{padding:11px 14px;background:var(--panel);border-right:1px solid var(--line-soft)}.trades-summary .kpi:last-child{border-right:none}.trades-summary .lbl{color:var(--text-faint);font:9px Cascadia Mono,Consolas,monospace;margin-bottom:4px}.trades-summary .val{font:600 18px/1.2 Cascadia Mono,Consolas,monospace}.trades-summary .sub{color:var(--text-faint);font-size:10px;margin-top:4px}@media (max-width: 980px){.trades-summary{grid-template-columns:repeat(2,1fr)}}.pager{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--line-soft);font-size:11.5px;color:var(--text-dim)}.pager .pg-info{font-family:Cascadia Mono,Consolas,monospace;font-size:11px;color:var(--text-faint)}.pager .pages{margin-left:auto;display:flex;gap:4px}.pager .pg{min-width:26px;height:24px;padding:0 6px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-dim);border-radius:4px;cursor:pointer;font-family:Cascadia Mono,Consolas,monospace;font-size:11px}.pager .pg:hover:not(:disabled){color:var(--text);border-color:var(--text-dim)}.pager .pg.cur{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.pager .pg.dis{opacity:.35;cursor:default}.pager .ellipsis{color:var(--text-faint);padding:0 2px}.pager .pg-size{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:4px;font-size:11px;padding:3px 6px}.analysis-page .data-table-wrap th,.trades-page .data-table-wrap th{cursor:pointer}.analysis-page .data-table-wrap th.sorted,.trades-page .data-table-wrap th.sorted{color:var(--warn)}.analysis-page .data-table-wrap th .arr,.trades-page .data-table-wrap th .arr{opacity:.5;font-size:9px}.analysis-page .data-table-wrap td,.trades-page .data-table-wrap td{font-family:Cascadia Mono,Consolas,monospace;font-variant-numeric:tabular-nums}.strategy-enable-hint{margin:16px 0 0;padding:10px 12px;border:.5px dashed var(--line);border-radius:4px;color:var(--text-faint);font-size:11px;line-height:1.6;background:var(--panel-2)}.takeover-note-inline{margin:12px 0 0;padding:8px 10px;border-left:3px solid var(--warn);color:var(--text-faint);font-size:11px;line-height:1.6}.exchange-center{padding:6px 2px}.exchange-center .exchange-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;padding:2px}.exchange-center .head-eyebrow{color:var(--brand);font:10px var(--font-mono);letter-spacing:.18em;text-transform:uppercase}.exchange-center .exchange-heading h2{margin:8px 0 6px;color:var(--text);font:600 24px/1.2 Bahnschrift,Segoe UI,sans-serif;letter-spacing:.02em}.exchange-center .exchange-heading p:not(.eyebrow){margin:0;color:var(--text-dim);font-size:12.5px}.exchange-center .route-safety{padding:7px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg-elev);color:var(--text-dim);font:11px var(--font-mono);white-space:nowrap}.exchange-center .route-safety b{color:var(--down);font-weight:600}.exchange-center .step{margin-bottom:18px}.exchange-center .step-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.exchange-center .step-card.is-live-route{border-color:#ef535059}.exchange-center .step-head{display:flex;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}.exchange-center .step-no{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:9px;background:var(--bg-elev-3);border:1px solid var(--line-strong);color:var(--text-faint);font:600 11px var(--font-mono);letter-spacing:.04em}.exchange-center .step.is-active .step-no{color:var(--brand);border-color:#f0b42973;background:var(--brand-dim)}.exchange-center .step-title{font:600 15px Bahnschrift,Segoe UI,sans-serif;color:var(--text)}.exchange-center .step-title small{display:block;margin-top:3px;color:var(--text-faint);font:400 11px var(--font-ui, "Microsoft YaHei UI", sans-serif)}.exchange-center .step-side{margin-left:auto;display:flex;align-items:center;gap:10px}.exchange-center .step-body{padding:18px 20px}.exchange-center .pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font:10px var(--font-mono);white-space:nowrap;border:1px solid var(--line-strong);color:var(--text-dim);background:var(--bg-elev-2)}.exchange-center .pill .dot{width:5px;height:5px;border-radius:50%;background:#3a4455}.exchange-center .pill.ok{color:var(--ok);border-color:#2ec27e66;background:var(--ok-dim)}.exchange-center .pill.ok .dot{background:var(--ok);box-shadow:0 0 5px #2ec27e80}.exchange-center .pill.warn{color:var(--brand);border-color:#f0b42966;background:var(--brand-dim)}.exchange-center .pill.warn .dot{background:var(--brand);box-shadow:0 0 5px var(--brand-glow)}.exchange-center .pill.danger{color:var(--accent);border-color:#ef535073;background:var(--accent-dim)}.exchange-center .pill.danger .dot{background:var(--accent);box-shadow:0 0 5px #ef535080}.exchange-center .chain{display:grid;grid-template-columns:1fr 54px 1fr 54px 1.15fr;align-items:stretch;gap:0}.exchange-center .chain-node{padding:16px 20px;min-width:0}.exchange-center .chain-node .node-label{color:var(--text-faint);font:9px var(--font-mono);letter-spacing:.16em;margin-bottom:10px}.exchange-center .chain-node h3{font:500 13px var(--font-ui, "Microsoft YaHei UI", sans-serif);color:var(--text-dim);margin:0 0 14px}.exchange-center .chain-options{display:grid;gap:8px}.exchange-center .chain-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--bg-elev-2);color:var(--text-dim);text-align:left;cursor:pointer;font-family:inherit;transition:all .15s}.exchange-center .chain-option:hover{border-color:var(--line-strong);background:var(--bg-elev-3)}.exchange-center .chain-option b,.exchange-center .chain-option small{display:block}.exchange-center .chain-option b{font-size:13px;font-weight:600;color:var(--text)}.exchange-center .chain-option small{margin-top:3px;font:10px var(--font-mono);color:var(--text-faint)}.exchange-center .chain-option .opt-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;border:1.5px solid var(--text-faint);background:transparent;transition:all .18s}.exchange-center .chain-option.is-active{border-color:#f0b42980;background:var(--brand-dim)}.exchange-center .chain-option.is-active .opt-dot{border-color:var(--brand);background:var(--brand);box-shadow:0 0 10px var(--brand-glow)}.exchange-center .chain-option.is-live.is-active{border-color:#ef53508c;background:var(--accent-dim)}.exchange-center .chain-option.is-live.is-active .opt-dot{border-color:var(--accent);background:var(--accent);box-shadow:0 0 10px #ef535080}.exchange-center .chain-wire{position:relative;display:grid;place-items:center}.exchange-center .chain-wire:before{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--line-strong) 30%,var(--line-strong) 70%,transparent)}.exchange-center .chain-wire.is-live:before{background:linear-gradient(90deg,transparent,var(--accent) 30%,var(--accent) 70%,transparent);box-shadow:0 0 8px #ef535059}.exchange-center .chain-wire.is-lit:before{background:linear-gradient(90deg,transparent,var(--brand) 30%,var(--brand) 70%,transparent);box-shadow:0 0 8px var(--brand-glow)}.exchange-center .chain-wire span{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--panel);color:var(--text-faint);font:11px var(--font-mono)}.exchange-center .chain-wire.is-lit span{border-color:var(--brand);color:var(--brand);box-shadow:0 0 12px var(--brand-glow)}.exchange-center .chain-wire.is-live span{border-color:var(--accent);color:var(--accent);box-shadow:0 0 12px #ef535073}.exchange-center .chain-dest{display:grid;align-content:center;gap:7px;padding:16px 20px;border-left:1px solid var(--line-soft);background:linear-gradient(135deg,var(--brand-dim),transparent 55%)}.exchange-center .chain-dest.is-live{background:linear-gradient(135deg,var(--accent-dim),transparent 55%)}.exchange-center .chain-dest .dest-label{color:var(--text-faint);font:9px var(--font-mono);letter-spacing:.14em}.exchange-center .chain-dest strong{font:600 19px Bahnschrift,Segoe UI,sans-serif;color:var(--text)}.exchange-center .chain-dest code{font:10px var(--font-mono);color:var(--brand);background:#f0b42914;border:1px solid rgba(240,180,41,.25);padding:3px 8px;border-radius:5px;width:fit-content}.exchange-center .chain-dest.is-live code{color:var(--accent);background:#ef535014;border-color:#ef53504d}.exchange-center .chain-dest p{color:var(--text-dim);font-size:11.5px;line-height:1.6;margin:3px 0 0}.exchange-center .vault-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.exchange-center .vault{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev-2);padding:16px 18px}.exchange-center .vault.is-active{border-color:#f0b42959;box-shadow:inset 0 2px 0 var(--brand)}.exchange-center .vault.is-active.live{border-color:#ef535066;box-shadow:inset 0 2px 0 var(--accent)}.exchange-center .vault.live-primary{border-color:#ef535061;box-shadow:inset 0 2px 0 var(--accent)}.exchange-center .vault-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.exchange-center .vault-head .v-label{font:9px var(--font-mono);letter-spacing:.14em;color:var(--text-faint)}.exchange-center .vault h4{font:600 14px var(--font-ui, "Microsoft YaHei UI", sans-serif);margin:3px 0 6px;color:var(--text)}.exchange-center .vault-desc{color:var(--text-faint);font-size:11px;line-height:1.55;margin-bottom:14px}.exchange-center .field{margin-top:11px}.exchange-center .field>span{display:block;color:var(--text-dim);font-size:11px;margin-bottom:5px}.exchange-center .input-wrap{position:relative;display:block}.exchange-center .input-wrap input{width:100%;height:38px;padding:0 40px 0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:12px var(--font-mono);outline:none;transition:border-color .15s,box-shadow .15s}.exchange-center .input-wrap input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.exchange-center .input-wrap .eye,.exchange-center .input-wrap .secret-toggle{position:absolute;inset:0 0 0 auto;width:38px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--text-faint);cursor:pointer;display:grid;place-items:center;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.exchange-center .input-wrap .eye:hover,.exchange-center .input-wrap .secret-toggle:hover{color:var(--brand)}.exchange-center .input-wrap .eye svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.exchange-center .secret-input.input-wrap{position:relative}.exchange-center .input-with-btn{display:flex;gap:8px;align-items:stretch}.exchange-center .input-with-btn input{flex:1;min-width:0}.exchange-center .input-with-btn .btn{flex-shrink:0;white-space:nowrap}.exchange-center .secret-input.input-wrap input{padding-right:40px}.exchange-center .vault-actions{display:flex;gap:8px;margin-top:15px}.exchange-center .demo-tools{margin-top:16px;border:1px dashed var(--line);border-radius:var(--radius-sm);background:#ffffff03;opacity:.72}.exchange-center .input-wrap textarea{width:100%;min-height:52px;padding:10px 40px 10px 12px;resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:11px/1.45 var(--font-mono);outline:none;transition:border-color .15s,box-shadow .15s}.exchange-center .input-wrap textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.exchange-center .input-wrap textarea.secret-masked{-webkit-text-security:disc}.exchange-center .demo-tools[open]{opacity:1}.exchange-center .demo-tools summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none}.exchange-center .demo-tools summary span{color:var(--text);font-weight:600}.exchange-center .demo-tools summary small{color:var(--text-faint);font-size:10px}.exchange-center .demo-tools-body{padding:0 14px 14px}.exchange-center .demo-tools-route{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px 4px;color:var(--text-faint);font-size:11px}.exchange-center .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-elev-3);color:var(--text-dim);font:500 12px var(--font-ui, "Microsoft YaHei UI", sans-serif);cursor:pointer;transition:all .15s}.exchange-center .btn:hover{color:var(--text);border-color:var(--text-faint)}.exchange-center .btn:disabled{opacity:.4;cursor:not-allowed}.exchange-center .btn.primary{border-color:#f0b4298c;background:var(--brand-dim);color:var(--brand)}.exchange-center .btn.primary:hover{background:#f0b42933;box-shadow:0 0 14px var(--brand-glow)}.exchange-center .btn.danger{border-color:#ef535080;background:var(--accent-dim);color:var(--accent)}.exchange-center .btn.danger:hover{background:#ef535033;box-shadow:0 0 14px #ef53504d}.exchange-center .btn.ghost{border-color:#2ec27e66;background:transparent;color:var(--ok)}.exchange-center .btn.ghost:hover{background:var(--ok-dim)}.exchange-center .btn.flex-1{flex:1}.exchange-center .guard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.exchange-center .guard-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev-2);padding:16px 18px}.exchange-center .guard-panel.dim{opacity:.55}.exchange-center .guard-panel h4{font:600 14px var(--font-ui, "Microsoft YaHei UI", sans-serif);margin:0 0 5px;color:var(--text)}.exchange-center .guard-panel .guard-desc{color:var(--text-faint);font-size:11px;line-height:1.55;margin:0 0 13px}.exchange-center .guard-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px dashed var(--line-soft)}.exchange-center .guard-row strong{display:block;font-size:12.5px;color:var(--text);font-weight:500}.exchange-center .guard-row small{display:block;margin-top:3px;color:var(--text-faint);font-size:10.5px}.exchange-center .switch{position:relative;width:44px;height:24px;flex-shrink:0;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg-elev-3);cursor:pointer;padding:0;transition:all .2s}.exchange-center .switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#556174;transition:all .2s}.exchange-center .switch.is-on{border-color:var(--accent);background:var(--accent-dim)}.exchange-center .switch.is-on:after{transform:translate(20px);background:var(--accent);box-shadow:0 0 8px #ef535080}.exchange-center .switch:disabled{opacity:.45;cursor:not-allowed}.exchange-center .confirm-box{margin-top:12px;padding:12px;border-radius:var(--radius-sm);border:1px dashed rgba(239,83,80,.4);background:#ef53500a;display:none}.exchange-center .confirm-box.show{display:block}.exchange-center .confirm-box label{display:block;color:var(--text-dim);font-size:11px;margin-bottom:7px}.exchange-center .confirm-box input{width:100%;height:36px;padding:0 12px;border:1px solid rgba(239,83,80,.45);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:12px var(--font-mono);outline:none;margin-bottom:9px}.exchange-center .confirm-box input:focus{box-shadow:0 0 0 3px var(--accent-dim)}.exchange-center .confirm-box .btn{width:100%}.exchange-center .test-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.exchange-center .test-card{display:flex;flex-direction:column;gap:9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev-2);padding:16px 18px}.exchange-center .test-card .tc-title{font:600 13px var(--font-ui, "Microsoft YaHei UI", sans-serif);color:var(--text)}.exchange-center .test-card .tc-desc{color:var(--text-faint);font-size:11px;line-height:1.55;flex:1}.exchange-center .test-card .tc-action{display:flex;align-items:center;gap:10px}.exchange-center .test-card .tc-status{font:10px var(--font-mono);color:var(--text-faint)}.exchange-center .services{margin-top:26px}.exchange-center .services-title{display:flex;align-items:center;gap:12px;margin-bottom:12px}.exchange-center .services-title h2{font:600 13px var(--font-mono);letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase;margin:0}.exchange-center .services-title:after{content:"";flex:1;height:1px;background:var(--line)}.exchange-center .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.exchange-center .svc{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:16px 18px}.exchange-center .svc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.exchange-center .svc-head .s-label{font:9px var(--font-mono);letter-spacing:.14em;color:var(--text-faint)}.exchange-center .svc h4{font:600 14px var(--font-ui, "Microsoft YaHei UI", sans-serif);margin:3px 0 7px;color:var(--text)}.exchange-center .svc-desc{color:var(--text-faint);font-size:11px;line-height:1.6;margin:0 0 12px}.exchange-center .svc .field{margin-top:9px}.exchange-center .svc .btn{margin-top:11px;width:100%}.exchange-center .save-bar{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:14px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.exchange-center .save-bar p{color:var(--text-faint);font-size:11px;margin:0}.exchange-center .save-bar .btn{min-width:180px;height:40px}.exchange-center .exchange-note-row{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius);background:var(--panel)}.exchange-center .exchange-note-row p{margin:0;color:var(--text-faint);font-size:11px}@media (max-width: 1280px){.exchange-center .chain{grid-template-columns:1fr 40px 1fr 40px 1.1fr}.exchange-center .vault-grid,.exchange-center .guard-grid,.exchange-center .services-grid,.exchange-center .test-grid{grid-template-columns:1fr}}.exchange-center .save-credentials{width:auto;margin-top:0;padding:0 14px;border:1px solid rgba(240,180,41,.55);background:var(--brand-dim);color:var(--brand);font:500 12px var(--font-ui, "Microsoft YaHei UI", sans-serif)}.exchange-center .save-credentials:hover{background:#f0b42933;box-shadow:0 0 14px var(--brand-glow)}.exchange-center .live-confirm.is-visible{display:block}.exchange-center .guard-note{margin:10px 0 0;padding:10px 0 0;border-top:1px dashed var(--line-soft);color:var(--text-faint);font-size:10px;line-height:1.5}.exchange-center .secret-input{position:relative;display:block}.exchange-center .secret-input input{padding-right:40px}.exchange-center .secret-toggle{position:absolute;inset:0 0 0 auto;width:38px;padding:0;border:0;border-left:1px solid var(--line);background:transparent;color:var(--text-faint);cursor:pointer;display:grid;place-items:center;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.exchange-center .secret-toggle:hover,.exchange-center .secret-toggle[aria-pressed=true]{color:var(--brand);background:var(--brand-dim)}.exchange-center .secret-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.exchange-center .secret-toggle .eye-slash{opacity:0}.exchange-center .secret-toggle[aria-pressed=true] .eye-slash{opacity:1}.exchange-center .input-wrap select{width:100%;height:38px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:12px var(--font-ui, "Microsoft YaHei UI", sans-serif);outline:none}.exchange-center .input-wrap select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.exchange-center .svc-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer}.exchange-center .svc-toggle span{color:var(--text-dim);font-size:11.5px}.exchange-center .svc-toggle input{width:34px;height:18px;accent-color:var(--brand);cursor:pointer}.exchange-center .save-bar{grid-column:1 / -1}.exchange-center .ready-list{display:grid;gap:8px;margin-top:4px}.exchange-center .ready-item{display:flex;align-items:center;gap:8px;color:var(--text-faint);font-size:11.5px}.exchange-center .ready-item i{width:7px;height:7px;border-radius:50%;flex-shrink:0;border:1.5px solid var(--text-faint)}.exchange-center .ready-item.ok{color:var(--text-dim)}.exchange-center .ready-item.ok i{border-color:var(--ok);background:var(--ok);box-shadow:0 0 6px #2ec27e80}.exchange-center .guard-col{display:flex;flex-direction:column;gap:14px;min-width:0}.exchange-center .manual-order{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev-2);overflow:hidden}.exchange-center .manual-order>header{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-soft);position:relative}.exchange-center .manual-order>header .eyebrow{margin:0}.exchange-center .manual-order>header h3{margin:0;color:var(--text);font:600 14px var(--font-ui, "Microsoft YaHei UI", sans-serif)}.exchange-center .manual-order>header span:last-child{position:absolute;top:14px;right:14px;color:var(--text-faint);font:9px var(--font-mono)}.exchange-center .manual-order .simulation-warning{margin:0;padding:8px 14px;border-bottom:1px solid var(--line-soft);color:var(--text-faint);font-size:10.5px;line-height:1.6}.exchange-center .manual-order form{padding:13px 14px}.exchange-center .manual-order label{display:grid;gap:4px;color:var(--text-dim);font-size:11px}.exchange-center .manual-order input[type=text],.exchange-center .manual-order input:not([type=checkbox]),.exchange-center .manual-order select{width:100%;height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:12px var(--font-mono);outline:none}.exchange-center .manual-order input:focus,.exchange-center .manual-order select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.exchange-center .manual-order .reduce-only{display:flex;align-items:center;gap:6px;margin:9px 0;font-size:11px;color:var(--text-dim)}.exchange-center .manual-order .reduce-only input{width:14px;height:14px;accent-color:var(--brand)}.exchange-center #review-order-button{width:100%;height:36px;border:1px solid var(--line-strong);background:var(--bg-elev-3);color:var(--text-dim);font:500 12px var(--font-ui, "Microsoft YaHei UI", sans-serif);border-radius:var(--radius-sm);cursor:pointer}.exchange-center #review-order-button:hover:not(:disabled){color:var(--text);border-color:var(--text-faint)}.exchange-center #review-order-button:disabled{opacity:.4;cursor:not-allowed}.exchange-center .order-review{margin:0 14px 12px;padding:10px 12px;border:1px dashed rgba(240,180,41,.4);border-radius:var(--radius-sm);background:#f0b4290a}.exchange-center .order-review strong{color:var(--brand);font-size:11px}.exchange-center .order-review p{color:var(--text-dim);font:10px var(--font-mono);line-height:1.6;margin:6px 0 10px}.exchange-center .order-review .danger-confirm{width:100%;height:34px;border:1px solid rgba(239,83,80,.6);background:var(--accent-dim);color:var(--accent);font:500 12px var(--font-ui, "Microsoft YaHei UI", sans-serif);border-radius:var(--radius-sm);cursor:pointer}.exchange-center .order-review .demo-confirm{width:100%;height:34px;border:1px solid var(--line-strong);background:var(--bg-elev-3);color:var(--text-dim);font:500 12px var(--font-ui, "Microsoft YaHei UI", sans-serif);border-radius:var(--radius-sm);cursor:pointer}.exchange-center #order-note{margin:0;padding:10px 14px;border-top:1px solid var(--line-soft);color:var(--text-faint);font-size:10.5px;line-height:1.5}.exchange-center .secret-field{display:block;margin-top:12px}.exchange-center .field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.exchange-center .field-label{color:var(--text);font-size:13px;font-weight:500;letter-spacing:.01em}.exchange-center .field-label small{display:block;margin-top:2px;color:var(--text-faint);font:10px var(--font-mono);font-weight:400}.exchange-center .field-saved{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;color:var(--ok);font:10px var(--font-mono);white-space:nowrap;background:var(--ok-dim);border:1px solid rgba(46,194,126,.35)}.exchange-center .field-saved:before{content:"✓";font-weight:600}.exchange-center .btn.ghost.danger{color:var(--accent);border-color:#ef535073;background:transparent}.exchange-center .btn.ghost.danger:hover{background:var(--accent-dim);box-shadow:0 0 10px #ef535040}.exchange-center .btn.ghost.danger:disabled{opacity:.4;cursor:not-allowed}.exchange-center .jump-bar{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:6px;padding:10px 14px;margin:-8px 0 20px;border:1px solid var(--line);border-radius:var(--radius);background:#10141ce0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 14px #00000047}.exchange-center .jump-label{color:var(--text-faint);font:9px var(--font-mono);letter-spacing:.14em;padding:0 8px 0 4px}.exchange-center .jump-tab{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--text-dim);font-size:12px;text-decoration:none;cursor:pointer;transition:all .15s}.exchange-center .jump-tab:hover{color:var(--text);border-color:var(--text-faint)}.exchange-center .jump-tab .jno{font:600 10px var(--font-mono);color:var(--text-faint)}.exchange-center .jump-tab .jcheck{width:5px;height:5px;border-radius:50%;background:#3a4455;transition:all .15s}.exchange-center .jump-tab.is-done .jcheck{background:var(--ok);box-shadow:0 0 5px #2ec27e80}.exchange-center .jump-tab.is-active{color:var(--brand);background:var(--brand-dim);border-color:#f0b42980;box-shadow:0 0 10px var(--brand-glow)}.exchange-center .jump-tab.is-active .jno{color:var(--brand)}.exchange-center .jump-spacer{flex:1}.exchange-center .jump-progress{color:var(--text-faint);font:10px var(--font-mono);padding-right:4px}.exchange-center .step.is-done .step-no{color:var(--ok);border-color:#2ec27e80;background:var(--ok-dim);font-weight:600}.exchange-center .step,.exchange-center .services{scroll-margin-top:150px}.exchange-center .section{margin-bottom:20px;scroll-margin-top:70px}.exchange-center .card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.exchange-center .card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}.exchange-center .card-title{font:600 14px Bahnschrift,Segoe UI,sans-serif;color:var(--text)}.exchange-center .card-title small{display:block;margin-top:3px;color:var(--text-faint);font:400 11px var(--font-ui, "Microsoft YaHei UI", sans-serif)}.exchange-center .card-side{display:flex;align-items:center;gap:8px}.exchange-center .card-body{padding:16px 18px}.exchange-center .jump-label{display:none}.exchange-center .jump-route{color:var(--text-faint);font:10px var(--font-mono);padding-right:4px}.exchange-center .jump-route b{color:var(--brand);font-weight:600}.exchange-center .env-card{padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}.exchange-center .env-label{font:9px var(--font-mono);letter-spacing:.14em;color:var(--text-faint);margin-bottom:6px}.exchange-center .env-meta b{font:600 16px Bahnschrift,Segoe UI,sans-serif;color:var(--text)}.exchange-center .env-meta small{display:block;margin-top:4px;color:var(--text-dim);font-size:11px}.exchange-center .env-segment{display:flex;padding:4px;border-radius:999px;background:var(--bg-elev-2);border:1px solid var(--line)}.exchange-center .env-segment button{padding:9px 22px;border:0;background:transparent;border-radius:999px;color:var(--text-dim);font:500 13px var(--font-ui, "Microsoft YaHei UI", sans-serif);cursor:pointer;transition:all .15s}.exchange-center .env-segment button:hover{color:var(--text)}.exchange-center .env-segment button.is-active{color:var(--brand);background:var(--brand-dim);box-shadow:0 0 12px var(--brand-glow)}.exchange-center .env-segment button.live.is-active{color:var(--accent);background:var(--accent-dim);box-shadow:0 0 12px #ef535066}.exchange-center .guard-card{padding:16px 18px;display:grid;gap:14px}.exchange-center .guard-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px dashed var(--line-soft)}.exchange-center .guard-row:last-of-type{border-bottom:0;padding-bottom:0}.exchange-center .guard-row strong{display:block;color:var(--text);font-size:13px;font-weight:500}.exchange-center .guard-row small{display:block;margin-top:4px;color:var(--text-faint);font-size:11px}.exchange-center .switch{width:48px;height:26px}.exchange-center .switch:after{width:18px;height:18px;top:3px;left:3px}.exchange-center .switch.is-on:after{transform:translate(22px)}.exchange-center .guard-note{color:var(--text-faint);font-size:11px;line-height:1.55;padding-top:8px;border-top:1px dashed var(--line-soft)}.exchange-center .network-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.exchange-center .network-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev-2)}.exchange-center .network-card .nc-title{font:600 13px var(--font-ui, "Microsoft YaHei UI", sans-serif);color:var(--text)}.exchange-center .network-card .nc-desc{color:var(--text-faint);font-size:11px;line-height:1.55;flex:1}.exchange-center .network-card .nc-action{display:flex;align-items:center;gap:10px;padding-top:8px;border-top:1px dashed var(--line-soft)}.exchange-center .network-card .nc-status{font:10px var(--font-mono);color:var(--text-faint)}.exchange-center .network-card .nc-status.ok{color:var(--ok)}.exchange-center .network-card .nc-status.danger{color:var(--accent)}.exchange-center .network-note{margin-top:10px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-faint);font-size:11px;line-height:1.6}.exchange-center .exchange-note-row{margin-top:10px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.exchange-center .services{margin-top:0}.exchange-center .services-title{display:none}@media (max-width: 1280px){.exchange-center .env-card,.exchange-center .network-grid,.exchange-center .guard-grid{grid-template-columns:1fr}}.banner{display:flex;align-items:center;gap:12px;padding:11px 14px;margin-bottom:14px;border-radius:var(--radius);font-size:12.5px;line-height:1.5;border:1px solid transparent}.banner[hidden]{display:none}.banner-icon{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;font-size:13px;font-weight:600}.banner-body{display:grid;gap:4px;flex:1;min-width:0}.banner-body strong{font-size:13px;font-weight:600;color:inherit}.banner-body span{color:inherit;opacity:.85}.banner-body small{color:inherit;opacity:.65;font-size:11px}.banner-body b{color:inherit;font-weight:700;padding:0 2px}.banner-details{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:3px;max-height:80px;overflow-y:auto}.banner-details li{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:baseline;font:11px var(--font-mono);color:inherit;opacity:.9}.banner-details .d-sym{color:inherit;font-weight:700}.banner-details .d-cnt{color:inherit;opacity:.6}.banner-details .d-err{color:inherit;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.banner-close{flex-shrink:0;width:28px;height:28px;border:0;background:transparent;cursor:pointer;border-radius:6px;font-size:18px;line-height:1;color:inherit;opacity:.55}.banner-close:hover{opacity:1;background:#ffffff14}.banner.banner-error{color:var(--accent);background:var(--accent-dim);border-color:#ef535059}.banner.banner-error .banner-icon{background:var(--accent);color:#1a0a08;box-shadow:0 0 10px #ef535066}.banner.banner-error .banner-body strong{color:var(--accent)}.engine-bar small{font-size:10.5px!important;line-height:1.5}.risk-rail{margin-bottom:16px;border:0;background:transparent}.rail-title{display:flex;align-items:baseline;gap:10px;margin:0 0 10px 2px}.rail-title span{color:var(--text-dim);font:600 12px var(--font-mono);letter-spacing:.08em}.rail-title small{color:var(--text-faint);font-size:10.5px}.rail-metrics{display:grid;grid-template-columns:1.1fr repeat(4,1fr) 1.2fr;gap:10px;margin:0}.rail-metrics>div{min-width:0;padding:13px 14px 12px;border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:var(--panel);position:relative;overflow:hidden}.rail-metrics>div:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--line-strong)}.rail-metrics>div.hl:before{background:var(--brand);box-shadow:0 0 8px var(--brand-glow)}.rail-metrics>div.risk-budget:before{background:var(--accent)}.rail-metrics dt{color:var(--text-faint);font-size:10px;letter-spacing:.04em}.rail-metrics dd{margin:8px 0 4px;color:var(--text);font:600 21px/1 var(--font-mono)}.rail-metrics dd .cur{color:var(--text-dim);font-size:12px}.rail-metrics dd.neutral{color:var(--text-dim)}.rail-metrics dd.up{color:var(--accent)}.rail-metrics small{color:var(--text-faint);font-size:10px}.rail-metrics .risk-budget{grid-column:auto}.budget-track{display:block;height:5px;margin-top:8px;border-radius:999px;background:var(--bg-elev-3);overflow:hidden}.budget-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ok),var(--brand) 60%,var(--accent))}.data-panel,.performance-panel{border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.data-panel .panel-head,.performance-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line-soft)}.data-panel .panel-head h2,.performance-panel .panel-head h2{font:600 14px Bahnschrift,Microsoft YaHei UI,sans-serif}.data-panel .panel-head .eyebrow{margin-bottom:3px}.data-panel thead th{padding:9px 12px;background:#ffffff03;font:10px var(--font-mono);letter-spacing:.04em;color:var(--text-faint)}.data-panel tbody td{font:12px var(--font-mono);color:var(--text-dim)}.data-panel tbody td strong{font-family:var(--font-ui);color:var(--text);font-size:13px}.data-panel tbody tr:hover td{background:#ffffff05}.pos-badge{display:inline-block;padding:2px 7px;border-radius:999px;font:10px var(--font-mono);margin-left:6px}.pos-badge.long{color:var(--accent);background:var(--accent-dim);border:1px solid rgba(239,83,80,.4)}.pos-badge.short{color:var(--ok);background:var(--ok-dim);border:1px solid rgba(46,194,126,.4)}.row-actions{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.position-close-btn,.order-cancel-btn{min-height:28px;padding:0 9px;border:1px solid var(--line);background:transparent;color:var(--text-faint);font:500 11px var(--font-ui);border-radius:var(--radius-sm);cursor:pointer}.position-close-btn:hover:not(:disabled),.order-cancel-btn:hover:not(:disabled){border-color:var(--text-dim);color:var(--text)}.position-close-btn.danger{color:var(--accent);border-color:#ef535080}.position-close-btn.danger:hover:not(:disabled){background:var(--accent-dim)}@media (max-width: 1280px){.rail-metrics{grid-template-columns:repeat(3,1fr)}.rail-metrics .risk-budget{grid-column:span 3}.row-actions{flex-wrap:wrap;white-space:normal}}.strategy-header,.analysis-head,.trades-top,.takeover-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:2px}.strategy-header h2,.analysis-head h2,.trades-top h2,.takeover-head h2{margin:8px 0 6px;color:var(--text);font:600 24px/1.2 Bahnschrift,Segoe UI,sans-serif;letter-spacing:.02em}.strategy-header .eyebrow,.analysis-head .eyebrow,.trades-top .eyebrow,.takeover-head .eyebrow{color:var(--brand);font:10px var(--font-mono);letter-spacing:.18em}.strategy-summary,.analysis-sub,.trades-range,.takeover-sub{color:var(--text-dim);font-size:12.5px;line-height:1.6}.status-pill,.strategy-engine-state{padding:7px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg-elev);color:var(--text-dim);font-size:12px;white-space:nowrap}.status-pill.warn{color:var(--accent);border-color:#ef535073;background:var(--accent-dim)}.status-pill.ok{color:var(--ok);border-color:#2ec27e66;background:var(--ok-dim)}.strategy-form{display:grid;gap:16px}.strategy-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow);padding:18px 20px}.strategy-card h3{font:600 14px Bahnschrift,Segoe UI,sans-serif;color:var(--text);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}.strategy-desc{color:var(--text-faint);font-size:11.5px;line-height:1.6}.strategy-param .param-label{display:block;color:var(--text-dim);font-size:12px;margin-bottom:5px}.strategy-param .param-input input,.strategy-param .param-input select,.strategy-strategy-pick select,.strategy-select{width:100%;height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:12.5px var(--font-ui, "Microsoft YaHei UI", sans-serif);outline:none}.strategy-param .param-input input:focus,.strategy-param .param-input select:focus,.strategy-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.strategy-param .param-input small{display:block;margin-top:4px;color:var(--text-faint);font-size:10px}.strategy-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px}.strategy-params-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.strategy-enable-hint{color:var(--text-faint);font-size:11px;line-height:1.6;margin-top:6px}.strategy-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev)}.strategy-footer p{margin:0;color:var(--text-faint);font-size:11px}.strategy-actions .engine-btn{height:40px;padding:0 22px;border-radius:var(--radius-sm);border:1px solid rgba(240,180,41,.55);background:var(--brand-dim);color:var(--brand);font:600 13px var(--font-ui);cursor:pointer}.strategy-actions .engine-btn:hover{background:#f0b42933}.analysis-grid{display:grid;gap:16px}.analysis-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow);overflow:hidden}.analysis-card>header.analysis-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line-soft)}.analysis-header h3{font:600 14px Bahnschrift,Segoe UI,sans-serif;margin:3px 0 0}.analysis-header .eyebrow{margin-bottom:3px}.analysis-page .chain{display:grid;gap:8px;padding:14px 16px}.analysis-page .chain-row{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev-2)}.analysis-page .chain-n{flex-shrink:0;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bg-elev-3);border:1px solid var(--line-strong);color:var(--text-faint);font:600 10px var(--font-mono)}.analysis-page .chain-label{color:var(--text-dim);font-size:11.5px;min-width:52px}.analysis-page .chain-label small{display:block;color:var(--text-faint);font-size:9.5px}.analysis-list{padding:14px 16px;display:grid;gap:10px}.analysis-reason,.analysis-order{color:var(--text-dim);font-size:11.5px;line-height:1.6}.analysis-order code{padding:2px 6px;border-radius:4px;background:var(--bg-elev-3);font:10px var(--font-mono);color:var(--brand)}.analysis-status{font:10px var(--font-mono);padding:3px 9px;border-radius:999px}.analysis-status.buy{color:var(--accent);background:var(--accent-dim)}.analysis-status.sell{color:var(--ok);background:var(--ok-dim)}.analysis-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.analysis-empty{padding:30px;text-align:center;color:var(--text-faint);border:1px dashed var(--line-strong);border-radius:var(--radius)}.analysis-empty .empty-glyph{display:block;font-size:22px;margin-bottom:8px;opacity:.5}.analysis-empty strong{display:block;color:var(--text-dim);font-size:13px;margin-bottom:4px}.analysis-empty small{font-size:11px}.trades-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.trades-summary .kpi{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);padding:13px 14px;position:relative;overflow:hidden}.trades-summary .kpi:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--line-strong)}.trades-summary .kpi:first-child:before{background:var(--brand);box-shadow:0 0 8px var(--brand-glow)}.trades-summary .kpi .lbl{color:var(--text-faint);font-size:10px;letter-spacing:.04em}.trades-summary .kpi .val{margin:8px 0 4px;color:var(--text);font:600 20px/1 var(--font-mono)}.trades-summary .kpi .val.up{color:var(--accent)}.trades-summary .kpi .val.down{color:var(--ok)}.trades-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 14px;margin-bottom:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev)}.trades-filters select,.trades-filters input{height:32px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:12px var(--font-ui);outline:none}.trades-filters select:focus,.trades-filters input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.trades-filters .f-label{color:var(--text-faint);font-size:11px}.pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 16px}.pager button{padding:6px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-elev-2);color:var(--text-dim);font-size:12px;cursor:pointer}.pager button:hover:not(:disabled){color:var(--text);border-color:var(--text-faint)}.pager button:disabled{opacity:.4;cursor:not-allowed}.pg-info,.pg-size{color:var(--text-faint);font:10px var(--font-mono)}.takeover-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow);padding:16px 18px;margin-bottom:16px}.takeover-card.warn{border-color:#ef535066}.takeover-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line-soft)}.takeover-card h3{font:600 14px Bahnschrift,Segoe UI,sans-serif;margin:0}.takeover-grid{display:grid;gap:12px}.takeover-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid rgba(239,83,80,.5);background:var(--accent-dim);color:var(--text);font-family:inherit;cursor:pointer;text-align:left}.takeover-btn:hover:not(:disabled){background:#ef53502e}.takeover-btn:disabled{opacity:.4;cursor:not-allowed}.takeover-btn .ic{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--accent);color:#fff;font:700 14px Bahnschrift,sans-serif}.takeover-btn strong{display:block;font-size:13px}.takeover-btn small{display:block;margin-top:3px;color:var(--text-faint);font-size:10.5px}.takeover-list{display:grid;gap:8px}.takeover-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev-2)}.takeover-row .ic{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--bg-elev-3);color:var(--text-dim);font:700 11px var(--font-mono)}.takeover-row strong{color:var(--text);font-size:13px;min-width:90px}.takeover-row .mono{color:var(--text-dim);font:12px var(--font-mono)}.takeover-note,.takeover-note-inline{color:var(--text-faint);font-size:11px;line-height:1.6;margin:12px 0 0}.takeover-empty{padding:24px;text-align:center;color:var(--text-faint);border:1px dashed var(--line-strong);border-radius:var(--radius-sm)}.takeover-empty strong{display:block;color:var(--text-dim);font-size:13px;margin-bottom:4px}@media (max-width: 1280px){.strategy-grid-2,.strategy-params-grid{grid-template-columns:1fr}.trades-summary{grid-template-columns:repeat(2,1fr)}}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:min(360px,calc(100vw - 36px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:11px 12px 11px 13px;border-radius:var(--radius-sm);background:var(--bg-elev-3);border:1px solid var(--line-strong);box-shadow:0 8px 24px #0006;font-size:12.5px;line-height:1.5;color:var(--text);animation:toast-in .22s ease-out;cursor:pointer}.toast.is-out{opacity:0;transform:translateY(6px);transition:all .2s}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.toast-ic{flex-shrink:0;display:grid;place-items:center;width:20px;height:20px;margin-top:1px;border-radius:50%;font-size:11px;font-weight:700}.toast-msg{flex:1;min-width:0;word-break:break-word}.toast-close{flex-shrink:0;border:0;background:transparent;color:var(--text-faint);font-size:15px;line-height:1;padding:0 2px;cursor:pointer}.toast-close:hover{color:var(--text)}.toast-error{border-color:#ef535073}.toast-error .toast-ic{background:var(--accent);color:#1a0a08}.toast-warn{border-color:#f0b42980}.toast-warn .toast-ic{background:var(--brand);color:#1a1403}.toast-ok{border-color:#2ec27e73}.toast-ok .toast-ic{background:var(--ok);color:#06251a}.backtest-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:2px}.backtest-head h2{margin:8px 0 6px;color:var(--text);font:600 24px/1.2 Bahnschrift,Segoe UI,sans-serif;letter-spacing:.02em}.backtest-head .eyebrow{color:var(--brand);font:10px var(--font-mono);letter-spacing:.18em}.backtest-sub{color:var(--text-dim);font-size:12.5px;line-height:1.6}.backtest-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);padding:18px 20px;margin-bottom:18px}.bt-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.bt-field{display:grid;gap:5px}.bt-field>span,.bt-param>span{color:var(--text-dim);font-size:11px}.bt-field input,.bt-field select,.bt-param input{width:100%;height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:12px var(--font-mono);outline:none}.bt-field input:focus,.bt-field select:focus,.bt-param input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.bt-params{display:flex;gap:24px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-soft)}.bt-params-block{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bt-params-block[hidden]{display:none}.bt-params-title{color:var(--text-faint);font:9px var(--font-mono);letter-spacing:.12em}.bt-param{display:grid;gap:4px}.bt-param input{width:90px;height:30px;font-size:11px}.bt-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-soft)}.bt-actions p{margin:0;color:var(--text-faint);font-size:11px}.bt-run{min-width:150px;height:40px}.backtest-empty{padding:40px 20px;text-align:center;color:var(--text-faint);border:1px dashed var(--line-strong);border-radius:var(--radius)}.backtest-empty .empty-glyph{display:block;font-size:24px;margin-bottom:10px;opacity:.55}.backtest-empty strong{display:block;color:var(--text-dim);font-size:14px;margin-bottom:6px}.backtest-empty small{font-size:11.5px}.bt-result{display:grid;gap:16px}.bt-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.bt-kpi{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:14px 16px;position:relative;overflow:hidden}.bt-kpi:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--line-strong)}.bt-kpi:first-child:before{background:var(--brand);box-shadow:0 0 8px var(--brand-glow)}.bt-kpi-label{display:block;color:var(--text-faint);font-size:10px;letter-spacing:.04em}.bt-kpi strong{display:block;margin:9px 0 3px;color:var(--text);font:600 20px/1 var(--font-mono)}.bt-kpi strong.up{color:var(--accent)}.bt-kpi strong.down{color:var(--ok)}.bt-kpi small{color:var(--text-faint);font-size:10px}.bt-chart-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.bt-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line-soft)}.bt-panel-head h3{margin:0;font:600 14px Bahnschrift,Segoe UI,sans-serif;color:var(--text)}.bt-panel-head small{color:var(--text-faint);font:10px var(--font-mono)}.bt-chart-svg{display:block;width:100%;height:200px}.bt-chart-labels{display:flex;justify-content:space-between;padding:4px 12px 10px;color:var(--text-faint);font:9px var(--font-mono)}.bt-chart-empty{padding:30px;text-align:center;color:var(--text-faint);font-size:12px}.bt-trades{margin-top:2px}.bt-trades .panel-head{padding:12px 16px}@media (max-width: 1280px){.bt-grid{grid-template-columns:repeat(4,1fr)}.bt-kpis{grid-template-columns:repeat(2,1fr)}}.strategy-reverse{margin-top:12px;display:flex;flex-direction:column;gap:4px}.strategy-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}.strategy-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.strategy-toggle-track{width:36px;height:20px;border-radius:10px;background:var(--line-soft);position:relative;transition:background .2s;flex-shrink:0}.strategy-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-faint);transition:transform .2s,background .2s}.strategy-toggle input[type=checkbox]:checked+.strategy-toggle-track{background:#f0b42973}.strategy-toggle input[type=checkbox]:checked+.strategy-toggle-track:after{transform:translate(16px);background:var(--brand)}.strategy-toggle small{color:var(--text-faint);font-size:10px;line-height:1.5}.bt-reverse{display:flex;align-items:center;gap:8px;margin:12px 0 4px;font-size:12px;color:var(--text-dim);cursor:pointer;flex-wrap:wrap}.bt-reverse input{accent-color:var(--brand);width:15px;height:15px;margin:0}.bt-reverse small{color:var(--text-faint);font-size:10px;width:100%}.takeover-cancel-btn{margin-left:auto;flex-shrink:0;padding:3px 10px;border-radius:6px;border:1px solid rgba(229,72,77,.4);background:#e5484d14;color:var(--accent);font-size:11px;cursor:pointer;transition:background .15s}.takeover-cancel-btn:hover{background:#e5484d2e}.takeover-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.market-movers{margin-top:16px}.market-movers .panel-heading{flex-wrap:wrap}.mm-tabs{display:flex;gap:4px}.mm-tab{border:1px solid var(--line);background:transparent;color:var(--muted);padding:5px 12px;border-radius:999px;font-size:12px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.mm-tab:hover{border-color:var(--accent);color:var(--text)}.mm-tab.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.mm-source{padding:6px 14px 0;color:var(--muted);font-size:11px}.mm-table-wrap{padding:8px 14px 14px;overflow-x:auto}.mm-table{width:100%;border-collapse:collapse;font-size:12.5px}.mm-table th{text-align:left;color:var(--muted);font-weight:500;padding:6px 10px;border-bottom:1px solid var(--line-soft);white-space:nowrap}.mm-table td{padding:6px 10px;border-bottom:1px solid var(--line-soft);white-space:nowrap}.mm-table tr:hover td{background:#7f7f7f0f}.mm-rank{color:var(--muted);font-variant-numeric:tabular-nums}.mm-price,.mm-volume{font-variant-numeric:tabular-nums;color:var(--muted)}.mm-table td.up{color:var(--accent)}.mm-table td.down{color:var(--ok)}@media (max-width: 720px){.market-movers .panel-heading{flex-direction:column;align-items:flex-start;gap:8px}.mm-tabs{width:100%}.mm-tab{flex:1;text-align:center}}.ai-read{margin-top:16px}.ai-read-btn{border:1px solid var(--accent);background:transparent;color:var(--accent);padding:6px 14px;border-radius:8px;font-size:12.5px;cursor:pointer;transition:background .15s,color .15s}.ai-read-btn:hover{background:var(--accent);color:#fff}.ai-read-btn:disabled{opacity:.5;cursor:not-allowed}.ai-read-body{padding:12px 14px;min-height:48px}.ai-read-empty,.ai-read-loading{color:var(--muted);font-size:12.5px;margin:0}.ai-read-loading:before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:ai-read-spin .8s linear infinite;vertical-align:-1px}@keyframes ai-read-spin{to{transform:rotate(360deg)}}.ai-read-result{line-height:1.7}.ai-read-text{color:var(--text);font-size:13px;white-space:normal}.ai-read-meta{color:var(--muted);font-size:11px;display:block;margin-top:8px}.ai-read-error{color:var(--danger, #e5484d);font-size:12.5px;margin:0}.strategy-preview{margin:10px 0 4px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#7f7f7f0a}.strategy-preview-wrap{display:flex;flex-direction:column;gap:10px}.strategy-preview-symbol{display:flex;flex-direction:column;gap:4px}.strategy-preview-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.strategy-preview-current{font-size:12.5px;font-weight:600}.strategy-preview-current.up{color:var(--accent)}.strategy-preview-current.down{color:var(--ok)}.strategy-preview-current.neutral{color:var(--muted)}.strategy-preview-sigs{display:flex;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--muted);align-items:center}.strategy-preview-sig{border:1px solid var(--line);border-radius:4px;padding:1px 6px;background:#7f7f7f0f;cursor:default}.strategy-preview-sig.up{border-color:var(--accent);color:var(--accent)}.strategy-preview-sig.down{border-color:var(--ok);color:var(--ok)}.strategy-preview-reason{display:block;color:var(--muted);font-size:11.5px}.strategy-preview-error{color:var(--danger, #e5484d)}.bt-scan{border:1px solid var(--line);background:transparent;color:var(--text);padding:8px 14px;border-radius:8px;font-size:12.5px;cursor:pointer}.bt-scan:hover{border-color:var(--accent);color:var(--accent)}.bt-scan-panel{margin-top:12px;padding:12px 14px;border:1px dashed var(--line);border-radius:var(--radius)}.bt-scan-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.bt-scan-panel .bt-field{flex:1;min-width:180px}.bt-scan-hint{color:var(--muted);font-size:11.5px;margin:8px 0 0}.bt-scan-meta{color:var(--muted);font-size:11.5px;margin-bottom:8px}.bt-scan-best td{background:#e5484d14}.bt-scan-best-note{color:var(--accent);font-size:12px;margin:8px 0 0}.bt-scan-error{color:var(--danger, #e5484d)}.bt-scan-empty{color:var(--muted);font-size:12.5px;padding:12px 0}.strategy-map-card{margin-top:16px}.strategy-map-editor{display:flex;flex-direction:column;gap:8px}.strategy-map-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.strategy-map-symbol{font:600 12px Consolas,monospace;color:var(--text);background:#7f7f7f1a;padding:4px 8px;border-radius:6px;min-width:96px;text-align:center}.strategy-map-select{flex:0 0 160px}.strategy-map-params{flex:1;min-width:220px;font:11.5px Consolas,monospace}.ai-review-loading{color:var(--muted);font-size:12.5px}.ai-review-result{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;gap:6px;font-size:12.5px}.ai-review-result .rv-title{font-weight:600}.ai-review-market{color:var(--muted)}.ai-review-ai{background:#7f7f7f0f;border-radius:8px;padding:8px 10px;line-height:1.7}.ai-review-ai-error{color:var(--danger, #e5484d);font-size:12px}.ai-review-meta{color:var(--muted);font-size:11px;display:block;margin-top:4px}.walkforward-controls{display:grid;grid-template-columns:1.2fr 2fr 1fr 1fr;gap:16px;margin-bottom:16px}@media (max-width: 900px){.walkforward-controls{grid-template-columns:1fr 1fr}}.walkforward-symbols{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:var(--panel-2);border-radius:8px}.walkforward-symbols .chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:16px;background:var(--panel);border:1px solid var(--line);font-size:12px;cursor:pointer}.walkforward-symbols .chip input{margin:0}.walkforward-actions{display:flex;align-items:center;gap:14px}.walkforward-status{color:var(--muted);font-size:12.5px}.walkforward-advanced{margin-top:14px}.walkforward-advanced summary{cursor:pointer;color:var(--muted);font-size:12.5px;padding:6px 0}.walkforward-advanced-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px 0}@media (max-width: 900px){.walkforward-advanced-grid{grid-template-columns:1fr 1fr}}.walkforward-result{margin-top:20px}.walkforward-empty{padding:24px;text-align:center;color:var(--muted)}.walkforward-error{color:var(--danger, #e5484d)}.walkforward-head{display:flex;align-items:center;gap:20px;padding:16px;background:var(--panel-2);border-radius:12px;border:1px solid var(--line);margin-bottom:18px}.walkforward-grade{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:600;color:#fff}.walkforward-score-block{flex:1}.walkforward-score{font-size:32px;font-weight:600}.walkforward-score small{font-size:14px;color:var(--muted);margin-left:4px}.walkforward-summary{color:var(--muted);margin-top:4px}.walkforward-meta{text-align:right;color:var(--muted);font-size:12.5px;line-height:1.6}.walkforward-meta strong{color:var(--text)}.walkforward-meta small{display:block;margin-top:4px}.walkforward-kpi{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}@media (max-width: 900px){.walkforward-kpi{grid-template-columns:repeat(2,1fr)}}.walkforward-kpi .kpi{padding:14px;background:var(--panel-2);border-radius:10px;border:1px solid var(--line)}.walkforward-kpi .kpi-label{color:var(--muted);font-size:12px;margin-bottom:6px}.walkforward-kpi .kpi-value{font-size:22px;font-weight:500}.walkforward-kpi .kpi-hint{font-size:11px;color:var(--muted);margin-top:4px}.walkforward-table-title{font-size:14px;font-weight:600;margin:8px 0 10px}.walkforward-table{width:100%;border-collapse:collapse;font-size:12.5px}.walkforward-table th,.walkforward-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line)}.walkforward-table th{color:var(--muted);font-weight:500}.walkforward-table .walkforward-symbol-head td{padding:10px;background:var(--panel-2)}.walkforward-json{margin-top:20px}.walkforward-json summary{cursor:pointer;color:var(--muted);font-size:12px}.walkforward-json pre{background:var(--panel-2);padding:12px;border-radius:8px;font-size:11.5px;max-height:320px;overflow:auto;margin-top:8px}.walkforward-why{padding:12px 16px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;font-size:12.5px;line-height:1.7}.walkforward-why strong{color:#f0b429;margin-right:8px}.walkforward-why-item{color:var(--text-secondary, #9aa7b8)}.walkforward-tuning{margin-bottom:20px;padding:14px 16px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px}.walkforward-tuning summary{cursor:pointer;font-size:13px;font-weight:600;color:#f0b429;padding:4px 0}.walkforward-tuning summary strong{color:#ef9f27}.walkforward-tuning-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:12.5px}.walkforward-tuning-table th,.walkforward-tuning-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.walkforward-tuning-table th{color:var(--muted);font-weight:500}.walkforward-tuning-table .param-key{font-size:10px;color:var(--muted);background:var(--panel);padding:1px 6px;border-radius:4px}.walkforward-tuning-table .tuning-suggest{color:#ef9f27;font-weight:500}.walkforward-tuning-hint{margin:10px 0 0;font-size:12px;color:var(--muted)}.backtest-legacy-fold{margin-top:16px;padding:0}.backtest-legacy-fold>summary{cursor:pointer;padding:14px 18px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:600;color:var(--muted);list-style:none}.backtest-legacy-fold>summary::-webkit-details-marker{display:none}.backtest-legacy-fold[open]>summary{border-radius:10px 10px 0 0;border-bottom:none}.backtest-legacy-fold>.backtest-legacy-content{padding:16px 18px;border:1px solid var(--line);border-top:none;border-radius:0 0 10px 10px}.backtest-legacy-fold>.backtest-legacy-content>p.hint{margin:0 0 12px;font-size:12px;color:var(--muted)}.wf-live-progress{padding:18px 20px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;margin-bottom:14px}.wf-live-progress strong{font-size:14px;color:#f0b429;display:block;margin-bottom:6px}.wf-live-progress #wf-live-text{font-size:12.5px;color:var(--text-secondary, #9aa7b8);font-family:Consolas,monospace}.cnstock-page{display:flex;flex-direction:column;gap:14px}.cnstock-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.cnstock-title{font-size:17px;font-weight:600;color:var(--text);margin:0}.cnstock-sub{font-size:12px;color:var(--text-faint);margin:4px 0 0}.cnstock-search{display:flex;gap:8px}.cnstock-search input,.cn-trade-form input,.cn-bt-config input,.cn-bt-config select,.cn-auto-config input,.cn-auto-config select,.cn-alert-input,.cn-portfolio input{background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:8px 12px;font-size:13px;outline:none;min-width:160px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bg-elev)!important;color:var(--text)!important}.cnstock-search input::placeholder,.cn-trade-form input::placeholder,.cn-bt-config input::placeholder,.cn-auto-config input::placeholder{color:var(--text-faint)}.cnstock-search input:focus,.cn-trade-form input:focus,.cn-bt-config input:focus,.cn-bt-config select:focus,.cn-auto-config input:focus,.cn-auto-config select:focus{border-color:var(--brand)}.cn-bt-config select,.cn-auto-config select{background-color:var(--bg-elev)!important;color-scheme:dark}.btn-primary{background:linear-gradient(135deg,#f0b429,#d99a1f);border:none;border-radius:8px;color:#1a1403;font-size:13px;font-weight:600;padding:8px 16px;cursor:pointer}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.cnstock-grid{display:grid;grid-template-columns:360px 1fr;gap:14px}@media (max-width: 1100px){.cnstock-grid{grid-template-columns:1fr}}.cnstock-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.panel-title{font-size:13px;font-weight:600;color:var(--text-dim);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.cn-quote-main{display:flex;justify-content:space-between;gap:12px}.cn-name{font-size:14px;font-weight:600}.cn-code{font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.cn-price{font-size:26px;font-weight:700;font-family:var(--font-mono);margin:6px 0 2px}.cn-change{font-size:12.5px;font-family:var(--font-mono)}.cn-quote-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;font-size:12px;color:var(--text-dim)}.cn-quote-meta b{color:var(--text);font-family:var(--font-mono);float:right}.cn-fund-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 10px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font-size:12px;color:var(--text-dim)}.cn-fund-grid b{color:var(--text);font-family:var(--font-mono)}.cn-tf-picker{display:flex;gap:4px}.cn-tf-btn{background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--text-dim);font-size:11px;padding:3px 9px;cursor:pointer}.cn-tf-btn.is-active{background:var(--brand-dim);border-color:var(--brand);color:var(--brand)}.cn-chart{height:380px}.cn-empty{color:var(--text-faint);font-size:12.5px;padding:24px 0;text-align:center}.cnstock-trade{display:flex;flex-direction:column;gap:12px}.cn-acc-row{display:flex;gap:18px;font-size:13px;color:var(--text-dim);flex-wrap:wrap}.cn-acc-row b{color:var(--text);font-family:var(--font-mono);font-size:14px}.cn-trade-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cn-trade-form input{min-width:90px;flex:1;max-width:150px}.btn-buy,.btn-sell{border:none;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer}.btn-buy{background:var(--accent);color:#fff}.btn-sell{background:var(--ok);color:#06281a}.btn-buy:hover,.btn-sell:hover{filter:brightness(1.08)}.cn-trade-msg{font-size:12.5px;color:var(--text-dim);margin-left:4px}.cn-table{width:100%;border-collapse:collapse;font-size:12.5px}.cn-table th{text-align:left;color:var(--text-faint);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--line)}.cn-table td{padding:6px 8px;border-bottom:1px solid var(--line-soft);color:var(--text-dim)}.cn-table td:first-child,.cn-table th:first-child{padding-left:0}.cn-ai-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.cn-ai-hint{font-size:12px;color:var(--text-faint)}.cn-ai-result{font-size:13px;line-height:1.7;color:var(--text)}.cn-ai-loading{color:var(--text-faint);padding:12px 0}.cn-ai-content{white-space:normal}.cn-ai-error{color:var(--accent);padding:10px 0}.cn-disclaimer{margin-top:14px;padding:10px 12px;border-radius:8px;font-size:12px;background:#d6a84b14;border:1px solid rgba(214,168,75,.3);color:#d6a84b}.service-switch{display:flex;gap:6px;padding:8px 10px;margin:2px 0 4px;border-top:1px solid var(--line-soft)}.service-tab{flex:1;background:var(--bg-elev);border:1px solid var(--line);border-radius:7px;color:var(--text-dim);font-size:12px;font-weight:500;padding:6px 0;cursor:pointer;text-align:center}.service-tab:hover{color:var(--text);border-color:var(--line-strong)}.service-tab.is-active{background:var(--brand-dim);border-color:var(--brand);color:var(--brand)}.cnstock-shell .side-nav{flex:1}.run-history-page,.run-detail{display:grid;gap:16px}.binance-ledger-console{border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius);background:linear-gradient(105deg,rgba(240,180,41,.07),transparent 45%),var(--panel);overflow:hidden}.binance-ledger-console>header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;border-bottom:1px solid var(--line)}.ledger-title{display:flex;align-items:center;gap:11px;min-width:0}.ledger-title>i{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 5px #2ec27e14,0 0 9px #2ec27e73;flex:none}.binance-ledger-console.syncing .ledger-title>i{background:var(--brand);animation:engine-pulse 1s ease-in-out infinite}.binance-ledger-console.err .ledger-title>i{background:var(--accent);box-shadow:0 0 8px #ef535066}.ledger-title h2{margin:0;font:500 16px Bahnschrift,Microsoft YaHei UI,sans-serif}.ledger-title p{margin:4px 0 0;color:var(--text-dim);font-size:11px}.ledger-actions{display:flex;align-items:center;gap:18px;flex:none}.ledger-actions>div{display:grid;gap:3px}.ledger-actions small{color:var(--text-faint);font:9px var(--font-mono)}.ledger-actions strong{font:500 11px var(--font-mono);white-space:nowrap}.ledger-actions button{min-height:36px;border:1px solid var(--brand);border-radius:7px;background:var(--brand);color:#1b1402;padding:8px 14px;font-weight:700;cursor:pointer}.ledger-actions button:disabled{opacity:.55;cursor:wait}.ledger-evidence{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr)) 155px;padding:0 14px}.ledger-evidence>div{position:relative;padding:14px 10px;border-right:1px solid var(--line);display:grid;gap:5px}.ledger-evidence>div:not(.ledger-vault):after{content:"";position:absolute;right:-4px;top:36px;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 7px #4dd8e080}.ledger-evidence span{color:var(--text-dim);font-size:11px}.ledger-evidence strong{font:600 13px var(--font-mono)}.ledger-evidence small{color:var(--text-faint);font-size:10px}.ledger-evidence .ledger-vault{border-right:0;padding-left:16px;align-content:center}.ledger-vault span{color:var(--brand);font:9px var(--font-mono);letter-spacing:.1em}.ledger-vault small{color:var(--ok)}.binance-ledger-console>footer{display:flex;align-items:center;gap:12px;min-height:34px;padding:7px 14px;border-top:1px solid var(--line);color:var(--text-dim);font-size:11px}.ledger-error{margin-left:auto;color:var(--accent);max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.run-summary-grid>div,.run-overview-grid>div{background:var(--bg-elev);border:1px solid var(--line);padding:14px;display:grid;gap:5px}.run-summary-grid small,.run-overview-grid small,.run-table td small,.run-detail td small{color:var(--text-dim);display:block;margin-top:4px;line-height:1.35}.run-detail .data-table-wrap td{min-width:118px;padding-top:12px;padding-bottom:12px;line-height:1.35}.run-summary-grid strong,.run-overview-grid strong{font-size:18px}.run-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;padding:14px;background:var(--bg-elev);border:1px solid var(--line)}.run-filters label{display:grid;gap:5px;color:var(--text-dim);font-size:12px}.run-filters input,.run-filters select,.run-filters button,.run-detail-actions button,.run-pagination button{min-height:34px;border:1px solid var(--line);background:var(--bg-elev-2);color:var(--text);padding:6px 10px}.run-list-actions{display:flex;align-items:center;gap:10px}.run-list-actions button{min-height:34px;border:1px solid rgba(239,83,80,.55);background:#ef535014;color:var(--accent);padding:6px 11px;cursor:pointer}.run-list-actions button:disabled{opacity:.42;cursor:not-allowed}.run-select-cell{width:42px;min-width:42px!important;text-align:center}.run-select-cell input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.run-select-cell input:disabled{cursor:not-allowed;opacity:.4}.run-table tbody tr.is-selected{background:var(--brand-dim)}.run-delete-button{border-color:#ef53508c!important;color:var(--accent)!important}.run-table tbody tr[data-run-open]{cursor:pointer}.run-table tbody tr[data-run-open]:hover{background:var(--bg-elev-2)}.run-status{display:inline-flex;padding:3px 8px;border:1px solid currentColor;font-size:11px}.run-status.ok{color:var(--ok)}.run-status.warn{color:var(--brand)}.run-status.err{color:var(--accent)}.run-pagination,.run-detail-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px}.run-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}.run-reconcile-note{margin:0 14px 14px;padding:10px;border-left:3px solid var(--ok);background:var(--bg-elev-2)}.run-reconcile-note.warn{border-left-color:var(--brand)}.run-detail details{margin:0 14px 14px}.run-detail pre{white-space:pre-wrap;overflow-wrap:anywhere}.run-timeline{list-style:none;display:grid;gap:8px;padding:14px;margin:0}.run-timeline li{display:grid;grid-template-columns:170px 180px 1fr;gap:10px;padding:10px;border-bottom:1px solid var(--line)}.run-timeline time,.run-timeline span{color:var(--text-dim);font-size:12px;overflow-wrap:anywhere}@media (max-width: 1200px){.ledger-evidence{grid-template-columns:repeat(3,1fr) 150px}.ledger-actions>div{display:none}}@media (max-width: 1100px){.run-summary-grid,.run-filters,.run-overview-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.run-summary-grid,.run-filters,.run-overview-grid,.run-timeline li{grid-template-columns:1fr}.run-detail-actions{flex-wrap:wrap}.binance-ledger-console>header{align-items:flex-start;padding:14px 12px}.ledger-title{align-items:flex-start}.ledger-title>i{margin-top:6px}.ledger-actions{align-self:center}.ledger-actions button{white-space:nowrap}.ledger-evidence{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.ledger-evidence>div{min-height:82px;padding:12px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.ledger-evidence>div:nth-child(2n){border-right:0}.ledger-evidence>div:not(.ledger-vault):after{display:none}.ledger-evidence .ledger-vault{grid-column:1 / -1;min-height:auto;padding:12px 14px;border-bottom:0}.binance-ledger-console>footer{align-items:flex-start;flex-wrap:wrap}}.cn-search-wrap{position:relative}.cn-search-wrap input{min-width:200px}.cn-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--bg-elev-2);border:1px solid var(--line-strong);border-radius:8px;max-height:300px;overflow-y:auto;box-shadow:var(--shadow)}.cn-suggest-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:12.5px;color:var(--text-dim);border-bottom:1px solid var(--line-soft)}.cn-suggest-item:last-child{border-bottom:none}.cn-suggest-item:hover{background:var(--bg-elev-3);color:var(--text)}.cn-suggest-code{font-family:var(--font-mono);color:var(--brand);font-size:12px}.cn-suggest-name{flex:1}.cn-suggest-market{font-size:11px;color:var(--text-faint)}#cnstock-top,#cnstock-trade,#cnstock-ai{scroll-margin-top:16px}.btn-ghost{background:transparent;border:1px solid var(--line-strong);border-radius:8px;color:var(--text-dim);font-size:12.5px;padding:8px 14px;cursor:pointer}.btn-ghost:hover{color:var(--text);border-color:var(--brand)}.cn-ai-tip{font-size:12px;color:var(--text-faint);margin-bottom:10px;line-height:1.6}.cn-ai-tip-ok{color:var(--ok)}.cn-ai-tip-err{color:var(--accent)}.cn-ai-row .cn-search-wrap{flex:0 0 auto}.cn-ai-row .cn-search-wrap input{width:220px;min-width:220px;background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:8px 12px;font-size:13px;outline:none}.cn-ai-row .cn-search-wrap input:focus{border-color:var(--brand)}.cn-ai-content{background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;padding:18px 22px;line-height:1.85;color:var(--text)}.cn-ai-content h3{font-size:14px;font-weight:600;color:var(--brand);margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line-soft)}.cn-ai-content h3:first-child{margin-top:0}.cn-ai-content p{margin:8px 0;color:var(--text-dim);font-size:13px}.cn-ai-content strong{color:var(--text);font-weight:600}.cn-ai-content ul{margin:8px 0;padding-left:0;list-style:none}.cn-ai-content li{padding:4px 0 4px 16px;color:var(--text-dim);font-size:13px;position:relative}.cn-ai-content li:before{content:"·";position:absolute;left:4px;color:var(--brand);font-weight:700}.cn-ai-content code{background:var(--bg-elev-3);color:var(--brand);padding:1px 6px;border-radius:4px;font-size:12px;font-family:var(--font-mono)}.cn-ai-guide{margin-top:10px;padding:12px 14px;border-radius:8px;font-size:12.5px;line-height:1.7;background:#ef535012;border:1px solid rgba(239,83,80,.3)}.cn-ai-guide strong{color:var(--accent);display:block;margin-bottom:4px}.cn-trades-title,.cnstock-auto{margin-top:16px}.cn-auto-config{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:12px;border:1px solid var(--line-soft);border-radius:8px;margin-bottom:8px}.cn-auto-picks{max-height:280px;overflow:auto}.cn-pick-status.is-pending{background:#5a5a5a2e;color:var(--text-dim)}.cn-auto-log-list{max-height:200px;overflow:auto;font-size:12px}.cnstock-backtest{margin-top:16px}.cn-bt-config{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:12px;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px;margin-bottom:10px}.cn-bt-config label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim)}.cn-bt-config input,.cn-bt-config select{min-width:72px;max-width:110px}.cn-bt-kpis{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.cn-bt-kpi{flex:1;min-width:120px;padding:10px 12px;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px}.cn-bt-kpi span{display:block;font-size:11.5px;color:var(--text-faint);margin-bottom:4px}.cn-bt-kpi b{font-size:15px;color:var(--text)}.cn-bt-kpi i{display:block;font-style:normal;font-size:12px;color:var(--text-dim);margin-top:4px;line-height:1.5}.cn-bt-segs{margin:8px 0}.cn-bt-segs summary{cursor:pointer;font-size:12.5px;color:var(--text-dim)}.cn-bt-trades{max-height:320px;overflow:auto;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px;padding:8px}.cnstock-portfolio{margin-top:16px}.cn-snap-btn{margin-left:auto;font-size:12px;padding:3px 10px}.cn-eq-bars{display:flex;align-items:flex-end;gap:4px;height:96px;margin-top:10px;overflow-x:auto;padding:6px;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px}.cn-eq-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-width:22px}.cn-eq-bar{width:14px;border-radius:3px 3px 0 0;background:var(--brand);opacity:.85}.cn-eq-col span{font-size:10px;color:var(--text-faint)}.cn-eq-note{margin-top:8px;font-size:11.5px;color:var(--text-faint)}.cn-alerts-panel{margin-top:16px}.cn-alerts{max-height:220px;overflow:auto;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px;padding:8px}.cn-alert-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-bottom:1px dashed var(--line-soft);font-size:12.5px}.cn-alert-type{font-size:11px;padding:1px 8px;border-radius:10px;border:1px solid currentColor;white-space:nowrap}.cn-alert-msg{color:var(--text-dim);flex:1}.cn-alert-time{color:var(--text-faint);font-family:var(--font-mono);font-size:11.5px}.cn-ai-perf{margin-bottom:10px;padding:10px 14px;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px}.cn-perf-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.cn-perf-label{font-size:12.5px;color:var(--text-dim)}.cn-perf-row b{font-size:18px;color:var(--text)}.cn-perf-sub{font-size:12px;color:var(--text-faint)}.cn-universe-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cn-universe-bar input,.cn-universe-bar select{background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:6px 10px;font-size:13px;outline:none;min-width:120px}.cn-universe-bar input:focus,.cn-universe-bar select:focus{border-color:var(--brand)}.cn-univ-summary{font-size:12px;color:var(--text-faint);margin-left:8px}.cn-univ-list{max-height:70vh;overflow:auto;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px;padding:6px}.cn-univ-list table{font-size:12.5px}.cn-univ-ok{background:#4caf5026;color:var(--ok);padding:1px 8px;border-radius:10px;font-size:11px;border:1px solid rgba(76,175,80,.3)}.cn-univ-no{background:#fac7751f;color:var(--text-faint);padding:1px 8px;border-radius:10px;font-size:11px;border:1px solid rgba(250,199,117,.25);cursor:help}.cn-univ-perm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:10px 12px;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px}.cn-univ-perm-label{font-size:12.5px;color:var(--text-dim)}.cn-univ-perm label{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-dim);cursor:pointer}.cn-univ-perm input[type=checkbox]{accent-color:var(--brand)}.cn-factor-list{font-size:12.5px;color:var(--text-dim);margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cn-factor-chip{background:var(--bg-elev-2);border:1px solid var(--line);border-radius:10px;padding:2px 10px;font-size:11.5px;color:var(--text)}.cn-factor-report{line-height:1.7;font-size:13px}.cn-factor-report h1{font-size:18px;font-weight:500;margin:12px 0 10px;color:var(--text)}.cn-factor-report h2{font-size:16px;font-weight:500;margin:12px 0 8px;color:var(--text)}.cn-factor-report h3{font-size:14px;font-weight:500;margin:14px 0 6px;color:var(--text)}.cn-factor-report p{margin:4px 0;color:var(--text-dim)}.cn-factor-report ul{margin:4px 0;padding-left:20px;color:var(--text-dim)}.cn-factor-report strong{color:var(--text)}.cn-md-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:12.5px;background:var(--bg-elev-2);border-radius:8px;overflow:hidden;table-layout:auto}.cn-md-table th,.cn-md-table td{padding:6px 12px;text-align:left;color:var(--text-dim);border-bottom:1px solid var(--line);white-space:nowrap}.cn-md-table th{background:var(--bg-elev);color:var(--text);font-weight:500}.cn-md-table td:nth-child(2){white-space:normal}.cn-md-table tr:last-child td{border-bottom:none}.cn-univ-bar .cn-univ-summary{flex-basis:100%;margin-left:0;margin-top:6px;font-size:12px}.cnstock-auto{margin-top:16px}.cn-auto-state{font-size:12px;font-weight:500;margin-left:8px}.cn-auto-state.is-on{color:var(--ok)}.cn-auto-state.is-off{color:var(--text-faint)}.cn-auto-sub{font-size:12px;font-weight:400;color:var(--text-faint);margin-left:10px}.cn-auto-bar{display:flex;align-items:center;gap:10px;margin:10px 0;flex-wrap:wrap}.cn-auto-hint{font-size:12px;color:var(--text-faint)}.cn-auto-config{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:12px;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px;margin-bottom:8px}.cn-auto-config label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim)}.cn-auto-config input{min-width:72px;max-width:96px}.cn-auto-picks{max-height:280px;overflow:auto;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px;padding:6px}.cn-pick-status{font-size:12px;padding:1px 8px;border-radius:10px;white-space:nowrap}.cn-pick-status.is-pending{background:var(--bg-elev-3);color:var(--text-dim)}.cn-pick-status.is-bought{background:#ef535026;color:var(--accent)}.cn-pick-status.is-sold{background:#4caf5026;color:var(--ok)}.cn-pick-status.is-skip,.cn-pick-status.is-failed{background:#fac7751f;color:var(--text-faint)}.cn-pick-status.is-scored{background:#5a82b426;color:var(--text-dim)}.cn-pick-reason{font-size:12px;color:var(--text-faint);max-width:260px}.cn-auto-log-list{max-height:200px;overflow:auto;font-size:12px;padding:6px;background:var(--bg-elev-2);border:1px solid var(--line);border-radius:8px}.cn-auto-log{display:flex;gap:8px;padding:3px 0;border-bottom:1px dashed var(--line-soft)}.cn-auto-log-ts{color:var(--text-faint);font-family:var(--font-mono);white-space:nowrap}.cn-auto-log span:last-child{color:var(--text-dim);word-break:break-all}.cn-ai-config-panel{padding:0;overflow:hidden}.cn-ai-config-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:12px 18px;background:transparent;border:none;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer;text-align:left}.cn-ai-config-toggle:hover{color:var(--text);background:var(--bg-elev)}.cn-ai-config-state{font-size:11.5px;font-weight:400}.cn-ai-config-state.is-ok{color:var(--ok)}.cn-ai-config-state.is-empty{color:var(--text-faint)}.cn-ai-config-arrow{margin-left:auto;color:var(--text-faint)}.cn-ai-config-body{border-top:1px solid var(--line-soft);padding:16px 18px}.cn-ai-config-form{display:flex;flex-direction:column;gap:12px}.cn-ai-config-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.cn-ai-config-fields label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-faint)}.cn-ai-config-fields input,.cn-ai-config-fields select{background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:8px 12px;font-size:13px;outline:none}.cn-ai-config-fields input:focus,.cn-ai-config-fields select:focus{border-color:var(--brand)}.cn-ai-config-actions{display:flex;align-items:center;gap:10px}.cn-ai-config-msg{font-size:12.5px}.cn-ai-tip-load{color:var(--text-faint)}.cn-watch-panel{padding:12px 18px}.cn-watch-count{font-size:11px;color:var(--text-faint);font-family:var(--font-mono);transition:color .3s}.cn-watch-count.is-ok{color:var(--ok)}.cn-watch-count.is-empty{color:var(--text-faint)}.cn-watch-count.is-warn{color:var(--accent)}.cn-watch-list{display:flex;flex-wrap:wrap;gap:8px}.cn-watch-item{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:12.5px;color:var(--text-dim);transition:border-color .15s,color .15s}.cn-watch-item:hover{border-color:var(--brand);color:var(--text)}.cn-watch-idx{font-family:var(--font-mono);font-size:10px;color:var(--text-faint)}.cn-watch-name{color:var(--text)}.cn-watch-code{font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.cn-watch-del{background:transparent;border:none;color:var(--text-faint);font-size:14px;line-height:1;cursor:pointer;padding:0 2px;border-radius:4px}.cn-watch-del:hover{color:var(--accent);background:var(--accent-dim)}.cn-watch-price{font-family:var(--font-mono);font-size:12px;min-width:58px;text-align:right}.cn-watch-pct{font-family:var(--font-mono);font-size:11px;min-width:52px;text-align:right}.cn-signal-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:12px}.sig-top{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.sig-badge{display:inline-block;padding:4px 14px;border-radius:20px;font-size:13px;font-weight:700;letter-spacing:1px}.sig-buy{background:#ef535026;color:var(--accent);border:1px solid var(--accent)}.sig-sell{background:#26a69a26;color:var(--ok);border:1px solid var(--ok)}.sig-hold{background:#bd93f91f;color:#bd93f9;border:1px solid #bd93f9}.sig-conf{font-size:13px;color:var(--text-dim)}.sig-conf b{color:var(--text);font-family:var(--font-mono)}.sig-price{margin-left:auto;font-size:13px;color:var(--text-dim);font-family:var(--font-mono)}.sig-summary{font-size:13px;color:var(--text);line-height:1.7;margin-bottom:12px}.sig-grid{display:grid;grid-template-columns:180px 1fr;gap:16px;margin-bottom:10px}.sig-prices{display:flex;flex-direction:column;gap:6px;justify-content:center}.sig-price-item{display:flex;justify-content:space-between;font-size:12.5px;color:var(--text-dim);background:var(--bg);border-radius:6px;padding:5px 10px}.sig-price-item b{font-family:var(--font-mono);color:var(--text)}.sig-price-item.sig-sl b{color:var(--ok)}.sig-price-item.sig-tp b{color:var(--accent)}.sig-scores{display:flex;flex-direction:column;gap:4px}.sig-row{display:flex;align-items:center;gap:8px;font-size:12px}.sig-row-name{width:44px;color:var(--text-faint);text-align:right}.sig-bar{flex:1;height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.sig-bar-fill{height:100%;border-radius:3px}.sig-row-val{width:42px;text-align:right;font-family:var(--font-mono);font-size:11.5px}.sig-consensus{display:flex;gap:16px;font-size:12px;color:var(--text-faint);border-top:1px dashed var(--line);padding-top:10px}.sig-consensus b{color:var(--text-dim)}.cn-ai-divergence{margin:0 0 12px;padding:10px 14px;border-radius:8px;font-size:12.5px;line-height:1.6;background:#f1c40f14;border:1px solid rgba(241,196,15,.35);color:#f1c40f}.cn-ai-content h3{font-size:13px;color:var(--brand);margin:14px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--line-soft)}.cn-ai-content p{font-size:13px;color:var(--text);line-height:1.85;margin:4px 0}.cn-ai-content ul{margin:4px 0 8px;padding-left:18px}.cn-ai-content li{font-size:12.5px;color:var(--text-dim);line-height:1.7}.cn-ai-risks li{color:var(--accent)}.cn-ai-feedback{display:flex;align-items:center;gap:10px;margin:12px 0 6px;padding:10px 14px;border-radius:8px;background:var(--bg);font-size:12.5px;color:var(--text-faint)}.btn-fb{padding:5px 12px;font-size:12px}.cn-ai-fb-done{color:var(--ok)}.cn-ai-history{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.cn-hist-item{display:flex;align-items:center;gap:10px;padding:7px 12px;background:var(--bg);border-radius:8px;font-size:12.5px}.cn-hist-time{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);flex:0 0 auto}.cn-hist-item .sig-badge{padding:2px 10px;font-size:11px;flex:0 0 auto}.cn-hist-conf{font-family:var(--font-mono);font-size:11.5px;color:var(--text-dim);flex:0 0 auto}.cn-hist-summary{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}.cn-hist-fb{flex:0 0 auto}.cn-ai-raw{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0;font-size:12px;line-height:1.6;color:var(--text-dim);font-family:var(--font-mono);max-height:220px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.cn-ai-raw-wrap{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin:8px 0;overflow:hidden}.cn-ai-raw-wrap summary{cursor:pointer;padding:9px 14px;font-size:12.5px;color:var(--text-dim);-webkit-user-select:none;user-select:none;transition:background .12s}.cn-ai-raw-wrap summary:hover{background:var(--bg-elev)}.cn-ai-raw-wrap summary::marker{color:var(--brand)}.cn-ai-raw-wrap[open] summary{border-bottom:1px dashed var(--line)}.cn-ai-raw-wrap[open] pre.cn-ai-raw{margin:0;border:none;border-radius:0;max-height:320px}.cn-signal-title{display:flex;align-items:baseline;gap:10px;font-size:15px;font-weight:600;color:var(--text);padding:4px 0 10px;border-bottom:1px solid var(--line-soft);margin-bottom:12px}.cn-signal-code{font-family:var(--font-mono);font-size:12.5px;font-weight:400;color:var(--text-faint);padding:2px 8px;background:var(--bg-elev);border:1px solid var(--line);border-radius:6px}.cn-ai-batch-result{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}.cn-batch-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cn-batch-title{font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:10px}.cn-batch-progress{font-size:12px;color:var(--text-faint);font-family:var(--font-mono)}.cn-batch-progress b{color:var(--brand);font-weight:500}.cn-batch-actions{display:flex;gap:6px}.btn-batch-re{font-size:12px;padding:4px 12px}.cn-batch-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;align-items:start}.cn-batch-list{background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;overflow:hidden}.cn-batch-list-hd{display:grid;grid-template-columns:26px 1fr 58px 52px 64px;gap:4px;background:var(--bg);padding:8px 12px;font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line)}.cn-batch-row{display:grid;grid-template-columns:26px 1fr 58px 52px 64px;gap:4px;align-items:center;padding:9px 12px;cursor:pointer;position:relative;border-bottom:1px solid var(--line-soft);transition:background .12s}.cn-batch-row:last-child{border-bottom:none}.cn-batch-row:hover{background:var(--bg)}.cn-batch-row.is-active{background:#bd93f914}.cn-batch-row.is-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand)}.cn-batch-idx{font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.cn-batch-name{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cn-batch-name small{color:var(--text-faint);font-size:11px;margin-left:6px;font-weight:400;font-family:var(--font-mono)}.cn-batch-tag{display:inline-block;font-size:11px;font-weight:500;padding:2px 9px;border-radius:10px;text-align:center}.cn-batch-tag-b{background:#ef535021;color:var(--accent)}.cn-batch-tag-s{background:#26a69a21;color:var(--ok)}.cn-batch-tag-h{background:#bd93f921;color:#bd93f9}.cn-batch-tag-q{background:transparent;color:var(--text-faint);border:1px dashed var(--line)}.cn-batch-tag-f{background:#ef535026;color:var(--accent);border:1px solid var(--accent)}.cn-batch-cell{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);text-align:right}.cn-batch-cell.c{font-size:12px}.cn-batch-row.is-running .cn-batch-name{color:var(--text-faint)}.cn-batch-row.is-running .cn-batch-name:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#bd93f9;margin-left:6px;animation:cn-batch-pulse 1.2s infinite}@keyframes cn-batch-pulse{50%{opacity:.3}}.cn-batch-detail{background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;padding:14px;min-height:200px}.cn-batch-empty{padding:20px 16px;text-align:center;color:var(--text-faint);font-size:13px;background:var(--bg-elev);border:1px dashed var(--line);border-radius:10px}@media (max-width: 860px){.cn-batch-split{grid-template-columns:1fr}}.risk-gates{margin-top:14px}.risk-gates .rail-title{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.risk-gates .rail-title small{color:var(--text-faint);font-size:12px}.gates-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gate{background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.gate.gate-ok{border-left:3px solid #2ec27e}.gate.gate-warn{border-left:3px solid #f0b429}.gate.gate-danger{border-left:3px solid #ff5c5c;background:color-mix(in srgb,#ff5c5c 8%,var(--bg-elev))}.gate[data-disabled="1"]{opacity:.55}.gate-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.gate-name{font-size:12px;color:var(--text-faint)}.gate-value{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.gate.gate-danger .gate-value{color:#ff5c5c}.gate.gate-warn .gate-value{color:#f0b429}.gate-track{height:4px;border-radius:2px;background:var(--line);overflow:hidden}.gate-track i{display:block;height:100%;border-radius:2px;background:#2ec27e;transition:width .6s ease}.gate.gate-warn .gate-track i{background:#f0b429}.gate.gate-danger .gate-track i{background:#ff5c5c}.gate small{font-size:11px;color:var(--text-faint);line-height:1.45}@media (max-width: 860px){.gates-grid{grid-template-columns:repeat(2,1fr)}}.banner-warn{border-color:#f0b429;background:color-mix(in srgb,#f0b429 10%,var(--bg-elev))}.banner-warn .banner-icon{color:#f0b429}#circuit-banner[hidden]{display:none}.rail-metrics dd.warn{color:#f0b429}.scan-desc{font-size:12px;color:var(--text-faint);line-height:1.7;margin:10px 0 14px}.scan-status{margin-bottom:12px;font-size:13px}.scan-status.running{color:var(--accent)}.scan-status.ok{color:var(--ok)}.scan-status.err{color:#ff5c5c}.scan-panel{margin-bottom:16px}.scan-table th,.scan-table td{padding:8px 10px;font-size:13px}.scan-table td.scan-total{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.scan-table td.scan-reason{font-size:12px;color:var(--text-faint);max-width:420px}.res-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;white-space:nowrap}.res-badge.long{background:color-mix(in srgb,#ff5c5c 15%,var(--bg-elev));color:#ff5c5c}.res-badge.short{background:color-mix(in srgb,#2ec27e 15%,var(--bg-elev));color:#2ec27e}.res-badge.none{background:var(--line);color:var(--text-faint)}.scan-excluded{display:block;margin-top:8px;font-size:12px;color:#f0b429;line-height:1.6}.scan-history-list{display:flex;flex-direction:column;gap:6px}.scan-history-item{border:1px solid var(--line);border-radius:8px;background:var(--bg-elev)}.scan-history-item summary{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 12px;cursor:pointer;font-size:13px;list-style:none}.scan-history-item summary::-webkit-details-marker{display:none}.scan-history-item summary:before{content:"▸";color:var(--text-faint);margin-right:6px}.scan-history-item[open] summary:before{content:"▾"}.scan-time{font-variant-numeric:tabular-nums}.scan-pool{color:var(--text-faint);font-size:12px}.scan-history-detail{padding:0 12px 12px}.bt-metrics{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}.bt-metric{background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.bt-metric dt{font-size:11px;color:var(--text-faint)}.bt-metric dd{font-size:15px;font-weight:700;margin:2px 0 0;font-variant-numeric:tabular-nums}.bt-metric.up dd{color:#ff5c5c}.bt-metric.down dd{color:#2ec27e}.bt-verdict{border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:13px;display:flex;flex-direction:column;gap:4px}.bt-verdict.up{background:color-mix(in srgb,#ff5c5c 10%,var(--bg-elev));border-left:3px solid #ff5c5c}.bt-verdict.down{background:color-mix(in srgb,#2ec27e 10%,var(--bg-elev));border-left:3px solid #2ec27e}.bt-verdict span{color:var(--text-faint);font-size:12px}.bt-trades{margin-top:8px;max-height:300px;overflow-y:auto}@media (max-width: 860px){.bt-metrics{grid-template-columns:repeat(3,1fr)}}.scan-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 14px}.scan-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;border:1px solid transparent;font-size:13px;cursor:pointer;min-width:0;transition:transform .15s ease,box-shadow .2s ease,filter .15s ease}.scan-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #00000052}.scan-btn:disabled{opacity:.6;cursor:not-allowed}.scan-btn-icon{font-size:16px;line-height:1}.scan-btn-body{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.25}.scan-btn-body strong{font-size:13px;font-weight:600;white-space:nowrap}.scan-btn-body small{font-size:11px;color:#ffffffbf;font-weight:400}.scan-btn.scan-btn-lg{padding:10px 16px;min-width:180px;gap:10px}.scan-btn.scan-btn-lg .scan-btn-icon{font-size:20px}.scan-btn.scan-btn-lg .scan-btn-body strong{font-size:14px}.scan-btn.scan-btn-sm{padding:6px 12px;gap:6px}.scan-btn.scan-btn-sm .scan-btn-icon{font-size:14px}.scan-btn.scan-btn-sm .scan-btn-body strong{font-size:12px}.btn-primary.scan-btn{background:linear-gradient(135deg,#f0b429,#d99a1f);color:#1a1403;border-color:#f0b42999;box-shadow:0 2px 8px #f0b4292e}.btn-primary.scan-btn:hover:not(:disabled){box-shadow:0 6px 18px #f0b42959}.btn-cyan.scan-btn{background:linear-gradient(135deg,#4dabf7,#339af0);color:#0a1929;border-color:#4dabf799;box-shadow:0 2px 8px #4dabf72e}.btn-cyan.scan-btn:hover:not(:disabled){box-shadow:0 6px 18px #4dabf759}.btn-ghost.scan-btn{background:var(--bg-elev);color:var(--text);border-color:var(--line)}.btn-ghost.scan-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.scan-params{width:100%;margin:0}.scan-params summary{list-style:none;cursor:pointer}.scan-params summary::-webkit-details-marker{display:none}.scan-params-body{background:var(--bg-elev);border:1px solid var(--line);border-top:none;border-radius:0 0 10px 10px;padding:16px 18px;margin-top:-2px}.scan-params-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px;margin-bottom:10px}.scan-param{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-faint)}.scan-param input[type=number]{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 8px;color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}.scan-param input[type=number]:focus{outline:none;border-color:var(--accent)}.scan-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.scan-toggle input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:32px;height:18px;background:var(--line);border-radius:9px;position:relative;cursor:pointer;transition:background .2s}.scan-toggle input[type=checkbox]:checked{background:var(--accent)}.scan-toggle input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .2s}.scan-toggle input[type=checkbox]:checked:after{transform:translate(14px)}.scan-params-hint{color:var(--text-faint);font-size:11px}@media (max-width: 860px){.scan-params-grid{grid-template-columns:repeat(2,1fr)}.scan-btn{min-width:160px}}.btn-violet.scan-btn{background:linear-gradient(135deg,#9775fa,#7950f2);color:#160b36;border-color:#9775fa99;box-shadow:0 2px 8px #9775fa2e}.btn-violet.scan-btn:hover:not(:disabled){box-shadow:0 4px 14px #9775fa66}.bt-verdict.warn{background:color-mix(in srgb,#f0b429 10%,var(--bg-elev));border-left:3px solid #f0b429}.bt-verdict.warn strong{color:#f0b429}.sp-ai-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:linear-gradient(135deg,#9775fa,#7950f2);color:#160b36;font-size:13px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.sp-ai-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #9775fa66}.sp-ai-btn:disabled{opacity:.7;cursor:not-allowed}.sp-banner-info{padding:10px 16px;background:color-mix(in srgb,#4dabf7 8%,var(--bg-elev));border-bottom:1px solid var(--line);font-size:12px;color:var(--text-dim);line-height:1.6}.sp-banner-info strong{color:var(--accent)}.engine-bar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.engine-market-toggle{border:0;background:transparent;color:var(--text-faint);font-size:11px;cursor:pointer;padding:7px 9px;border-radius:6px}.engine-market-toggle:hover{color:var(--text);background:var(--panel-2)}.engine-stop{width:auto;min-width:0;height:36px;padding:0 14px;gap:7px;border:1px solid var(--line);background:transparent;color:var(--text-dim);border-radius:7px}.engine-stop-icon{width:13px;height:13px;border:1.5px solid currentColor;border-radius:50%;position:relative;display:inline-block}.engine-stop-icon:after{content:"";position:absolute;width:4px;height:4px;left:50%;top:50%;transform:translate(-50%,-50%);background:currentColor;border-radius:1px}.engine-stop:hover{color:#ff737a;border-color:#a7434a;background:#a7434a24}.candle-section-hidden{display:none}.candle-section-compact{padding:0;min-height:0}.compact-market-line{min-height:50px;border:1px solid var(--line);background:var(--panel);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:0 16px}.compact-market-title{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.compact-market-title strong{font-size:13px;color:var(--text)}.compact-market-title span{font-size:10px;color:var(--text-faint)}.compact-market-ticker{min-width:0;display:flex;align-items:center;gap:0;overflow:hidden;white-space:nowrap}.compact-market-ticker .price-row{min-width:auto;flex:0 0 auto;border:0;background:transparent;padding:0 16px;height:auto;display:flex;gap:8px;position:relative}.compact-market-ticker .price-row+.price-row:before{content:"";position:absolute;left:0;height:16px;border-left:1px solid var(--line)}.compact-market-ticker .price-row-symbol{min-width:0;font-size:11px}.compact-market-ticker .price-row-price{font-size:12px}.compact-market-ticker .price-row-change{font-size:10px}.kline-mode-switch{display:flex;align-items:center;gap:4px}.kline-mode-switch button{border:1px solid transparent;background:transparent;color:var(--text-faint);font-size:10px;padding:6px 8px;border-radius:5px;cursor:pointer;white-space:nowrap}.kline-mode-switch button:hover,.kline-mode-switch button.is-active{color:var(--text);border-color:var(--line);background:var(--panel-2)}.analysis-page-title,.analysis-tabs,.analysis-trade-link{display:flex;align-items:center;justify-content:space-between;gap:16px}.analysis-page-title{margin-bottom:12px}.analysis-page-title h2{margin:2px 0 0}.analysis-authority{color:var(--text-faint);font-size:11px}.analysis-tabs{justify-content:flex-start;border-bottom:1px solid var(--line);margin-bottom:16px}.analysis-tabs button,.trade-mode-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-dim);padding:10px 14px;cursor:pointer}.analysis-tabs button.is-active,.trade-mode-tabs button.is-active{color:var(--accent);border-bottom-color:var(--accent)}.analysis-trade-link{border:1px solid var(--line);background:var(--panel);padding:14px 16px;margin-top:14px}.analysis-trade-link div{display:flex;flex-direction:column;gap:4px}.analysis-trade-link span{color:var(--text-faint);font-size:11px}.trade-mode-tabs{display:flex;align-items:center;border-bottom:1px solid var(--line);margin-bottom:14px}.trade-mode-tabs .mini-btn{margin-left:auto;border:1px solid var(--line)}.trades-range{display:flex;align-items:center;gap:8px}.trades-range i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 12%,transparent)}.trades-filters input{min-height:38px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);padding:0 10px}.cycle-main-row td small,.cycle-event td small,.cycle-table td small{display:block;margin-top:3px;color:var(--text-faint);font-size:9px}.cycle-detail-row td{padding:0 12px 8px;background:color-mix(in srgb,var(--panel) 70%,transparent)}.cycle-detail-row summary{color:var(--text-faint);cursor:pointer;padding:8px 0;font-size:10px}.cycle-events{padding:4px 0 10px}.cycle-event-head{color:var(--accent);font-size:10px;margin-bottom:5px}.cycle-event{display:grid;grid-template-columns:110px 120px 110px 130px 110px minmax(80px,1fr);gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--line);font-size:10px}.cycle-event time,.cycle-event code{color:var(--text-faint)}.trade-cycle-empty{color:var(--text-faint);padding:8px 0;font-size:10px}@media (max-width:900px){.engine-bar{grid-template-columns:1fr auto}.engine-strategy{display:none}.compact-market-line{grid-template-columns:1fr auto}.compact-market-title{display:none}.analysis-page-title{align-items:flex-start;flex-direction:column}.cycle-event{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){body{min-width:0;overflow-x:hidden}.terminal-shell{display:block;min-width:0}.sidebar{position:relative;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:10px 14px;border-bottom:0}.brand-mark{width:34px;height:30px}.side-nav{flex-direction:row;overflow-x:auto;padding:8px 10px;border-top:1px solid var(--line);scrollbar-width:thin}.side-nav a{flex:0 0 auto;padding:8px 10px;white-space:nowrap}.side-nav a .nav-index,.side-nav a .nav-dot,.side-status,.side-user{display:none}.content,.view,.analysis-page,.trades-page{min-width:0;max-width:100%}.view{padding:12px}.status-footer{padding:0 12px;gap:10px;overflow:hidden}.status-footer span:not(.footer-lock){display:none}.engine-bar{flex-wrap:wrap;gap:10px;padding:11px 12px}.engine-bar .engine-state{flex:1 1 180px}.engine-bar-actions{margin-left:auto}.engine-market-toggle{display:none}.compact-market-line{min-height:46px;padding:0 10px;gap:6px}.compact-market-ticker{overflow-x:auto;scrollbar-width:none}.compact-market-ticker::-webkit-scrollbar{display:none}.compact-market-ticker .price-row{padding:0 10px}.kline-mode-switch button{padding:6px}.rail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rail-metrics .risk-budget{grid-column:span 2}.gates-grid{grid-template-columns:1fr}.stacked-tables table,.cycle-table{min-width:760px}.analysis-page-title,.trades-top{align-items:flex-start;flex-direction:column;gap:8px}.trades-top .trades-range{margin-left:0}.analysis-tabs{overflow-x:auto;white-space:nowrap}.analysis-tabs button,.trade-mode-tabs button{padding:9px 10px}.analysis-authority{line-height:1.6}.perf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.perf-kpis .kpi{border-bottom:1px solid var(--line-soft)}.perf-kpis .kpi:last-child{grid-column:span 2}.chart-panel .panel-head,.cal-panel .cal-head,.analysis-trade-link{align-items:flex-start;flex-direction:column}.trade-mode-tabs{flex-wrap:wrap}.trade-mode-tabs .mini-btn{margin-left:auto}.trades-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}.trades-filters .f-group,.trades-filters input,.trades-filters select{width:100%;min-width:0}.trades-filters .date-row{grid-column:1 / -1}.trades-filters .date-row input{min-width:0}.trades-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.data-panel{max-width:100%}.data-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.pager{flex-wrap:wrap}.pager .pages{margin-left:0}}.chart-range-tools{display:flex;align-items:center;gap:12px;color:var(--text-faint);font-size:10px}.chart-range-switch{display:flex;align-items:center;padding:2px;border:1px solid var(--line);border-radius:7px;background:var(--bg)}.chart-range-switch button{min-width:42px;height:25px;padding:0 8px;border:0;border-radius:5px;background:transparent;color:var(--text-faint);font:10px var(--font-mono);cursor:pointer}.chart-range-switch button:hover{color:var(--text)}.chart-range-switch button.is-active{background:var(--brand-dim);color:var(--brand);box-shadow:inset 0 0 0 1px #f0b42947}.run-history-page>.view-header{display:flex;align-items:flex-end;justify-content:space-between;min-height:68px;padding:0 2px}.run-history-page>.view-header h1{margin:5px 0 3px;font:600 25px/1.1 Bahnschrift,Microsoft YaHei UI,sans-serif}.run-history-page>.view-header p:last-child{margin:0;color:var(--text-dim);font-size:12px}.run-command-summary{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,2.2fr);border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.run-summary-lead{position:relative;display:grid;align-content:center;gap:6px;min-height:112px;padding:18px 20px;background:linear-gradient(120deg,#f0b4291f,#f0b42906)}.run-summary-lead:after{content:"";position:absolute;top:16px;right:0;bottom:16px;border-right:1px solid rgba(240,180,41,.25)}.run-summary-lead span,.run-summary-stats span{color:var(--text-faint);font-size:10px;letter-spacing:.04em}.run-summary-lead strong{font:650 25px/1 var(--font-mono)}.run-summary-lead small,.run-summary-stats small{color:var(--text-dim);font-size:10px}.run-summary-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.run-summary-stats>div{display:grid;align-content:center;gap:7px;padding:16px 18px;border-right:1px solid var(--line-soft)}.run-summary-stats>div:last-child{border-right:0}.run-summary-stats strong{font:600 17px/1.1 var(--font-mono);color:var(--text)}.run-filter-panel{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.run-filter-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.run-filter-panel>header>div:first-child{display:grid;gap:3px}.run-filter-panel>header strong{font-size:13px}.run-filter-panel>header span{color:var(--text-faint);font-size:10px}.run-filter-actions{display:flex;gap:7px}.run-filter-actions button,.run-pagination button{min-height:31px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.run-filter-actions button:hover,.run-pagination button:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}.run-filter-actions button.primary{color:var(--brand);border-color:#f0b42961;background:var(--brand-dim)}.run-filter-primary{display:grid;grid-template-columns:minmax(300px,1.7fr) repeat(4,minmax(115px,1fr));gap:10px;padding:13px 14px}.run-filter-primary label,.run-filter-advanced label{display:grid;gap:5px;min-width:0}.run-filter-primary label>span,.run-filter-advanced label>span{color:var(--text-faint);font-size:10px}.run-filter-primary input,.run-filter-primary select,.run-filter-advanced input,.run-filter-advanced select{width:100%;min-width:0;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--bg-elev-2);color:var(--text);font-size:11px}.run-date-field>div{display:grid;grid-template-columns:minmax(120px,1fr) 18px minmax(120px,1fr);align-items:center;gap:5px}.run-date-field i{color:var(--text-faint);font-style:normal;text-align:center;font-size:10px}.run-filter-advanced{border-top:1px solid var(--line-soft)}.run-filter-advanced summary{display:flex;align-items:center;gap:8px;padding:9px 14px;color:var(--text-dim);font-size:11px;cursor:pointer;list-style:none}.run-filter-advanced summary::-webkit-details-marker{display:none}.run-filter-advanced summary:before{content:"+";color:var(--brand);font:14px var(--font-mono)}.run-filter-advanced[open] summary:before{content:"−"}.run-filter-advanced summary span{color:var(--text-faint)}.run-filter-advanced>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:4px 14px 13px}.run-list-panel{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.run-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid var(--line)}.run-list-select-all{display:flex;align-items:center;gap:11px}.run-list-select-all>div{display:grid;gap:3px}.run-list-select-all strong{font-size:13px}.run-list-select-all span{color:var(--text-faint);font-size:10px}.run-list-head input,.run-ticket-select input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.run-list-head button{min-height:31px;padding:0 11px;border:1px solid rgba(239,83,80,.42);border-radius:6px;background:transparent;color:var(--accent);cursor:pointer}.run-list-head button:disabled{opacity:.32;cursor:not-allowed}.run-ticket-list{display:grid}.run-ticket{position:relative;display:grid;grid-template-columns:28px minmax(145px,.8fr) minmax(170px,1.15fr) minmax(185px,1.1fr) minmax(160px,.95fr) minmax(170px,1.15fr) 55px;align-items:center;gap:14px;min-height:98px;padding:13px 14px;border-bottom:1px solid var(--line-soft);background:var(--panel);cursor:pointer;transition:background .15s,border-color .15s}.run-ticket:last-child{border-bottom:0}.run-ticket:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;background:var(--line-strong)}.run-ticket:hover{background:var(--bg-elev-2)}.run-ticket:hover:before,.run-ticket.is-selected:before{background:var(--brand);box-shadow:0 0 8px var(--brand-glow)}.run-ticket.is-selected{background:linear-gradient(90deg,var(--brand-dim),transparent 38%)}.run-ticket.is-running:before{background:var(--cyan);box-shadow:0 0 8px #4dd8e080}.run-ticket-select{display:grid;place-items:center}.run-ticket-id,.run-ticket-strategy,.run-ticket-equity,.run-ticket-performance,.run-ticket-state{display:grid;gap:5px;min-width:0}.run-ticket-id>div{display:flex;align-items:center;gap:7px}.run-ticket-id code{color:var(--text);font:600 12px var(--font-mono)}.run-ticket-id time{color:var(--text-dim);font:10px var(--font-mono)}.run-ticket small,.run-ticket span{color:var(--text-faint);font-size:10px}.run-env{display:inline-flex;width:max-content;padding:2px 6px;border:1px solid var(--line-strong);border-radius:999px}.run-env.live{color:var(--accent);border-color:#ef535059;background:var(--accent-dim)}.run-ticket-strategy strong{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.run-ticket-equity>div{display:flex;align-items:center;gap:7px}.run-ticket-equity strong{font:600 12px var(--font-mono)}.run-ticket-equity i{color:var(--brand);font-style:normal}.run-ticket-performance>strong{font:650 17px/1 var(--font-mono)}.run-ticket-state{align-content:center}.run-ticket-state .run-status{width:max-content;border-radius:4px}.run-ticket-state em{overflow:hidden;color:var(--text-dim);font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.run-ticket-open{justify-self:end;color:var(--text-faint);font:10px var(--font-mono);white-space:nowrap}.run-ticket:hover .run-ticket-open{color:var(--brand)}.run-pagination{border-top:1px solid var(--line);background:var(--bg)}.run-pagination button:disabled{opacity:.35;cursor:not-allowed}.run-pagination span{color:var(--text-faint);font:10px var(--font-mono)}@media (max-width:1180px){.run-filter-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.run-date-field{grid-column:span 2}.run-ticket{grid-template-columns:28px minmax(130px,.8fr) minmax(170px,1.2fr) minmax(170px,1fr) minmax(145px,.9fr) 44px}.run-ticket-state{grid-column:3 / 6;grid-row:2;grid-template-columns:auto minmax(0,1fr);align-items:center}.run-ticket-state em{display:none}}@media (max-width:700px){.chart-range-tools{width:100%;align-items:flex-start;flex-direction:column;gap:7px}.chart-range-switch{width:100%}.chart-range-switch button{flex:1}.run-command-summary{grid-template-columns:1fr}.run-summary-lead{min-height:96px}.run-summary-lead:after{display:none}.run-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.run-summary-stats>div:nth-child(2){border-right:0}.run-summary-stats>div{border-top:1px solid var(--line-soft)}.run-filter-panel>header{align-items:flex-start}.run-filter-panel>header span{display:none}.run-filter-primary{grid-template-columns:1fr}.run-date-field{grid-column:auto}.run-date-field>div{grid-template-columns:1fr}.run-date-field i{display:none}.run-filter-advanced>div{grid-template-columns:1fr}.run-ticket{grid-template-columns:24px minmax(0,1fr) auto;gap:10px;padding:13px 11px}.run-ticket-id{grid-column:2}.run-ticket-strategy,.run-ticket-equity,.run-ticket-performance,.run-ticket-state{grid-column:2 / 4}.run-ticket-state{grid-row:auto;grid-template-columns:auto minmax(0,1fr)}.run-ticket-open{grid-column:3;grid-row:1}.run-list-head span{display:none}}.orders-group{margin-top:14px}.orders-group:first-of-type{margin-top:0}.orders-group-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding:6px 10px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--text-2, #8b93a7);border-left:3px solid var(--accent, #4f7cff)}.orders-group-title .orders-group-count{font-size:11px;font-weight:500;color:var(--text-3, #5c6476);background:var(--line, rgba(255,255,255,.08));border-radius:999px;padding:1px 8px}.takeover-orders-group{margin-top:12px}.takeover-orders-group:first-of-type{margin-top:0}
