:root{font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#263343;background:#f6f8fa;font-synthesis:none;--bg: #f6f8fa;--ink: #263343;--muted: #687788;--line: #e2e8ee;--divider: #e9eef2;--panel: #ffffff;--panel-muted: #f8fafc;--nav: #ffffff;--header: #ffffff;--control: #ffffff;--input-border: #cbd5df;--sidebar-ink: #526275;--sidebar-active: #ebf1f7;--chart-axis: #6c8079;--chart-line: #dce8e2;--chart-grid: #edf2ef;--accent: #456f9b;--positive: #c45149;--negative: #12866d;--text: var(--ink);--text-muted: var(--muted);--border: var(--line);--surface-muted: var(--panel-muted);color-scheme:light}:root[data-theme=dark]{--bg: #0b1220;--ink: #dce6f2;--muted: #93a7c0;--line: #26364b;--divider: #223247;--panel: #141f2e;--panel-muted: #1b2a3c;--nav: #101a2a;--header: #111d2d;--control: #1b2a3c;--input-border: #344963;--sidebar-ink: #bdcde0;--sidebar-active: #1b2d43;--chart-axis: #9bb0c8;--chart-line: #3a4a61;--chart-grid: #203148;--accent: #9bc2ee;--positive: #ef8076;--negative: #5ad0a1;color:var(--ink);background:var(--bg);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}.app-frame{min-height:100vh;background:#f4f6f8}.global-header{position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:stretch;gap:28px;padding:0 24px;color:#263840;background:#edf3f4;border-bottom:1px solid #d4e0e3;box-shadow:0 2px 12px #233a4314}.global-brand{display:flex;align-items:center;gap:10px;flex:0 0 176px}.global-brand-copy strong,.global-brand-copy small{display:block}.global-brand-copy strong{font-size:15px}.global-brand-copy small{margin-top:2px;color:#71848b;font-size:11px}.global-workspaces{display:flex;align-items:stretch;gap:4px}.global-workspace-tab{min-width:134px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 16px;border:0;border-bottom:3px solid transparent;color:#5d7078;background:transparent}.global-workspace-tab:hover{color:#205a5b;background:#f7fbfb}.global-workspace-tab.active{color:#0c7772;background:#fff;border-bottom-color:#16a394;box-shadow:inset 0 1px #fff}.global-workspace-tab strong{font-size:14px}.global-status{min-width:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;margin-left:auto;color:#3e555d;white-space:nowrap}.global-status-line{display:flex;align-items:center;gap:8px;font-size:12px}.global-status small{overflow:hidden;max-width:540px;color:#71858c;font-size:10px;text-overflow:ellipsis}.app-shell{min-height:100vh;background:var(--bg)}:root[data-theme=dark] .app-shell{background-image:linear-gradient(#94b4dc08 1px,transparent 1px),linear-gradient(90deg,#94b4dc08 1px,transparent 1px);background-size:44px 44px}.app-header{position:sticky;top:0;z-index:30;min-height:62px;display:flex;align-items:stretch;gap:24px;padding:0 24px;background:var(--header);border-bottom:1px solid var(--line)}.app-brand{display:flex;align-items:center;gap:10px;flex:0 0 190px}.app-brand>div{min-width:0}.app-brand strong,.app-brand small{display:block}.app-brand strong{color:var(--ink);font-size:16px}.app-brand small{margin-top:3px;color:var(--muted);font-size:11px}.app-brand .brand-mark{background:#456f9b;color:#fff}.workspace-dock{display:flex;align-items:stretch;gap:8px}.workspace-choice{min-width:166px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;border:1px solid transparent;border-bottom:2px solid transparent;color:var(--ink);background:transparent;text-align:center}.workspace-choice:hover{color:var(--ink);background:var(--panel-muted)}.workspace-choice.active{color:var(--ink);background:transparent;border-bottom-color:var(--muted)}.workspace-choice>span{min-width:0;text-align:center}.workspace-choice strong,.workspace-choice small{display:block}.workspace-choice strong{font-size:14px}.workspace-choice small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.workspace-choice.active small{color:var(--muted)}.header-health{min-width:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;margin-left:auto;color:var(--ink);white-space:nowrap}.header-health>div{display:flex;align-items:center;gap:8px;font-size:12px}.header-health small{overflow:hidden;max-width:510px;color:var(--muted);font-size:10px;text-overflow:ellipsis}.app-body{min-height:calc(100vh - 62px);display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{position:sticky;top:62px;height:calc(100vh - 62px);background:var(--nav);color:var(--ink);border-right:1px solid var(--line);padding:22px 12px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 26px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:6px;background:#e7b751;color:#19202c;font-weight:800;font-size:20px}.brand strong,.brand small{display:block;letter-spacing:0}.brand strong{font-size:16px}.brand small{color:#9eabb8;margin-top:2px}.workspace-switcher{display:grid;gap:8px;margin:0 0 18px}.workspace-tab{min-height:58px;display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:#9eabb8;text-align:left}.workspace-tab:hover{color:#fff;background:#202f3d}.workspace-tab.active{color:#fff;border-color:#3b5265;background:linear-gradient(135deg,#243b4d,#1d2b38);box-shadow:inset 3px 0 #e7b751}.workspace-tab>span{min-width:0}.workspace-tab strong,.workspace-tab small{display:block}.workspace-tab strong{font-size:13px}.workspace-tab small{margin-top:3px;color:#8ea0b0;font-size:11px}.workspace-tab.active small{color:#c3d1dd}.nav-section-label{margin:0 10px 8px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:0;text-transform:uppercase}.sidebar nav{display:grid;gap:4px}.sidebar nav a,.logout-button{display:flex;align-items:center;gap:11px;min-height:40px;padding:0 12px;color:var(--sidebar-ink);text-decoration:none;border:0;background:transparent;border-radius:5px;font-size:13px}.sidebar nav a:hover,.logout-button:hover{color:var(--accent);background:var(--panel-muted)}.sidebar nav a.active{color:var(--accent);background:var(--sidebar-active);font-weight:650}.logout-button{margin-top:auto;width:100%}.sidebar-actions{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.sidebar-actions .logout-button{margin-top:0}.theme-control{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;padding:0 4px 0 12px;min-height:36px}.theme-control-label{color:var(--muted);font-size:12px}.theme-segments{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:6px;background:var(--panel-muted)}.theme-segments button{display:grid;place-items:center;width:29px;height:27px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted)}.theme-segments button:hover{color:var(--accent)}.theme-segments button.active{background:var(--panel);color:var(--accent);box-shadow:0 1px 3px #152b241a}.theme-segments button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-theme-switcher.theme-control{position:absolute;z-index:4;top:18px;right:22px;margin:0;padding:0}.login-theme-switcher .theme-control-label{display:none}.main-content{min-width:0}.topbar{min-height:52px;background:#fff;border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--muted);font-size:13px}.topbar div{display:flex;align-items:center;gap:8px;color:#334155}.topbar-right{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-left:auto}.workspace-select{min-height:32px;min-width:112px;border:1px solid var(--input-border);border-radius:6px;padding:0 28px 0 11px;color:var(--accent);background:var(--panel-muted);font-size:12px;font-weight:700}.workspace-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #456f9b25;outline:none}.topbar-workspaces{display:flex;align-items:stretch;gap:2px}.topbar-workspaces .workspace-tab{min-height:52px;min-width:132px;padding:0 16px;border:0;border-bottom:3px solid transparent;border-radius:0;color:#64748b;background:transparent}.topbar-workspaces .workspace-tab:hover{color:#1f3b57;background:#f6f9fc}.topbar-workspaces .workspace-tab.active{color:#0f5fc4;border-bottom-color:#1677ff;background:#f2f7fd;box-shadow:none}.topbar-workspaces .workspace-tab strong{font-size:14px}.topbar-workspaces .workspace-tab small{display:block;margin-top:3px;overflow:hidden;color:#8b98a8;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.topbar-workspaces .workspace-tab.active small{color:#5c7c9f}.topbar-status{min-width:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;margin-left:0;color:#3e555d}.topbar-context{min-width:0;white-space:nowrap}.topbar-context strong{color:#1677ff;font-weight:700}.topbar-workspace{color:#475569;font-weight:600}.topbar-chevron{color:#a4afbb}.topbar-divider{width:1px;height:15px;background:var(--line)}.topbar-summary{color:#7b8797;font-size:11px;line-height:1.2;white-space:nowrap}.market-dot{width:8px;height:8px;border-radius:50%;background:#19a974;box-shadow:0 0 0 4px #dff6ed}.page{padding:24px 28px 40px;max-width:1600px;margin:0 auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-heading h1{margin:0;font-size:24px;letter-spacing:0}.page-heading p{margin:6px 0 0;color:var(--muted);font-size:13px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.source-strip{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:var(--panel-muted);color:var(--sidebar-ink);font-size:12px}.data-status{display:inline-flex;align-items:center;white-space:nowrap}.data-status:before{content:"";width:7px;height:7px;margin-right:6px;border-radius:50%;background:#8a96a3}.data-status.ready:before{background:#15966f}.data-status.partial:before,.data-status.stale:before{background:#d3992b}.stat{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px 18px;min-width:0}.stat-label{color:var(--muted);font-size:12px;margin-bottom:9px}.stat-value{font-size:23px;font-weight:700;white-space:nowrap}.stat-detail{margin-top:5px;color:var(--muted);font-size:12px}.positive{color:var(--positive)!important}.negative{color:var(--negative)!important}.grid-2{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:16px;margin-bottom:16px}.grid-even{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;min-width:0;overflow:hidden}.panel-header{min-height:50px;padding:0 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header h2{margin:0;font-size:15px;letter-spacing:0}.panel-body{padding:17px}.panel-note{color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:500;background:var(--panel-muted)}th,td{padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}tbody tr:hover{background:var(--panel-muted)}tbody tr:last-child td{border-bottom:0}.code-name strong,.code-name span{display:block}.code-name span{color:var(--muted);margin-top:2px;font-size:12px}.score{display:inline-grid;place-items:center;min-width:38px;height:24px;border-radius:4px;font-weight:700;background:#fff2df;color:#9b5c00}.tag{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:4px;background:var(--panel-muted);color:var(--muted);font-size:12px}.tag.buy{background:#fde8e7;color:#b52d27}.tag.sell{background:#e1f4ed;color:#087654}.button{min-height:36px;border:1px solid var(--line);border-radius:5px;background:var(--control);color:var(--ink);padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button:hover{border-color:#aab3bf}.button.primary{background:#456f9b;color:#fff;border-color:#456f9b}.button.primary:hover{background:#365e88;border-color:#365e88}.button.danger{color:#bd312a;border-color:#efc4c1}.button:disabled{opacity:.55;cursor:not-allowed}.icon-button{width:36px;padding:0}.input,select{min-height:36px;border:1px solid var(--input-border);border-radius:5px;background:var(--control);padding:0 11px;color:var(--ink);outline:none}.input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e5f0ff}.input{width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field label{color:#526071;font-size:12px}.field-help{color:var(--muted);font-size:11px}.message{padding:10px 12px;border-radius:5px;font-size:13px;background:#eef5ff;color:#245ea8}.message.error{background:#fff0ef;color:#b8322c}.strategy-message{margin:14px 17px 0;padding:10px 12px;border-left:3px solid #d3992b;background:#fff8e9;color:#75551a;font-size:13px;line-height:1.55}.strategy-message.executable{border-left-color:#d7473f;background:#fff0ef;color:#9f2c27}.funnel-grid{display:grid;grid-template-columns:repeat(8,minmax(100px,1fr));gap:1px;margin:14px 17px;overflow-x:auto;background:var(--line);border:1px solid var(--line);border-radius:5px}.funnel-step{min-width:100px;min-height:82px;padding:10px;display:flex;flex-direction:column;background:#fafbfc}.funnel-step span,.funnel-step small{color:var(--muted);font-size:11px}.funnel-step strong{margin:4px 0;font-size:20px}.funnel-step small{line-height:1.35;white-space:normal}.model-route-summary{display:grid;grid-template-columns:1.25fr repeat(6,minmax(145px,1fr));margin:14px 17px;border:1px solid var(--line);border-radius:6px;overflow-x:auto}.route-overview,.route-item{min-height:112px;padding:12px;border-right:1px solid var(--line);background:#fafbfc}.route-item:last-child{border-right:0}.route-overview{display:flex;flex-direction:column;justify-content:center;background:#f3f7fb}.route-overview span,.route-overview small,.route-item small{color:var(--muted);font-size:11px;line-height:1.45}.route-overview strong{margin:5px 0;font-size:18px}.route-item>div{display:flex;align-items:center;justify-content:space-between;gap:6px}.route-item strong{font-size:12px}.route-item p{min-height:34px;margin:9px 0 7px;color:var(--muted);font-size:11px;line-height:1.5}.selection-empty{height:86px;text-align:center;color:var(--muted)}.empty{min-height:170px;display:grid;place-items:center;color:var(--muted);font-size:13px}.loading{min-height:280px;display:grid;place-items:center;color:var(--muted)}.thermometer{min-height:275px;display:flex;flex-direction:column;justify-content:center;padding:28px 30px}.thermometer-score{text-align:center;margin-bottom:28px}.thermometer-score strong,.thermometer-score span{display:block}.thermometer-score strong{font-size:36px}.thermometer-score span{color:var(--muted);font-size:13px;margin-top:3px}.thermometer-track{position:relative;height:18px;display:grid;grid-template-columns:repeat(4,1fr);border:3px solid #fff;outline:1px solid #cfd5dc;border-radius:5px}.thermometer-track span.cold{background:#15966f}.thermometer-track span.calm{background:#8aa199}.thermometer-track span.warm{background:#e7b751}.thermometer-track span.hot{background:#d7473f}.thermometer-track i{position:absolute;top:-10px;width:3px;height:32px;background:#17212b;transform:translate(-1px);box-shadow:0 0 0 2px #fff}.thermometer-labels{display:flex;justify-content:space-between;margin-top:11px;color:var(--muted);font-size:11px}.thermometer-breadth{text-align:center;color:var(--muted);font-size:12px;margin-top:24px}.thermometer-breadth strong,.thermometer-breadth span{display:block}.thermometer-breadth strong{color:var(--text);font-size:13px;margin-bottom:5px}.sentiment-flags{min-height:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:14px}.sentiment-history-panel{margin-bottom:16px}.sentiment-layer-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}.sentiment-layer-strip>div{min-width:0;padding:14px 16px;border-right:1px solid var(--line)}.sentiment-layer-strip>div:last-child{border-right:0}.sentiment-layer-strip span,.sentiment-layer-strip strong,.sentiment-layer-strip small{display:block}.sentiment-layer-strip span{color:var(--muted);font-size:11px}.sentiment-layer-strip strong{margin:5px 0 4px;font-size:19px;overflow-wrap:anywhere}.sentiment-layer-strip small{color:var(--muted);font-size:11px;line-height:1.4}.sentiment-chart{padding:14px 16px 6px}.sentiment-missing{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px 16px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.sentiment-missing strong{color:var(--text)}.metric-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:6px;background:var(--panel);margin-bottom:16px}.metric-strip>div{padding:16px;border-right:1px solid var(--line)}.metric-strip>div:last-child{border-right:0}.metric-strip strong,.metric-strip span{display:block}.metric-strip strong{font-size:20px;margin-top:5px}.metric-strip span{color:var(--muted);font-size:12px}.search-box{display:flex;gap:8px;min-width:min(430px,100%)}.search-box .input{min-width:0}.search-box .button{flex:0 0 auto;white-space:nowrap}.news-list,.log-list{display:grid}.news-item,.log-item{padding:13px 0;border-bottom:1px solid #edf0f2}.news-item:last-child,.log-item:last-child{border-bottom:0}.news-item strong{display:block;font-size:13px;margin-bottom:5px}.news-link{display:block;color:#25364a;font-size:13px;font-weight:700;margin-bottom:5px;text-decoration:none;line-height:1.55}.news-link:hover{color:var(--accent)}.news-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.news-meta,.log-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:5px}.model-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.model-option{border:1px solid var(--line);border-radius:6px;padding:14px;cursor:pointer}.model-option.selected{border-color:var(--accent);box-shadow:0 0 0 2px #e5f0ff}.model-option input{margin-right:7px}.model-option p{color:var(--muted);font-size:12px;line-height:1.55;margin:8px 0 0}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,430px) 1fr;background:#f5faf7}.login-form-area{display:flex;flex-direction:column;justify-content:center;padding:56px;background:var(--panel);border-right:1px solid var(--line)}.login-form-area .brand-mark{background:#f3c978;color:#302c22}.login-form-area h1{font-size:28px;margin:28px 0 8px;letter-spacing:0}.login-form-area>p{color:var(--muted);margin:0 0 30px;line-height:1.6}.login-form{display:grid;gap:16px}.login-form .button{width:100%;margin-top:4px}.login-form .button.primary{background:#456f9b;border-color:#456f9b}.login-form .button.primary:hover{background:#365e88;border-color:#365e88}.login-form .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #456f9b25}.credential-hint{margin-top:22px;padding:12px;background:#f6f8fa;border:1px solid var(--line);border-radius:5px;color:#526071;font-size:12px}.login-visual{position:relative;isolation:isolate;overflow:hidden;background:#123a30;color:#f5fcf8;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(48px,8vw,112px)}.login-visual:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);background-size:56px 56px}.login-visual:after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:42%;background:#123a30}.login-signal{position:absolute;top:9%;right:7%;bottom:46%;left:7%;display:flex;align-items:flex-end;gap:clamp(5px,1.2vw,18px);border-bottom:1px solid #9bd7b54d}.login-signal span{position:relative;flex:1 1 0;min-width:5px;max-width:28px;background:#6fd2a77d;transform-origin:bottom;animation:login-signal-breathe 4.5s ease-in-out infinite alternate}.login-signal span:before{content:"";position:absolute;left:50%;bottom:-12px;width:1px;height:calc(100% + 24px);background:#b4efd275}.login-signal span:nth-child(4n){background:#edaa79b3}.login-signal span:nth-child(3n){animation-delay:-1.8s}.login-signal span:nth-child(5n){animation-delay:-3s}.login-visual-copy{position:relative;max-width:610px}.login-visual-label{display:inline-block;margin-bottom:18px;color:#a6e2bf;font-size:12px;font-weight:700;letter-spacing:0}.login-visual h2{font-size:36px;max-width:560px;line-height:1.25;letter-spacing:0;margin:0 0 16px}.login-visual p{color:#c4dfd1;max-width:520px;line-height:1.7;margin:0}@keyframes login-signal-breathe{0%{transform:scaleY(.96)}to{transform:scaleY(1.04)}}@media(prefers-reduced-motion:reduce){.login-signal span{animation:none}}@media(max-width:1000px){.login-visual{padding:48px}.login-visual h2{font-size:28px}.login-visual p{font-size:13px}.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-even{grid-template-columns:1fr}.sentiment-layer-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.sentiment-layer-strip>div{border-bottom:1px solid var(--line)}.metric-strip{grid-template-columns:repeat(3,1fr)}.metric-strip>div{border-bottom:1px solid var(--line)}.model-options{grid-template-columns:1fr}.model-route-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.route-overview,.route-item{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}}@media(max-width:720px){.app-header{min-height:108px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 10px;padding:8px 12px 0}.app-brand{flex-basis:auto}.app-brand>div{display:none}.workspace-dock{grid-column:1 / -1;grid-row:2;margin:8px -12px 0;padding:0 8px;overflow-x:auto}.workspace-choice{min-width:148px;min-height:46px;padding:0 12px}.header-health{grid-column:2;grid-row:1;align-items:flex-end;gap:0}.header-health small{display:none}.app-body{grid-template-columns:1fr;min-height:calc(100vh - 108px)}.global-header{height:auto;min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 10px;padding:8px 12px 0}.global-brand{flex-basis:auto}.global-brand-copy{display:none}.global-workspaces{grid-column:1 / -1;grid-row:2;margin:8px -12px 0;padding:0 8px;overflow-x:auto}.global-workspace-tab{min-width:122px;min-height:42px;padding:0 12px}.global-status{grid-column:2;grid-row:1;align-items:flex-end;gap:0}.global-status small{display:none}.sidebar{top:108px;height:auto;position:sticky;z-index:20;padding:10px 12px;flex-direction:row;align-items:center;overflow:hidden}.brand{padding:0 10px 0 0;flex:0 0 auto}.brand div,.logout-button span{display:none}.brand-mark{width:34px;height:34px}.workspace-switcher{display:flex;gap:6px;margin:0 10px 0 0}.workspace-tab{min-height:38px;padding:0 10px;flex:0 0 auto}.workspace-tab small,.nav-section-label{display:none}.sidebar nav{display:flex;flex:1 1 auto;min-width:0;overflow-x:auto}.sidebar nav a{min-width:42px;padding:0 11px;justify-content:center}.sidebar nav a span{display:none}.logout-button{margin:0 0 0 auto;width:42px;flex:0 0 42px;justify-content:center}.sidebar-actions{margin:0 0 0 auto;padding:0 0 0 6px;border-top:0;border-left:1px solid var(--line);display:flex;flex:0 0 auto;align-items:center}.theme-control{flex:0 0 auto;min-height:40px;margin:0 8px 0 0;padding:0}.theme-control-label{display:none}.theme-segments button{width:27px;height:25px}.login-theme-switcher.theme-control{top:12px;right:14px}.topbar{min-height:auto;height:auto;padding:0 12px;align-items:stretch;gap:0}.topbar{flex-direction:column}.topbar-right{width:100%;justify-content:space-between;gap:10px;margin:0}.topbar-status{width:auto;min-width:0;flex:1;min-height:40px;align-items:flex-end;justify-content:center;padding:8px 0}.topbar-summary{max-width:100%;overflow:hidden;text-overflow:ellipsis}.topbar-context{overflow:hidden;text-overflow:ellipsis}.page{padding:18px 14px 30px}.page-heading{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:13px}.stat-value{font-size:19px}.metric-strip{grid-template-columns:1fr 1fr}.sentiment-layer-strip>div{padding:12px}.form-row,.login-page{grid-template-columns:1fr}.login-form-area{min-height:100vh;padding:28px;background:var(--panel);border-top:1px solid var(--line)}.login-visual{display:none}.model-route-summary{grid-template-columns:1fr}.route-overview,.route-item{min-height:auto;border-right:0}}:root[data-theme=dark] .app-brand .brand-mark{background:#9bc2ee;color:#152435}:root[data-theme=dark] .workspace-choice.active small{color:var(--muted)}:root[data-theme=dark] .theme-segments button.active{box-shadow:0 1px 4px #0005}:root[data-theme=dark] .market-dot{box-shadow:0 0 0 4px #24483c}:root[data-theme=dark] .button.primary{background:#8db5df;border-color:#8db5df;color:#152435}:root[data-theme=dark] .button.primary:hover{background:#a7c9ed;border-color:#a7c9ed}:root[data-theme=dark] .button:hover{border-color:#718397}:root[data-theme=dark] .input:focus,:root[data-theme=dark] select:focus{box-shadow:0 0 0 3px #8db5df44}:root[data-theme=dark] :is(input:not([type=checkbox]),select,textarea){color:var(--ink);background-color:var(--control);border-color:var(--input-border)}:root[data-theme=dark] :is(input,textarea)::placeholder{color:#8fa69d}:root[data-theme=dark] .page :is(h1,h2,h3,h4){color:var(--ink)}:root[data-theme=dark] .page{color:var(--ink)}:root[data-theme=dark] .page :is(small,.panel-note,.field>span){color:var(--muted)}:root[data-theme=dark] .page :is(a,summary){color:var(--accent)}:root[data-theme=dark] .page :is(.panel,.stat,.metric-strip,.market-strip,.account-section,.quant-section,.flow-section,.tape,.apac-grid,.divergence-layout,.heat-layout,.breadth-layout,.research-chart,.study-overview,.baidu-market-section,.stock-dialog,.reason-dialog,.studio-image-dialog,.member-strategy-card,.model-overview-item,.detail-metrics>div){background:var(--panel);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .page.market-research :is(.tape,.apac-grid,.breadth-layout){background:transparent;border:0}:root[data-theme=dark] .page :is(.strategy-item,.image-dropzone,.trade-plan,.rule-group,.ai-explanation,.coverage,.metric-grid>div,.model-overview,.matched-index-summary,.daily-pnl-foot,.market-signal-list,.divergence-explanation,.market-chart-toolbar,.chart-toolbar,.study-results table,.heat-row,.finding,.selected-row,.candidate-detail-row>td,pre){background:var(--panel-muted);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .page :is(.decision-band,.regime,.research-risk){background:var(--panel-muted);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .page :is(.decision-band strong,.market-grid strong,.account-grid strong,.flow-grid strong,.quant-table td strong,.candidate-row a,.operations-strip strong,.apac-index strong,.trade-times b,.detail-summary strong){color:var(--ink)}:root[data-theme=dark] .page :is(.decision-band span,.decision-band small,.market-grid span,.account-grid span,.flow-grid span,.market-meta,.regime p,.regime small,.reason-header p,.snapshot-grid dt,.trade-times span,.detail-tabs button,.detail-summary,.section-heading span){color:var(--muted)}:root[data-theme=dark] .page .decision-band strong.decision-ready{color:var(--ink)}:root[data-theme=dark] .page .decision-band strong.decision-warning{color:#efc981}:root[data-theme=dark] .page .decision-band strong.decision-blocked{color:var(--positive)}:root[data-theme=dark] .page .market-meta span:first-child{color:var(--accent);background:#2d4055}:root[data-theme=dark] .page .market-meta span.stale{color:#efc981;background:#493c26}:root[data-theme=dark] .page :is(.reason-dialog,.stock-dialog){background:var(--panel);color:var(--ink)}:root[data-theme=dark] .page :is(.reason-header,.evidence-list li,.detail-tabs){border-color:var(--line)}:root[data-theme=dark] .page .detail-tabs button.active{color:var(--accent);border-color:var(--accent)}:root[data-theme=dark] .page :is(.strategy-item.selected,.signal-row.highlighted,.heat-row.active,.market-index-cell.current,.member-strategy-card:hover){background:#2d4055;border-color:#597698}:root[data-theme=dark] .page :is(.segments,.indicator-switch,.segmented-control){background:var(--panel-muted);border-color:var(--line)}:root[data-theme=dark] .page :is(.segments button.active,.indicator-switch button.active,.segmented-control button.active,.icon-tool,.news-refresh){background:var(--control);color:var(--accent);border-color:var(--line)}:root[data-theme=dark] .page :is(.market-signal-list p,.research-chart,.candle-readout strong,.stock-dialog,.strategy-item,.research-body){color:var(--ink)}:root[data-theme=dark] .page :is(.candle-readout,.event-readout,.indicator-readout,.measure-readout,.chart-legend,.heat-row small){color:var(--muted);border-color:var(--line)}:root[data-theme=dark] .studio :is(.strategy-item span,.strategy-item small,.list-help,.image-upload-copy span,.image-attachment-name span,.draft-history-row span){color:var(--muted)}:root[data-theme=dark] .studio :is(.image-upload-copy,.image-upload-copy strong,.image-attachment-name strong){color:var(--ink)}:root[data-theme=dark] .studio .image-attachment{background:var(--panel);border-color:var(--line)}:root[data-theme=dark] .studio .image-dropzone{border-color:#557269}:root[data-theme=dark] .studio :is(.warning,.draft-history-row small){color:#efc981}:root[data-theme=dark] .page :is(.tag.buy,.strategy-message.executable){background:#4e302e;color:#ffb3a9;border-color:#8a514b}:root[data-theme=dark] .page :is(.tag.sell,.run-executable){background:#244b3d;color:#8de0b7}:root[data-theme=dark] .page :is(.tag.warn,.run-gated,.strategy-message){background:#4b402b;color:#efc981;border-color:#8d7447}:root[data-theme=dark] .message{background:#203d48;color:#aed7ee}:root[data-theme=dark] .message.error{background:#4a302f;color:#ffb8af}:root[data-theme=dark] .generation-feedback{background:#203d48;border-color:#416273;color:var(--ink)}:root[data-theme=dark] .generation-feedback :is(strong,p){color:var(--ink)}:root[data-theme=dark] .generation-feedback.success{background:#214339;border-color:#477f69}:root[data-theme=dark] .generation-feedback.error{background:#4a302f;border-color:#89524c}:root[data-theme=dark] .login-page{background:var(--bg)}:root[data-theme=dark] .login-auth-page .login-form-area{background:#141f2ee8;border-color:var(--line);box-shadow:0 22px 75px #0007}:root[data-theme=dark] .login-chart-shade{background:#05121c33}:root[data-theme=dark] .login-auth-page .login-form-area :is(h1,.brand strong,.field label){color:var(--ink)}:root[data-theme=dark] .login-methods button{color:var(--muted)}:root[data-theme=dark] .login-methods button.active{color:var(--accent)}:root[data-theme=dark] .login-auth-page .login-form-area .login-form .button.primary{background:#8db5df;border-color:#8db5df;color:#152435}:root[data-theme=dark] .login-mode-switch{color:var(--accent)}:root[data-theme=dark] .credential-hint{background:var(--panel-muted);color:var(--muted)}:root[data-theme=dark] .password-page{background:var(--bg)}:root[data-theme=dark] .password-card{background:var(--panel);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] .password-card :is(h1,h2,strong,label){color:var(--ink)}:root[data-theme=dark] .password-field input{background:var(--control);border-color:var(--input-border);color:var(--ink)}:root[data-theme=dark] .studio-image-dialog{background:var(--panel);color:var(--ink)}:root[data-theme=dark] .studio-image-dialog header{border-color:var(--line)}:root[data-theme=dark] .studio-image-dialog header button{background:var(--panel-muted);color:var(--ink)}
