:root{--bg: #0b0e16;--panel: #11151f;--panel-2: #161b27;--panel-hover: #1c2230;--border: #1e2533;--text: #eaecef;--text-dim: #7a8190;--text-faint: #545c6b;--up: #ff5b6a;--up-bg: rgba(255, 91, 106, .12);--down: #00c28e;--down-bg: rgba(0, 194, 142, .12);--accent: #2f7bff;--mono: "SF Mono", "Roboto Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Roboto,sans-serif;font-size:13px;overflow:hidden}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.up{color:var(--up)}.down{color:var(--down)}.app{display:grid;grid-template-rows:56px 1fr 132px;grid-template-columns:260px minmax(0,1fr) 300px;grid-template-areas:"topbar topbar topbar" "market chart  book" "market trade  book";height:100vh;max-width:100vw;overflow:hidden;gap:1px;background:var(--border)}.topbar{grid-area:topbar;background:var(--panel);display:flex;align-items:center;padding:0 18px;gap:28px}.brand{font-weight:700;font-size:16px;letter-spacing:.5px}.brand span{color:var(--accent)}.symbol-block{display:flex;align-items:center;gap:12px}.symbol-name{font-size:18px;font-weight:600}.symbol-price{font-size:20px;font-weight:600}.stat-group{display:flex;gap:26px;margin-left:8px}.stat{display:flex;flex-direction:column;gap:3px}.stat .label{color:var(--text-dim);font-size:11px}.stat .value{font-size:12px}.conn{display:flex;align-items:center;gap:7px;color:var(--text-dim);font-size:12px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.sound-alert-control{flex:0 0 auto}.sound-alert-icon{position:relative;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text-dim);cursor:pointer}.sound-alert-icon:hover,.sound-alert-icon.active{color:#f0b90b;border-color:#f0b90bb3}.sound-alert-icon svg{width:18px;height:18px;fill:currentColor}.sound-alert-icon .sound-wave{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.sound-alert-icon.muted .sound-wave{opacity:.3}.sound-alert-icon>i{position:absolute;right:4px;top:4px;width:6px;height:6px;border-radius:50%;background:#00c28e;box-shadow:0 0 6px #00c28ecc}.sound-alert-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:18px;background:#03060cad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sound-alert-panel{width:min(420px,100%);border:1px solid #303744;border-radius:14px;background:#121720;color:var(--text);box-shadow:0 24px 70px #00000080;overflow:hidden}.sound-alert-panel>header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.sound-alert-panel h2{margin:0;font-size:17px}.sound-alert-panel header p,.sound-tier-settings>p{margin:5px 0 0;color:var(--text-dim);font-size:12px}.sound-alert-close{width:30px;height:30px;padding:0;border:0;background:transparent;color:var(--text-dim);font-size:24px;line-height:1;cursor:pointer}.sound-master-row{margin:16px 20px 0;padding:14px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);cursor:pointer}.sound-master-row span{display:flex;flex-direction:column;gap:3px}.sound-master-row small{color:var(--text-dim)}.sound-master-row input,.sound-tier-option input{width:18px;height:18px;accent-color:#f0b90b}.sound-tier-settings{padding:18px 20px}.sound-tier-settings.disabled{opacity:.48}.sound-tier-settings h3{margin:0;font-size:13px}.sound-tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.sound-tier-option{min-width:0;display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:9px;background:#ffffff05;cursor:pointer}.sound-tier-option>i{width:9px;height:9px;flex:0 0 auto;border-radius:50%}.sound-tier-option.tier-red>i{background:#ff4d5e}.sound-tier-option.tier-gold>i{background:#f0b90b}.sound-tier-option.tier-blue>i{background:#2f7bff}.sound-tier-option.tier-gray>i{background:#8b93a3}.sound-tier-option span{min-width:0;display:flex;flex-direction:column;gap:2px}.sound-tier-option b{font-size:13px}.sound-tier-option small{color:var(--text-dim);font-size:11px}.sound-volume-row{display:grid;grid-template-columns:auto 1fr 42px;align-items:center;gap:10px;margin-top:16px;color:var(--text-dim);font-size:12px}.sound-volume-row input{width:100%;accent-color:#f0b90b}.sound-volume-row b{color:var(--text);text-align:right}.sound-preview{width:100%;height:36px;border:1px solid var(--border);border-radius:8px;background:#ffffff08;color:var(--text);cursor:pointer}.sound-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.sound-preview.long{border-color:#00c28e80;color:var(--up)}.sound-preview.short{border-color:#ff5b6a80;color:var(--down)}.sound-preview:hover:not(:disabled){background:#ffffff12}.sound-preview:disabled{cursor:not-allowed;opacity:.4}.sound-alert-panel>footer{padding:11px 20px 13px;border-top:1px solid var(--border);color:var(--text-faint);font-size:11px;line-height:1.5}@media (max-width: 520px){.sound-alert-backdrop{align-items:flex-end;padding:0}.sound-alert-panel{width:100%;border-radius:16px 16px 0 0}.sound-tier-grid,.sound-preview-grid{grid-template-columns:1fr}}.signal-notification-control{flex:0 0 auto}.notification-alert-icon svg,.sound-alert-close svg{fill:none;stroke:currentColor;stroke-width:2}.notification-alert-icon.active{color:#00c28e;border-color:#00c28ea6}.notification-settings-panel{width:min(520px,100%)}.notification-settings-body{max-height:min(66vh,620px);overflow-y:auto;padding-bottom:18px}.notification-settings-body fieldset{margin:18px 20px 0;padding:0;border:0}.notification-settings-body fieldset:disabled{opacity:.42}.notification-settings-body legend{margin-bottom:10px;color:var(--text-dim);font-size:12px;font-weight:700}.notification-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.notification-period-grid label,.notification-direction-grid label,.notification-tier-grid label{min-width:0;min-height:38px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:#ffffff06;cursor:pointer}.notification-period-grid input,.notification-direction-grid input,.notification-tier-grid input{width:17px;height:17px;flex:0 0 auto;accent-color:#00c28e}.notification-period-grid span,.notification-direction-grid span,.notification-tier-grid span{min-width:0;overflow-wrap:anywhere;font-size:12px}.notification-direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.notification-direction-grid .long{color:var(--up);border-color:#ff5b6a52}.notification-direction-grid .short{color:var(--down);border-color:#00c28e52}.notification-tier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.notification-tier-grid i{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.notification-tier-grid .tier-red i{background:#ff4d5e}.notification-tier-grid .tier-gold i{background:#f0b90b}.notification-tier-grid .tier-blue i{background:#2f7bff}.notification-tier-grid .tier-gray i{background:#8b93a3}.notification-settings-error{margin:14px 20px 0;padding:10px 12px;border:1px solid rgba(255,91,106,.35);border-radius:8px;background:#ff5b6a14;color:#ffb4bc;font-size:12px;line-height:1.45}.notification-settings-actions{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;border-top:1px solid var(--border)}.notification-settings-actions>span{color:var(--text-dim);font-size:12px}.notification-settings-actions button,.signal-confirm-dialog>button{min-width:96px;height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:0;border-radius:8px;background:#00a87a;color:#fff;font:inherit;font-weight:700;cursor:pointer}.notification-settings-actions button:disabled{opacity:.55;cursor:wait}.notification-settings-actions svg,.signal-confirm-dialog>button svg{width:16px;height:16px}.signal-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:grid;place-items:center;padding:18px;background:#02050ad1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.signal-confirm-dialog{width:min(460px,100%);display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;padding:22px;border:1px solid #343d4b;border-radius:8px;background:#121720;box-shadow:0 28px 90px #0000009e}.signal-confirm-dialog.long{border-top:3px solid var(--up)}.signal-confirm-dialog.short{border-top:3px solid var(--down)}.signal-confirm-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:8px;background:#f0b90b1f;color:#f0b90b}.signal-confirm-icon svg{width:26px;height:26px}.signal-confirm-copy{min-width:0}.signal-confirm-copy>span{color:var(--text-dim);font-size:12px}.signal-confirm-copy h2{margin:4px 0 7px;font-size:24px;letter-spacing:0}.signal-confirm-dialog.long h2{color:var(--up)}.signal-confirm-dialog.short h2{color:var(--down)}.signal-confirm-copy p{margin:0;color:var(--text);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.signal-confirm-copy dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 0}.signal-confirm-copy dl>div{min-width:0}.signal-confirm-copy dt{color:var(--text-faint);font-size:11px}.signal-confirm-copy dd{margin:4px 0 0;color:var(--text);font-size:13px;overflow-wrap:anywhere}.signal-confirm-copy>small{display:block;margin-top:12px;color:#f0b90b}.signal-confirm-dialog>button{grid-column:1 / -1;width:100%;margin-top:2px}@media (max-width: 520px){.notification-settings-panel{max-height:92dvh}.notification-settings-body{max-height:calc(92dvh - 126px)}.notification-period-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.notification-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-confirm-backdrop{align-items:end;padding:0}.signal-confirm-dialog{width:100%;border-right:0;border-bottom:0;border-left:0;border-radius:8px 8px 0 0;padding:20px 18px max(20px,env(safe-area-inset-bottom))}}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.dot.on{background:var(--up);box-shadow:0 0 6px var(--up)}.sidebar{grid-area:market;background:var(--panel);display:flex;flex-direction:column;min-height:0;overflow:hidden}.market{background:var(--panel);flex:0 0 auto;border-bottom:1px solid var(--border)}.panel-title{padding:12px 14px 8px;color:var(--text-dim);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.panel-message{padding:12px 14px;color:var(--text-faint);line-height:1.45}.panel-message.error,.data-error{color:#ffb4bc;background:#ff5b6a14}.market-row{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;cursor:pointer;border-left:2px solid transparent}.market-row:hover{background:var(--panel-hover)}.market-row.active{background:var(--panel-2);border-left-color:var(--accent)}.market-row .name{font-weight:500}.market-row .sub{color:var(--text-dim);font-size:11px}.market-row .right{text-align:right}.chip{display:inline-block;min-width:58px;text-align:center;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:600}.chip.up{background:var(--up-bg)}.chip.down{background:var(--down-bg)}.regime-mode{flex:0 0 auto;padding:9px 12px;background:var(--panel);border-bottom:1px solid var(--border)}.regime-lock-toggle{width:100%;min-height:38px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--text);display:flex;align-items:center;gap:10px;padding:7px 10px;cursor:pointer;font:inherit;text-align:left}.regime-lock-toggle:hover{background:var(--panel-hover)}.toggle-track{position:relative;flex:0 0 auto;width:34px;height:18px;border-radius:9px;background:#2a3242;transition:background .16s ease}.toggle-thumb{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--text-dim);transition:transform .16s ease,background .16s ease}.regime-lock-toggle.on .toggle-track{background:#2f7bff57}.regime-lock-toggle.on .toggle-thumb{background:var(--accent);transform:translate(16px)}.toggle-copy{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex:1}.toggle-copy b{font-size:12px;font-weight:600}.toggle-copy small{color:var(--text-dim);font-size:11px}.chart-wrap{grid-area:chart;background:var(--panel);display:flex;flex-direction:column;min-width:0;overflow:hidden}.interval-tabs{display:flex;align-items:center;gap:2px;padding:8px 12px;border-bottom:1px solid var(--border)}.interval-tabs .tab{padding:5px 11px;border-radius:4px;color:var(--text-dim);cursor:pointer;font-size:12px;font-weight:500}.interval-tabs .tab:hover{background:var(--panel-hover);color:var(--text)}.interval-tabs .tab.disabled{opacity:.35;cursor:not-allowed}.interval-tabs .tab.disabled:hover{background:transparent;color:var(--text-dim)}.interval-tabs .tab.active{background:var(--panel-2);color:var(--text)}.channel-toolbar{min-height:42px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:7px 12px;border-bottom:1px solid var(--border);background:#0f141d}.channel-segment{display:inline-grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--panel)}.channel-segment button{min-width:86px;height:28px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--text-dim);font:inherit;font-size:12px;cursor:pointer}.channel-segment button:last-child{border-right:0}.channel-segment button:hover{background:var(--panel-hover);color:var(--text)}.channel-segment button.active{background:#2f7bff29;color:#dbe7ff}.channel-segment button.disabled,.channel-segment button:disabled{color:var(--text-faint);background:#8b93a314;cursor:not-allowed}.channel-segment button.disabled:hover,.channel-segment button:disabled:hover{color:var(--text-faint);background:#8b93a314}.channel-status{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:12px}.channel-status b{color:var(--text);font-weight:600}.channel-status b.warn{color:#f0b90b}.confidence-legend{display:inline-flex;align-items:center;gap:5px;color:var(--text-faint);font-size:11px;white-space:nowrap}.confidence-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.confidence-legend .tier-red{background:#ff4d5e}.confidence-legend .tier-gold{background:#f0b90b}.confidence-legend .tier-blue{background:#2f7bff}.confidence-legend .tier-gray{background:#8b93a3}.last-signal{margin-left:auto;min-width:124px;height:26px;padding:0 8px;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);background:var(--panel);font-size:12px}.last-signal b{font-family:var(--mono)}.last-signal small{font-family:var(--mono);color:var(--text-dim)}.last-signal.tier-red{color:#ff4d5e;border-color:#ff4d5e61}.last-signal.tier-gold{color:#f0b90b;border-color:#f0b90b61}.last-signal.tier-blue{color:#2f7bff;border-color:#2f7bff61}.last-signal.tier-gray{color:#8b93a3;border-color:#8b93a361}.live-signal-pill{min-width:118px;height:26px;padding:0 8px;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px dashed rgba(240,185,11,.62);background:#f0b90b14;color:#f0b90b;font-size:12px;animation:live-pulse 1.2s ease-in-out infinite}.live-signal-pill b{font-family:var(--mono)}.live-signal-pill.tier-red{color:#ff4d5e;border-color:#ff4d5eb8;background:#ff4d5e1a;box-shadow:0 0 12px #ff4d5e29}.live-signal-pill.tier-gold{color:#f0b90b;border-color:#f0b90b9e;background:#f0b90b14}.live-signal-pill.tier-blue{color:#2f7bff;border-color:#2f7bff9e;background:#2f7bff14}.live-signal-pill.tier-gray{color:#8b93a3;border-color:#8b93a39e;background:#8b93a314}.live-signal-pill.state-jump{animation:live-jump .28s ease-out,live-pulse 1.2s ease-in-out infinite .28s}.live-signal-pill.state-invalidated,.live-signal-pill.tier-gray{animation:none}@keyframes live-pulse{0%,to{opacity:.72}50%{opacity:1}}@keyframes live-jump{0%{transform:scale(.96);filter:brightness(1)}50%{transform:scale(1.06);filter:brightness(1.35)}to{transform:scale(1);filter:brightness(1)}}.tracking-reason{max-width:260px;height:26px;display:inline-flex;align-items:center;gap:6px;padding:0 8px;border:1px solid var(--border);border-radius:5px;background:var(--panel);color:var(--text-dim);font-size:11px;white-space:nowrap}.tracking-reason span{flex:0 0 auto;color:var(--text-faint)}.tracking-reason b{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:500}.tracking-reason.changed{border-color:#f0b90b57;color:#f0b90b}.projection-stats{display:inline-flex;align-items:center;gap:8px;color:var(--text-faint);font-size:11px;white-space:nowrap}.chart-canvas{flex:1;min-height:0}.chart-canvas-wrap{position:relative}.chart-inner{position:absolute;top:0;right:0;bottom:0;left:0}.adx-legend{position:absolute;left:10px;top:80%;margin-top:4px;z-index:5;display:none;gap:12px;padding:3px 9px;font-size:12px;font-variant-numeric:tabular-nums;font-weight:600;background:#0c1018c7;border:1px solid var(--border);border-radius:5px;pointer-events:none;white-space:nowrap}.adx-cursor-tag{position:absolute;display:none;z-index:6;transform:translate(-50%,calc(-100% - 8px));padding:1px 6px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:#1a1205;background:#f0b90b;border-radius:4px;pointer-events:none;white-space:nowrap}.adx-state-card{position:absolute;right:10px;top:80%;margin-top:4px;z-index:5;display:none;grid-template-columns:repeat(2,minmax(82px,auto));gap:5px;max-width:min(360px,calc(100% - 24px));padding:7px 8px;background:#0c1018d6;border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000038;pointer-events:none}.adx-state-head{grid-column:1 / -1;color:var(--muted);font-size:11px;font-weight:700}.adx-state-chip{min-height:22px;display:flex;align-items:center;justify-content:center;padding:3px 8px;color:var(--text);background:#ffffff0e;border:1px solid rgba(255,255,255,.08);border-radius:5px;font-size:12px;font-weight:700;white-space:nowrap}.adx-state-chip.tone-long{color:#00c28e;background:#00c28e1c;border-color:#00c28e47}.adx-state-chip.tone-short{color:#ff5b6a;background:#ff5b6a1c;border-color:#ff5b6a47}.adx-state-chip.tone-neutral{color:#c5cad6}.adx-state-chip.tone-adx{color:#f0b90b;background:#f0b90b1f;border-color:#f0b90b47}.data-error{padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px}.daily-log-export{position:fixed;left:12px;bottom:12px;z-index:30;width:236px;min-height:42px;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:8px;padding:7px;border:1px solid var(--border);border-radius:6px;background:#11151ff5;box-shadow:0 8px 24px #00000047}.daily-log-export button,.daily-log-actions button,.daily-log-head button{height:28px;border:1px solid rgba(47,123,255,.46);border-radius:5px;background:#2f7bff24;color:#dbe7ff;font:inherit;font-size:12px;cursor:pointer}.daily-log-export button:hover,.daily-log-actions button:hover,.daily-log-head button:hover{background:#2f7bff38}.daily-log-export button:disabled{opacity:.56;cursor:not-allowed}.daily-log-export span{min-width:0;color:var(--text-dim);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-log-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:center;align-items:center;padding:24px;background:#06080db8}.daily-log-dialog{width:min(920px,96vw);height:min(760px,88vh);display:grid;grid-template-rows:52px minmax(0,1fr) 48px;border:1px solid var(--border);border-radius:8px;background:var(--panel);overflow:hidden;box-shadow:0 22px 60px #0000006b}.daily-log-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--panel-2)}.daily-log-head>div:first-child{min-width:0;display:flex;flex-direction:column;gap:2px}.daily-log-head b{font-size:13px}.daily-log-head span{color:var(--text-dim);font-size:11px}.daily-log-head button{width:58px}.daily-log-tabs{margin-left:auto;display:inline-grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:5px;overflow:hidden;background:var(--panel)}.daily-log-tabs button{width:64px;border:0;border-radius:0;background:transparent;color:var(--text-dim)}.daily-log-tabs button:first-child{border-right:1px solid var(--border)}.daily-log-tabs button.active{background:#2f7bff2e;color:#dbe7ff}.daily-log-dialog textarea{width:100%;height:100%;resize:none;border:0;outline:none;padding:14px 16px;background:#0d111a;color:var(--text);font-family:var(--mono);font-size:12px;line-height:1.65;white-space:pre}.daily-log-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:9px 12px;border-top:1px solid var(--border);background:var(--panel-2)}.daily-log-actions button{min-width:88px;padding:0 10px}.book{grid-area:book;background:var(--panel);display:flex;flex-direction:column;overflow:hidden}.book-section{display:flex;flex-direction:column;flex:1;min-height:0}.trade-collapse{border-bottom:1px solid var(--border);background:var(--panel-2)}.trade-collapse-head{width:100%;min-height:42px;border:0;background:transparent;color:var(--text);display:grid;grid-template-columns:64px 1fr 42px;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font:inherit;text-align:left}.trade-collapse-head:hover{background:var(--panel-hover)}.trade-latest{min-width:0;display:grid;grid-template-columns:minmax(70px,1fr) 62px;gap:8px;align-items:center;color:var(--text-dim);font-size:11px}.trade-latest span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-latest .trade-empty{grid-column:1 / -1}.trade-toggle{color:var(--accent);font-size:11px;text-align:right}.stop-adapter{border-bottom:1px solid var(--border);background:#0f141d}.stop-adapter-head{width:100%;min-height:38px;border:0;background:transparent;color:var(--text-dim);display:grid;grid-template-columns:16px 1fr 42px;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font:inherit;font-size:12px;text-align:left}.stop-adapter-head:hover{background:var(--panel-hover);color:var(--text)}.stop-adapter-mark{width:12px;height:12px;border-radius:50%;border:2px solid var(--text-faint);box-shadow:inset 0 0 0 2px #0f141d}.stop-adapter.on .stop-adapter-mark{border-color:#f0b90b;background:#f0b90b;box-shadow:0 0 8px #f0b90b73}.stop-adapter-head b{color:var(--text-faint);font-size:11px;text-align:right}.stop-adapter.on .stop-adapter-head b{color:#f0b90b}.stop-adapter-body{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 12px 10px}.stop-adapter-body label{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:5px;color:var(--text-faint);font-size:11px}.stop-adapter-body input,.stop-adapter-body select{width:100%;height:28px;min-width:0;border:1px solid var(--border);border-radius:5px;background:var(--panel);color:var(--text);font:inherit;font-size:12px;outline:none}.stop-adapter-body input{padding:0 7px}.stop-adapter-body select{padding:0 6px}.stop-adapter-body input:focus,.stop-adapter-body select:focus{border-color:#f0b90b}.stop-adapter-status{grid-column:1 / -1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-faint);font-size:11px}.stop-adapter-status.status-pass{color:#00c28e}.stop-adapter-status.status-caution{color:#f0b90b}.stop-adapter-status.status-block{color:#ff5b6a}.book-head{display:flex;justify-content:space-between;padding:6px 14px;color:var(--text-dim);font-size:11px}.depth-row{position:relative;display:flex;justify-content:space-between;padding:2px 14px;font-size:12px;z-index:1}.depth-row .bar{position:absolute;top:0;bottom:0;right:0;z-index:-1;opacity:.16}.depth-row.ask .bar{background:var(--down)}.depth-row.bid .bar{background:var(--up)}.spread{text-align:center;padding:7px;font-size:14px;font-weight:600;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.trades{overflow-y:auto;min-height:0}.trades.compact{max-height:164px;border-top:1px solid var(--border)}.trade-row{display:flex;justify-content:space-between;padding:2px 14px;font-size:12px}.trade-row .t{color:var(--text-dim)}.trade-panel{grid-area:trade;background:var(--panel);padding:14px 18px;display:flex;gap:18px;align-items:stretch}.side-box{flex:1;display:flex;flex-direction:column;gap:8px}.side-box input{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:5px;padding:8px 10px;font-family:var(--mono);outline:none}.side-box input:focus{border-color:var(--accent)}.btn{padding:10px;border:none;border-radius:5px;font-weight:600;font-size:13px;cursor:pointer;color:#fff}.btn.buy{background:var(--up)}.btn.sell{background:var(--down)}.btn:disabled{opacity:.45;cursor:not-allowed}.panel-note{align-self:center;color:var(--text-faint);font-size:11px;max-width:160px;line-height:1.5}.backtest-entry{position:fixed;left:12px;bottom:62px;z-index:30;width:156px;display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:8px;padding:7px;border:1px solid var(--border);border-radius:6px;background:#11151ff5;box-shadow:0 8px 24px #00000047}.backtest-entry button{height:28px;border:1px solid rgba(0,194,142,.46);border-radius:5px;background:#00c28e24;color:#9bf0d6;font:inherit;font-size:12px;cursor:pointer}.backtest-entry button:hover{background:#00c28e38}.backtest-entry button:disabled{opacity:.56;cursor:not-allowed}.backtest-entry span{min-width:0;color:var(--text-dim);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-pane-log .backtest-entry{position:static;width:calc(100% - 24px);margin:0 12px 12px}.bt-cost-toggle{display:inline-grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:5px;overflow:hidden;height:28px}.bt-cost-toggle button{border:0;border-right:1px solid var(--border);background:var(--panel);color:var(--text-dim);font:inherit;font-size:11px;cursor:pointer}.bt-cost-toggle button:last-child{border-right:0}.bt-cost-toggle button.active{background:#2f7bff2e;color:#dbe7ff}.bt-head-actions{display:flex;align-items:center;gap:8px}.bt-head-actions button{width:auto;padding:0 12px}.bt-dialog{width:min(980px,96vw)}.bt-body{overflow-y:auto;padding:12px 14px 16px}.bt-note{color:var(--text-dim);font-size:12px;line-height:1.5;padding:8px 10px;margin-bottom:10px;border-left:2px solid var(--accent);background:var(--panel-2);border-radius:4px}.bt-debug-panel{padding:12px;margin-bottom:12px;border:1px solid var(--border);border-radius:6px;background:linear-gradient(180deg,#181e2af0,#0f131ceb)}.bt-lab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.bt-lab-head b{display:block;color:var(--text);font-size:14px}.bt-lab-head span{display:block;margin-top:3px;color:var(--text-faint);font-size:11px}.bt-run-status{flex:0 0 auto;min-width:58px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);background:#ffffff08;font-size:11px}.bt-run-status.running{border-color:#00c28e80;color:#9bf0d6;background:#00c28e1a}.bt-run-status.done{border-color:#2f7bff73;color:#dbe7ff;background:#2f7bff1f}.bt-lab-section-title{margin-top:10px;color:var(--text-dim);font-size:12px;font-weight:700}.bt-debug-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.bt-debug-head b{display:block;color:var(--text);font-size:13px}.bt-debug-head span{display:block;margin-top:2px;color:var(--text-faint);font-size:11px}.bt-run-button{height:34px;min-width:104px;padding:0 16px;border:1px solid rgba(0,194,142,.46);border-radius:5px;background:#00c28e2e;color:#9bf0d6;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.bt-run-button:hover{background:#00c28e38}.bt-run-button:disabled{opacity:.56;cursor:not-allowed}.bt-mode-toggle{display:inline-grid;grid-template-columns:1fr 1fr;min-width:188px;height:30px;border:1px solid var(--border);border-radius:5px;overflow:hidden}.bt-mode-toggle button{border:0;border-right:1px solid var(--border);background:var(--panel);color:var(--text-dim);font:inherit;font-size:11px;cursor:pointer}.bt-mode-toggle button:last-child{border-right:0}.bt-mode-toggle button.active{background:#00c28e29;color:#b9f5e2}.bt-control-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px}.bt-control-row label{display:grid;gap:4px;min-width:210px;color:var(--text-dim);font-size:11px}.bt-control-row select{height:34px;padding:0 10px;border:1px solid var(--border);border-radius:5px;background:var(--panel);color:var(--text);font:inherit;font-size:12px}.bt-console{margin-top:12px;padding:10px;border:1px solid var(--border);border-radius:6px;background:#ffffff06}.bt-ledger-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;color:var(--text-dim);font-size:12px}.bt-ledger-row b{color:var(--text);font-family:var(--mono)}.bt-position-note{flex:1 1 240px;color:var(--text-dim);font-size:12px;line-height:1.45}.bt-pm-model{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.bt-pm-model-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}.bt-pm-model-head b{color:var(--text);font-size:12px}.bt-pm-model-head span{color:var(--text-dim);font-size:11px;line-height:1.4}.bt-pm-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px 12px;margin-top:10px}.bt-pm-flow>div{min-height:48px;padding:3px 8px;border-left:2px solid rgba(0,194,142,.5)}.bt-pm-flow b{display:block;color:#9bf0d6;font-size:11px}.bt-pm-flow span{display:block;margin-top:3px;color:var(--text-dim);font-size:11px;line-height:1.4}.bt-position-empty{margin-top:8px;color:var(--text-faint);font-size:12px}.bt-table-wrap{max-width:100%;overflow-x:auto}.bt-pm-table{min-width:920px}.bt-pm-table th,.bt-pm-table td{white-space:nowrap}.bt-debug-panel .bt-cost-toggle{width:180px;margin-top:10px}.bt-stress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(202px,1fr));gap:8px;margin-top:8px}.bt-stress-card{min-height:76px;padding:10px;border:1px solid var(--border);border-radius:6px;background:#ffffff06}.bt-stress-card b{display:block;color:var(--text);font-size:12.5px}.bt-stress-card span{display:block;margin-top:3px;color:var(--text-faint);font-size:11px;line-height:1.35}.bt-stress-card p{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:9px 0 0;color:var(--text-dim);font-size:11px}.bt-stress-card em{color:#dbe7ff;font-style:normal;font-family:var(--mono);font-size:14px}.bt-stress-card small{color:var(--text-faint);font-size:11px;text-align:right}.bt-validation-panel{margin:12px 0 14px}.bt-diagnostics-panel{margin:12px 0 16px}.bt-health-audit{margin-bottom:14px}.bt-health-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:8px 10px;border-bottom:1px solid var(--border)}.bt-health-head>div{flex:1 1 220px;min-width:0}.bt-health-head b{display:block;color:var(--text);font-size:12px}.bt-health-head span{color:var(--text-faint);font-size:11px;overflow-wrap:anywhere}.bt-health-status{flex:0 0 auto;padding:3px 7px;border:1px solid var(--border);border-radius:4px;font-size:11px;line-height:1.2}.bt-health-status.normal{color:#9bf0d6;border-color:#00c28e75}.bt-health-status.watch{color:#f3d17a;border-color:#dcad2d80}.bt-health-status.warning{color:#ff9aa4;border-color:#ff5b6a80}.bt-health-status.insufficient_evidence{color:var(--text-dim)}.bt-health-lock{flex:0 0 auto;color:var(--text-faint);font-size:11px}.bt-health-checks{border-bottom:1px solid var(--border)}.bt-health-check{padding:10px;border-top:1px solid var(--border)}.bt-health-check:first-child{border-top:0}.bt-health-check-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.bt-health-check-head b{color:var(--text);font-size:12px}.bt-health-check p{margin:6px 0 0;color:var(--text-dim);font-size:12px;line-height:1.45}.bt-health-check small{display:block;margin-top:4px;color:var(--text-faint);font-size:11px;line-height:1.4}.bt-diagnostic-overall{align-items:center}.bt-diagnostic-overall span{min-width:0}.bt-diagnostic-overall b{overflow-wrap:anywhere}.bt-diagnostic-table{min-width:780px}.bt-diagnostic-table th:first-child,.bt-diagnostic-table td:first-child{min-width:156px;font-family:inherit;white-space:normal}.bt-validation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:8px}.bt-validation-card{min-height:92px;padding:10px;border:1px solid var(--border);border-radius:6px;background:#ffffff06}.bt-validation-card b{display:block;color:var(--text);font-size:12.5px}.bt-validation-card span{display:block;margin-top:4px;color:var(--text-faint);font-size:11px;line-height:1.38}.bt-validation-card p{margin:8px 0 0;color:#dbe7ff;font-size:11px;line-height:1.4}.bt-side{margin-bottom:18px}.bt-section-tag{margin:12px 0 6px;padding:4px 8px;font-size:12px;font-weight:700;color:#dbe7ff;background:#2f7bff1f;border-left:2px solid var(--accent);border-radius:4px}.bt-side-title{font-size:13px;font-weight:700;margin:6px 0 8px;color:var(--text)}.bt-overall{display:flex;flex-wrap:wrap;gap:14px;padding:8px 10px;background:var(--panel-2);border-radius:6px;font-size:12px;color:var(--text-dim)}.bt-overall b{color:var(--text);font-family:var(--mono)}.bt-block{margin-top:10px}.bt-block-title{color:var(--text-dim);font-size:11px;margin-bottom:4px}.bt-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.bt-table th,.bt-table td{text-align:right;padding:5px 8px;border-bottom:1px solid var(--border)}.bt-table th:first-child,.bt-table td:first-child{text-align:left}.bt-table th{color:var(--text-faint);font-weight:600}.bt-table td{font-family:var(--mono)}.bt-table tr.bt-bad td:first-child{color:#ff5b6a}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#2a3242;border-radius:3px}.boot-screen{height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:14px}.login-screen{height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(120% 120% at 50% 0%,#131a28 0%,var(--bg) 60%)}.login-card{width:min(360px,100%);display:flex;flex-direction:column;gap:14px;padding:28px 24px 22px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px #00000073}.login-brand{font-size:26px;font-weight:800;letter-spacing:.5px;text-align:center}.login-brand span{color:var(--accent)}.login-sub{margin-top:-8px;text-align:center;color:var(--text-dim);font-size:13px}.login-input{height:48px;padding:0 14px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:16px;outline:none}.login-input:focus{border-color:var(--accent)}.login-btn{height:48px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-size:16px;font-weight:700;letter-spacing:4px;cursor:pointer}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{margin-top:-4px;padding:8px 12px;border-radius:8px;color:#ffb4bc;background:#ff5b6a1a;font-size:13px}.login-foot{text-align:center;color:var(--text-faint);font-size:11px}.m-app{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.m-top{flex:0 0 auto;height:52px;display:flex;align-items:center;gap:12px;padding:0 14px;background:var(--panel);border-bottom:1px solid var(--border)}.m-top-sym{display:flex;flex-direction:column;line-height:1.15}.m-top-sym b{font-size:16px;font-weight:700}.m-top-sym small{color:var(--text-faint);font-size:10px}.m-top-price{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;margin-left:4px}.m-top-price span{font-size:18px;font-weight:700}.m-top-price small{font-size:11px}.m-top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.m-logout{height:28px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--text-dim);font:inherit;font-size:12px}.m-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.m-chart-tab{flex:1;min-height:0;display:flex;flex-direction:column}.m-chart-box{flex:1;min-height:0;display:flex}.m-scroll-x{flex:0 0 auto;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border)}.m-scroll-x::-webkit-scrollbar{height:0}.m-scroll-x .interval-tabs,.m-scroll-x .channel-toolbar{border-bottom:0;width:max-content;flex-wrap:nowrap}.m-scroll-x .last-signal,.m-scroll-x .live-signal-pill{margin-left:8px}.m-pane{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.m-pane-book{overflow:hidden}.m-pane-book .book{flex:1;min-height:0}.m-pane-log{overflow-y:auto}.m-pane-log .daily-log-export{position:static;width:100%;box-shadow:none;margin:12px;width:calc(100% - 24px)}.m-tabbar{flex:0 0 auto;height:56px;display:grid;grid-template-columns:repeat(5,1fr);background:var(--panel);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.m-chart-box{position:relative}.m-full-btn{position:absolute;top:8px;right:8px;z-index:12;width:34px;height:34px;border:1px solid var(--border);border-radius:7px;background:#0c1018d1;color:var(--text);font-size:18px;line-height:1;cursor:pointer}.m-full-btn:active{background:var(--panel-hover)}.m-ch-switch{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border)}.m-ch-btn{display:flex;align-items:center;gap:7px;height:42px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text-dim);font:inherit;cursor:pointer;min-width:0}.m-ch-btn.active{border-color:var(--accent);background:#2f7bff24;color:var(--text)}.m-ch-btn b{font-size:13px;font-weight:600;white-space:nowrap}.m-ch-btn small{margin-left:auto;font-size:11px;font-weight:700;white-space:nowrap}.m-ch-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#8b93a3}.m-ch-btn.mgate-pass .m-ch-dot{background:#00c28e;box-shadow:0 0 7px #00c28ebf}.m-ch-btn.mgate-pass small{color:#00c28e}.m-ch-btn.mgate-caution .m-ch-dot{background:#f0b90b;box-shadow:0 0 7px #f0b90b99}.m-ch-btn.mgate-caution small{color:#f0b90b}.m-ch-btn.mgate-block .m-ch-dot{background:#ff5b6a}.m-ch-btn.mgate-block small{color:#ff5b6a}.m-ch-btn.disabled,.m-ch-btn:disabled{opacity:.56;cursor:not-allowed;background:#8b93a314}.m-ch-btn.disabled .m-ch-dot,.m-ch-btn:disabled .m-ch-dot{background:#8b93a3;box-shadow:none}.m-ch-btn.disabled small,.m-ch-btn:disabled small{color:var(--text-faint)}.m-ch-sub{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--border)}.m-ch-tag{flex:0 0 auto;padding:3px 9px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);color:var(--text-dim);font-size:11px;white-space:nowrap}.m-ch-tag.warn{color:#f0b90b;border-color:#f0b90b73}.m-ch-tag.block{color:#ff5b6a;border-color:#ff5b6a80}.m-ch-sub .live-signal-pill,.m-ch-sub .confidence-legend{flex:0 0 auto}.m-land-scroll .m-ch-switch{width:300px;flex:0 0 auto;padding:0;border-bottom:0}.m-land-bar .m-ch-btn{height:30px}.m-chart-box .chart-inner,.m-land .chart-inner{touch-action:none}.m-land{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.m-land-bar{flex:0 0 auto;height:40px;display:flex;align-items:center;gap:8px;padding:0 8px;background:var(--panel);border-bottom:1px solid var(--border)}.m-land-back{flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0 0 3px;border:0;border-radius:50%;background:var(--panel-2);color:var(--text);font-size:24px;line-height:1;cursor:pointer}.m-land-sym{flex:0 0 auto;display:flex;align-items:baseline;gap:8px}.m-land-sym b{font-size:14px;font-weight:700}.m-land-sym span{font-size:14px;font-weight:600}.m-land-scroll{flex:1;min-width:0;display:flex;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.m-land-scroll::-webkit-scrollbar{height:0}.m-land-scroll .interval-tabs{border-bottom:0;padding:0;flex:0 0 auto;flex-wrap:nowrap}.m-land-scroll .channel-segment,.m-land-scroll .live-signal-pill{flex:0 0 auto}.m-tabbar button{border:0;background:transparent;color:var(--text-dim);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.m-tabbar button.active{color:var(--accent)}.regime{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.regime-head{display:flex;align-items:center;justify-content:space-between}.regime-head .rg-sub{color:var(--text-faint);font-weight:500;text-transform:none;letter-spacing:0}.rg-dot{display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:var(--accent);animation:rg-pulse 1s infinite;vertical-align:middle}@keyframes rg-pulse{0%,to{opacity:.3}50%{opacity:1}}.regime-body{padding:4px 12px 14px}.regime-badge{border-radius:8px;padding:12px 14px;border:1px solid var(--border)}.regime-badge.rg-long{background:var(--up-bg);border-color:#00c28e59}.regime-badge.rg-short{background:var(--down-bg);border-color:#ff5b6a59}.regime-badge.rg-range{background:#f0b90b1a;border-color:#f0b90b59}.regime-badge.rg-insufficient{background:#8b93a31a;border-color:#8b93a359}.rg-name{font-size:22px;font-weight:700;letter-spacing:1px}.rg-long .rg-name{color:var(--up)}.rg-short .rg-name{color:var(--down)}.rg-range .rg-name{color:#f0b90b}.rg-insufficient .rg-name{color:#8b93a3}.rg-meta{margin-top:2px;font-size:12px;color:var(--text-dim)}.rg-conf-bar{margin-top:8px;height:4px;border-radius:2px;background:#ffffff14;overflow:hidden}.rg-conf-fill{height:100%;border-radius:2px;background:currentColor}.rg-long .rg-conf-fill{color:var(--up)}.rg-short .rg-conf-fill{color:var(--down)}.rg-range .rg-conf-fill{color:#f0b90b}.rg-insufficient .rg-conf-fill{color:#8b93a3}.regime-verdict{margin-top:12px;padding:10px 12px;background:var(--panel-2);border-radius:6px;border-left:2px solid var(--accent);line-height:1.5;color:var(--text);font-size:12.5px}.rg-quality-note{margin-top:8px;color:var(--text-dim);border-left-color:var(--border)}.regime-grid{margin-top:12px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden}.regime-grid>div{background:var(--panel);padding:7px 8px;display:flex;flex-direction:column;gap:2px}.regime-grid span{color:var(--text-faint);font-size:11px}.regime-grid b{font-family:var(--mono);font-weight:600;font-size:12px}.regime-profile{margin-top:12px}.rg-pf-title{color:var(--text-dim);font-size:11px;margin-bottom:5px}.rg-pf-row{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11.5px}.rg-pf-vah{color:var(--down)}.rg-pf-poc{color:var(--text)}.rg-pf-val{color:var(--up)}.regime-reasons{margin-top:12px;display:flex;flex-direction:column;gap:6px}.rg-reason{color:var(--text-dim);font-size:11.5px;line-height:1.5}.gate-lights{display:inline-flex;align-items:center;gap:8px;padding-left:4px;border-left:1px solid var(--border);font-size:12px;white-space:nowrap}.gate-light{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:5px;border:1px solid var(--border);background:#0c111a;opacity:.62}.gate-light.active{opacity:1;box-shadow:inset 0 0 0 1px #ffffff0f}.gate-light .gate-dot{width:8px;height:8px;border-radius:50%;background:#8b93a3}.gate-light .gate-name{color:var(--text-dim)}.gate-light .gate-status{font-weight:700}.gate-light .gate-dir{color:var(--text-faint);font-size:11px}.gate-light.gate-pass .gate-dot{background:#00c28e;box-shadow:0 0 6px #00c28eb3}.gate-light.gate-pass .gate-status{color:#00c28e}.gate-light.gate-caution .gate-dot{background:#f0b90b;box-shadow:0 0 6px #f0b90b99}.gate-light.gate-caution .gate-status{color:#f0b90b}.gate-light.gate-block .gate-dot{background:#ff4d5e}.gate-light.gate-block .gate-status{color:#ff5b6a}.stand-aside{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:700;color:#f0b90b;background:#f0b90b1f;border:1px solid rgba(240,185,11,.55)}.stand-aside .sa-dot{width:7px;height:7px;border-radius:50%;background:#f0b90b;box-shadow:0 0 6px #f0b90bb3}.stand-aside small{font-weight:500;color:var(--text-faint)}.gate-vals{color:var(--text-faint);font-size:11px}.position-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:6px;border:1px solid var(--border);background:var(--panel);white-space:nowrap;flex:0 0 auto}.position-pill span{color:var(--text-faint);font-size:11px}.position-pill b{font-family:var(--mono);font-size:13px;font-weight:700}.position-pill small{font-size:11px;font-weight:600}.position-pill.pos-full{border-color:#ff4d5e8c;background:#ff4d5e1f}.position-pill.pos-full b,.position-pill.pos-full small{color:#ff4d5e}.position-pill.pos-standard{border-color:#f0b90b8c;background:#f0b90b1f}.position-pill.pos-standard b,.position-pill.pos-standard small{color:#f0b90b}.position-pill.pos-half{border-color:#2f7bff8c;background:#2f7bff1f}.position-pill.pos-half b,.position-pill.pos-half small{color:#4d8bff}.position-pill.pos-probe{border-color:#8b93a38c;background:#8b93a31f}.position-pill.pos-probe b,.position-pill.pos-probe small{color:#aab2c0}.position-pill.pos-flat b,.position-pill.pos-flat small{color:var(--text-faint)}.stop-adapter-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:6px;border:1px solid rgba(240,185,11,.42);background:#f0b90b1a;white-space:nowrap;flex:0 0 auto}.stop-adapter-pill span{color:var(--text-faint);font-size:11px}.stop-adapter-pill b{color:#f0b90b;font-family:var(--mono);font-size:13px}.stop-adapter-pill small{color:var(--text-dim);font-size:11px}.gate-vals em{font-style:normal;color:var(--text-dim);margin:0 2px 0 3px}.dir-conf{margin:6px 0;padding:8px 12px;background:#12161c;border:1px solid #232a33;border-left:3px solid #5a6472;border-radius:8px}.dir-conf.dir-collapsed{display:inline-flex;width:fit-content;max-width:100%;margin:4px 0;padding:5px 9px;border-color:#232a33;border-left-color:#5a6472;border-left-width:1px;border-radius:16px}.dir-conf.dir-long{border-left-color:var(--up)}.dir-conf.dir-short{border-left-color:var(--down)}.dir-conf.dir-neutral{border-left-color:#8b93a3}.dir-conf.dir-collapsed.dir-long,.dir-conf.dir-collapsed.dir-short,.dir-conf.dir-collapsed.dir-neutral{border-left-color:#5a6472}.dir-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer}.dir-head:focus-visible{outline:1px solid #f0b90b;outline-offset:3px}.dir-mini-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#1c2530;font-size:11px;font-weight:700}.dir-long .dir-mini-icon{color:var(--up)}.dir-short .dir-mini-icon{color:var(--down)}.dir-neutral .dir-mini-icon{color:#c2c9d6}.dir-collapsed .dir-mini-icon{color:#d7deea}.dir-label{font-size:12px;color:#8b93a3;letter-spacing:1px}.dir-verdict{font-size:16px;font-weight:700}.dir-long .dir-verdict{color:var(--up)}.dir-short .dir-verdict{color:var(--down)}.dir-neutral .dir-verdict{color:#c2c9d6}.dir-strength{font-size:12px;padding:1px 8px;border-radius:10px;background:#1c2530;color:#d7deea}.dir-stance{font-size:12px;color:#9aa3b2;margin-left:auto}.dir-bar{margin:6px 0 4px;height:5px;background:#1c2530;border-radius:3px;overflow:hidden}.dir-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.dir-long .dir-bar-fill{background:var(--up)}.dir-short .dir-bar-fill{background:var(--down)}.dir-neutral .dir-bar-fill{background:#8b93a3}.dir-note{font-size:12px;color:#aeb6c2}.dir-comps{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.dir-comp{font-size:11px;padding:1px 6px;border-radius:6px;background:#161c24;border:1px solid #232a33;color:#9aa3b2}.dir-comp b{margin-left:3px}.dir-comp.pos b{color:var(--up)}.dir-comp.neg b{color:var(--down)}.dir-channel-note{margin-top:6px;font-size:12px;color:#f0b90b;background:#1d1a10;border-radius:6px;padding:4px 8px}.dir-collapsed .dir-tf-combo,.dir-collapsed .dir-channel-note{display:none}@media (max-width: 768px){.dir-conf{margin:4px 0;padding:5px 9px;border-radius:6px}.dir-head{gap:7px}.dir-label{font-size:10px;letter-spacing:0}.dir-verdict{font-size:14px}.dir-strength{font-size:11px;padding:0 6px}.dir-stance{font-size:11px}.dir-bar{margin:4px 0 3px;height:4px}.dir-note{font-size:11px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dir-conf .dir-comps{display:none}.dir-channel-note{font-size:11px;padding:3px 7px}}.dir-tf{margin-left:5px;font-size:11px;color:#f0b90b;font-style:normal}.dir-toggle{margin-left:auto;font-size:12px;color:#8b93a3}@media (max-width: 768px){.dir-compact .dir-head{cursor:pointer}.dir-compact .dir-stance{display:none}.dir-tf{font-size:10px}.dir-conf.dir-compact .dir-comps{display:flex}}.dir-tf-combo{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:1px 8px;border-radius:10px;background:#161c24;border:1px solid #232a33;white-space:nowrap}.dir-tf-combo .tf-exec{font-style:normal;color:#d7deea;font-weight:600}.dir-tf-combo .tf-x{font-style:normal;color:#5a6472}.dir-tf-combo .tf-bg{font-style:normal;color:#8b93a3}.dir-conf:not(.dir-compact) .dir-verdict{margin-left:6px}@media (max-width: 768px){.dir-compact .dir-head{row-gap:3px}.dir-compact .dir-label{order:1}.dir-compact .dir-verdict{order:2}.dir-compact .dir-toggle{order:3;margin-left:auto}.dir-compact .dir-tf-combo{order:4;flex-basis:100%;font-size:10px;padding:1px 7px}.dir-compact .dir-strength{display:none}}.assistant-fab{position:fixed;right:24px;bottom:24px;width:54px;height:54px;border-radius:50%;border:none;background:linear-gradient(135deg,#f0b90b,#c79100);color:#14171c;font-weight:800;cursor:pointer;box-shadow:0 6px 20px #00000073;z-index:998;transition:transform .15s ease}.assistant-fab:hover{transform:scale(1.06)}.assistant-fab.hidden{display:none}.fab-avatar{font-size:16px;letter-spacing:.5px}.assistant-panel{position:fixed;right:20px;bottom:20px;width:380px;height:560px;max-height:82vh;display:flex;flex-direction:column;background:#12161c;border:1px solid #232a33;border-radius:14px;box-shadow:0 12px 40px #0000008c;z-index:999;overflow:hidden}.assistant-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #232a33;background:#161c24}.assistant-id{display:flex;align-items:center;gap:9px}.assistant-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0b90b,#c79100);color:#14171c;font-weight:800;font-size:13px}.assistant-name b{font-size:14px;color:#e8edf5;display:block}.assistant-name small{font-size:11px;color:#8b93a3}.assistant-close{background:none;border:none;color:#8b93a3;font-size:16px;cursor:pointer}.assistant-meta{padding:6px 12px;font-size:11px;color:#9aa3b2;background:#0f1318;border-bottom:1px solid #1c2230}.assistant-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.assistant-intro{font-size:12px;color:#9aa3b2;line-height:1.5}.assistant-msg{max-width:88%;padding:8px 11px;border-radius:10px;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.assistant-msg.user{align-self:flex-end;background:#1f3a2e;color:#d7f5e6}.assistant-msg.assistant{align-self:flex-start;background:#1a212b;color:#dbe2ee;border:1px solid #232a33}.assistant-msg.loading{color:#8b93a3;font-style:italic}.assistant-suggest{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px}.assistant-suggest button{font-size:12px;padding:5px 10px;border-radius:14px;background:#161c24;border:1px solid #2a3340;color:#c2c9d6;cursor:pointer}.assistant-suggest button:hover{border-color:#f0b90b;color:#f0b90b}.assistant-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #232a33;background:#0f1318}.assistant-input input{flex:1;background:#161c24;border:1px solid #2a3340;border-radius:8px;color:#e8edf5;padding:8px 10px;font-size:13px;outline:none}.assistant-input input:focus{border-color:#f0b90b}.assistant-input button{background:#f0b90b;color:#14171c;border:none;border-radius:8px;padding:0 14px;font-weight:700;cursor:pointer}.assistant-input button:disabled{opacity:.5;cursor:default}@media (max-width: 768px){.assistant-fab{right:16px;bottom:70px;width:50px;height:50px}.assistant-panel{right:0;left:0;bottom:0;width:100%;height:80vh;max-height:80vh;border-radius:16px 16px 0 0}}.assistant-head{cursor:move;-webkit-user-select:none;user-select:none}.assistant-panel.compact .assistant-head{cursor:default}@media (max-width: 768px){.assistant-panel{bottom:58px;height:66vh;max-height:calc(100dvh - 130px)}}@media (max-width: 768px){.assistant-panel{bottom:56px;height:56vh;max-height:56vh}}@media (max-width: 1440px) and (min-width: 901px){.app{grid-template-columns:232px minmax(0,1fr) 264px}}@media (max-width: 1180px) and (min-width: 901px){.app{grid-template-columns:212px minmax(0,1fr);grid-template-areas:"topbar topbar" "market chart" "market trade"}.book{display:none}}.dir-clean{margin-left:8px;font-size:11px;padding:2px 9px;border-radius:12px;background:#161c24;border:1px solid #2a3340;color:#c2c9d6;cursor:pointer;white-space:nowrap}.dir-clean:hover{border-color:#f0b90b;color:#f0b90b}@media (max-width: 768px){.dir-compact .dir-clean{order:3;margin-left:auto}}.clean-mode{height:100vh;width:100vw;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.clean-bar{flex:0 0 auto;height:46px;display:flex;align-items:center;gap:12px;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--border)}.clean-sym{display:flex;align-items:baseline;gap:8px}.clean-sym b{font-size:15px}.clean-sym .num{color:var(--text-dim);font-size:12px}.clean-scroll{flex:1;min-width:0;overflow-x:auto}.clean-scroll .interval-tabs{border-bottom:none;padding:4px 0}.clean-exit{flex:0 0 auto;font-size:12px;padding:6px 12px;border-radius:6px;background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer}.clean-exit:hover{border-color:#f0b90b;color:#f0b90b}.clean-chart{flex:1;min-height:0;position:relative}.clean-chart .chart-canvas-wrap,.clean-chart .chart-inner{height:100%}.clean-sym-select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 26px 4px 10px;font-size:15px;font-weight:700;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%237a8190' stroke-width='1.6'/></svg>");background-repeat:no-repeat;background-position:right 8px center}.clean-sym-select:hover{border-color:#f0b90b}.clean-sym-select:focus{outline:none;border-color:#f0b90b}.chart-color-toggle{position:absolute;top:8px;right:8px;z-index:12;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:#0c1018d1;color:var(--text);font-size:12px;cursor:pointer}.chart-color-toggle:hover{border-color:#f0b90b;color:#f0b90b}.dir-color{margin-left:6px}@media (max-width: 768px){.dir-compact .dir-color{margin-left:6px}}.chart-countdown{position:absolute;top:8px;right:1px;transform:translateY(9px);z-index:11;padding:2px 6px;border-radius:4px;background:#0c1018eb;border:1px solid var(--border);color:var(--text-dim);font-size:11px;font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap}@media (max-width: 380px){.m-top{gap:8px;padding:0 10px}.m-top-actions{gap:6px}.m-logout{padding:0 8px}}
