/* PowerX Flux：轻透玻璃外壳与高对比数据层，经典模式保留原主题。 */
.ex-mode-switch{display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:999px;background:var(--panel);flex:none}
.ex-mode-switch button{border:0;border-radius:999px;padding:var(--space-4) var(--space-8);color:var(--tx-2);font:inherit;font-size:var(--text-caption);cursor:pointer;background:transparent;white-space:nowrap}
.ex-mode-switch button.on{background:var(--ai-fill-soft,var(--pri-soft));color:var(--ai-ink-accent,var(--pri-tx))}
.ex-mode-switch button[data-mode=ai].on{background:linear-gradient(110deg,#2864ed,#20b6c3);color:#fff}
/* AI 外壳可承载驾驶舱和业务页；经典主题不受这些 token 影响。 */
body.ex-ai-mode{
  /* 色系、明暗、材质互相独立；无 data 属性时采用 ocean / light / glass。 */
  --ai-accent:#3970dc;--ai-accent-rgb:57,112,220;--ai-accent-start:#5094fa;--ai-accent-end:#2d71e5;--ai-accent-ink:#2462c9;--ai-accent-dark:#8ab9ff;--ai-accent-peer:#24c5b3;
  --ai-glow-1:192,216,255;--ai-glow-2:223,211,255;--ai-glow-3:210,240,233;--ai-glow-a1:.61;--ai-glow-a2:.52;--ai-glow-a3:.44;
  --ai-bg-light:#f7f9fd;--ai-bg-dark:#101827;--ai-bg:var(--ai-bg-light);--ai-panel:#fff;--ai-panel-2:#f5f9fd;--ai-panel-3:#eef5fc;
  --ai-text:#172941;--ai-text-2:#647994;--ai-text-3:#7f90a7;--ai-line:#d8e3f0;--ai-line-2:#c5d5e8;--ai-chart-grid:#dce6f1;--ai-chart-axis:#62748d;
  --ai-side-bg:linear-gradient(160deg,#f8fbffb8,#f7faff94);--ai-top-bg:#ffffff9e;--ai-side-ink:#425773;--ai-side-muted:#6c809b;
  --ai-surface:linear-gradient(150deg,#fffffff2,#ffffffd1);--ai-surface-alt:linear-gradient(145deg,#ffffffed,#ffffffc9);--ai-kpi:linear-gradient(140deg,#ffffffe6,#ffffff9c);
  --ai-control:linear-gradient(160deg,#fffffff5,#ffffff8c);--ai-control-flat:#ffffff85;--ai-soft:#ffffff8c;--ai-raised:#f4f8ff9c;--ai-chart:linear-gradient(#ffffffa6,#ffffff38);
  --ai-edge:#ffffffd9;--ai-edge-strong:#ffffffed;--ai-highlight:#fff;--ai-shadow-color:#35598b08;--ai-ring:#738aaa10;--ai-hover:#fffffff5;
  --ai-stepper:linear-gradient(115deg,#ffffff38,#ffffff14);--ai-selected:linear-gradient(145deg,#ffffffe8,#ffffff70);--ai-nav-selected:linear-gradient(125deg,#ffffffdf,#deebffc4);
  --ai-violet-wash:#cfc2ff45;--ai-cyan-wash:#b8e7ff52;--ai-agent-wash:#e8dcff38;--ai-card-radius:18px;--ai-control-radius:10px;--ai-shell-blur:blur(24px) saturate(1.3);
  --ai-surface-shadow:inset 0 1px var(--ai-highlight),0 0 0 1px var(--ai-ring),0 4px 18px var(--ai-shadow-color);--ai-control-shadow:inset 0 1px var(--ai-highlight),0 1px 4px var(--ai-shadow-color);
  --cx-gutter:clamp(10px,.65vw,14px);--cx-bg:var(--ai-bg);--cx-surface:var(--ai-panel);--cx-raised:var(--ai-panel-2);--cx-border:var(--ai-line);--cx-text:var(--ai-text);--cx-muted:var(--ai-text-2);--cx-accent:var(--ai-accent);
  --cx-glass:var(--ai-surface-alt);--cx-glass-shadow:var(--ai-surface-shadow);--cx-blur:none;
  --bg:var(--ai-bg);--panel:var(--ai-panel);--panel-2:var(--ai-panel-2);--panel-3:var(--ai-panel-3);--line:var(--ai-line);--line-2:var(--ai-line-2);--tx:var(--ai-text);--tx-2:var(--ai-text-2);--tx-3:var(--ai-text-3);--tx-inv:#fff;
  --pri:var(--ai-accent);--pri-rgb:var(--ai-accent-rgb);--pri-tx:var(--ai-accent-ink);--pri-soft:rgba(var(--ai-accent-rgb),.10);--acc:#1295ac;--acc-rgb:18,149,172;--hover:rgba(var(--ai-accent-rgb),.08);
  --ok:#209f7c;--err:#d66c60;--warn:#b98132;--warn-soft:#fff3df;--info:var(--ai-accent);--up:#d64f4c;--up-soft:#fdeeed;--down:#188655;--down-soft:#e7f6ed;
  --tabbar-h:0px;--bg-img:none;--panel-border:1px solid var(--line);--shadow:var(--ai-surface-shadow);--shadow-lg:0 18px 48px #25497424;--blur:none;--chart-grid:var(--ai-chart-grid);--chart-axis:var(--ai-chart-axis);
  --c1:var(--ai-accent);--c2:#159bab;--c3:#e58c37;--c4:#8d69d4;--c5:#d6ab3f;--c6:#d76e65;--c7:#28a87f;--c8:#805dc3;color-scheme:light;
  --px-bg:var(--ai-bg);--px-panel:var(--ai-panel);--px-panel-2:var(--ai-panel-2);--px-line:var(--ai-line);--px-line-2:var(--ai-line-2);--px-text:var(--ai-text);--px-muted:var(--ai-text-2);--px-hover:var(--hover);--px-brand:var(--ai-accent);--px-brand-rgb:var(--ai-accent-rgb);--px-brand-soft:var(--pri-soft);
  color:var(--ai-text);background-color:var(--ai-bg);
  background-image:radial-gradient(ellipse at 0% 5%,rgba(var(--ai-glow-1),var(--ai-glow-a1)),transparent 44%),radial-gradient(ellipse at 96% 0%,rgba(var(--ai-glow-2),var(--ai-glow-a2)),transparent 42%),radial-gradient(ellipse at 90% 95%,rgba(var(--ai-glow-3),var(--ai-glow-a3)),transparent 48%);
  background-attachment:fixed;background-size:100vw 100vh
}
body.ex-ai-mode[data-ai-theme=dark]{
  --ai-bg:var(--ai-bg-dark);--ai-panel:#182332;--ai-panel-2:#1d2a3c;--ai-panel-3:#26364b;--ai-text:#e8eef8;--ai-text-2:#b3c2d7;--ai-text-3:#8fA2bd;--ai-line:#304157;--ai-line-2:#455b76;--ai-chart-grid:#324359;--ai-chart-axis:#a9bbd2;
  --ai-ink-primary:var(--ai-text);--ai-ink-secondary:var(--ai-text-2);--ai-ink-muted:var(--ai-text-3);--ai-ink-accent:var(--ai-accent-dark);--ai-ink-violet:#c2a8fa;--ai-ink-ok:#6dcfae;--ai-ink-warn:#e4ba75;--ai-ink-error:#edaa9b;--ai-fill-base:var(--ai-panel);--ai-fill-soft:#ffffff08;--ai-edge-neutral:#93b0d62b;
  --ai-side-bg:linear-gradient(160deg,#1b2a3cce,#142235bf);--ai-top-bg:#18273aba;--ai-side-ink:#c4d2e4;--ai-side-muted:#93a8c4;
  --ai-surface:linear-gradient(150deg,#1e2d40ed,#182638dc);--ai-surface-alt:linear-gradient(145deg,#1e2d40ed,#19273bd9);--ai-kpi:linear-gradient(140deg,#23354aeb,#1c2b40bd);
  --ai-control:linear-gradient(160deg,#33465bc9,#24364a9e);--ai-control-flat:#34485e70;--ai-soft:#4e678333;--ai-raised:#30465d70;--ai-chart:linear-gradient(#16233530,#15223700);
  --ai-edge:#9cb9da26;--ai-edge-strong:#a7c4e038;--ai-highlight:#d5e8ff14;--ai-shadow-color:#040b1426;--ai-ring:#00000016;--ai-hover:#425c7580;
  --ai-stepper:linear-gradient(115deg,#a0bddc0e,#aac9e804);--ai-selected:linear-gradient(145deg,#56779c35,#46638a1f);--ai-nav-selected:linear-gradient(125deg,rgba(var(--ai-accent-rgb),.28),rgba(var(--ai-accent-rgb),.12));
  --ai-violet-wash:#9a6de01c;--ai-cyan-wash:#39b3d61c;--ai-agent-wash:#a477e315;--ai-glow-a1:.12;--ai-glow-a2:.08;--ai-glow-a3:.07;--pri-tx:var(--ai-accent-dark);--px-brand:var(--ai-accent-dark);--c1:var(--ai-accent-dark);--shadow-lg:0 18px 48px #0006;color-scheme:dark
}
body.ex-ai-mode[data-ai-skin=classic]{
  --ai-side-bg:var(--ai-panel-2);--ai-top-bg:var(--ai-panel);--ai-surface:var(--ai-panel);--ai-surface-alt:var(--ai-panel);--ai-kpi:var(--ai-panel);--ai-control:var(--ai-panel);--ai-control-flat:var(--ai-panel);--ai-soft:var(--ai-panel-2);--ai-raised:var(--ai-panel-2);--ai-chart:transparent;
  --ai-edge:var(--ai-line);--ai-edge-strong:var(--ai-line-2);--ai-highlight:transparent;--ai-ring:transparent;--ai-violet-wash:transparent;--ai-cyan-wash:transparent;--ai-agent-wash:transparent;--ai-stepper:transparent;--ai-selected:var(--ai-panel);--ai-nav-selected:rgba(var(--ai-accent-rgb),.12);
  --ai-card-radius:12px;--ai-control-radius:7px;--ai-shell-blur:none;--ai-surface-shadow:0 1px 3px var(--ai-shadow-color);--ai-control-shadow:none;background-image:none
}
body.ex-ai-mode :is(.tabbar,.backdrop,.ex-fab){display:none!important}
body.ex-ai-mode .main{background:transparent;transition:none}
body.ex-ai-mode .sidebar{
  --sb-tx:var(--ai-side-ink);--sb-tx-hi:var(--ai-text);--sb-group:var(--ai-side-muted);--sb-hover:var(--ai-soft);--sb-line:var(--ai-line);--sb-active:var(--ai-accent);
  background:var(--ai-side-bg);color:var(--sb-tx);border:0;border-right:1px solid var(--ai-edge);box-shadow:inset -1px 0 var(--ai-ring),2px 0 12px var(--ai-shadow-color);backdrop-filter:var(--ai-shell-blur);-webkit-backdrop-filter:var(--ai-shell-blur);transition:none
}
body.ex-ai-mode .sidebar .brand{border-bottom-color:var(--ai-ring)}
body.ex-ai-mode .sidebar .brand-mark{background:linear-gradient(145deg,#7ab2ff,#3481e8 52%,#45c0c8);box-shadow:inset 0 1px #ffffffb3,0 4px 12px #3174ca24}
body.ex-ai-mode .sidebar .brand .t1{color:var(--ai-ink-primary,#193452)}body.ex-ai-mode .sidebar .brand .t2{color:var(--ai-side-muted)}
body.ex-ai-mode .sidebar .nav-item{border:1px solid transparent;border-radius: var(--r);color:var(--ai-side-ink)}
body.ex-ai-mode .sidebar .nav-item:hover{background:var(--ai-soft);border-color:var(--ai-edge);color:var(--ai-ink-accent,var(--ai-accent-ink))}
body.ex-ai-mode .sidebar .nav-item.active,html[data-nav="mini"] body.ex-ai-mode .nav-sec.has-active>.nav-item{background:var(--ai-nav-selected);border-color:var(--ai-edge-strong);color:var(--ai-ink-accent,var(--ai-accent-ink));box-shadow:var(--ai-control-shadow)}
body.ex-ai-mode .sidebar .nav-item.active::before{content:none}
body.ex-ai-mode #nav[data-mode="ai"]>.nav-item{margin-block:var(--space-4);min-height:36px}
html:not([data-nav="mini"]) body.ex-ai-mode #nav[data-mode="ai"]>.nav-item{padding:0 var(--space-12)}
body.ex-ai-mode .sidebar .nav-item svg.i{color:inherit;opacity:.95}
body.ex-ai-mode .sidebar .nav-item>.nav-ico{display:inline-grid!important}body.ex-ai-mode .sidebar .nav-sub .nav-item>.nav-ico{display:none!important}
body.ex-ai-mode .sidebar .nav-sub{padding-left:var(--space-12)}body.ex-ai-mode .sidebar .nav-sub .nav-item{color:var(--ai-side-ink);font-size:var(--text-caption)}body.ex-ai-mode .sidebar .nav-sub .nav-item.active{color:var(--ai-ink-accent,var(--ai-accent-ink))}
body.ex-ai-mode .sidebar .sb-foot{border-top-color:var(--ai-ring);background:transparent;color:var(--ai-side-muted)}
body.ex-ai-mode .sidebar .ai-return-classic{display:flex;align-items:center;justify-content:center;gap:var(--space-8);margin:var(--space-12) var(--space-12) var(--space-12);padding:var(--space-8) var(--space-8);min-width:0;border:1px solid var(--ai-edge);border-radius: var(--r);background:var(--ai-control-flat);color:var(--ai-side-muted);font:inherit;font-size:var(--text-caption);cursor:pointer;box-shadow:var(--ai-control-shadow)}
body.ex-ai-mode .sidebar .ai-return-classic:hover{background:var(--ai-hover);border-color:var(--ai-edge-strong);color:var(--ai-ink-accent,var(--ai-accent-ink))}body.ex-ai-mode .sidebar .ai-return-classic .i{width:15px;height:15px}
html[data-nav="mini"] body.ex-ai-mode .sidebar .ai-return-classic{margin:var(--space-12) var(--space-8);padding:var(--space-8) 0}html[data-nav="mini"] body.ex-ai-mode .sidebar .ai-return-classic span{display:none}
body.ex-ai-mode .sidebar .sb-mini-btn{border-color:var(--ai-edge);color:var(--ai-side-muted);background:var(--ai-control-flat)}body.ex-ai-mode .sidebar .sb-mini-btn:hover{background:var(--ai-hover);color:var(--ai-ink-accent,var(--ai-accent-ink))}
body.ex-ai-mode .topbar{padding-inline:var(--cx-gutter);background:var(--ai-top-bg)!important;border-bottom:1px solid var(--ai-edge)!important;color:var(--ai-text);box-shadow:0 1px 0 var(--ai-ring);backdrop-filter:var(--ai-shell-blur);-webkit-backdrop-filter:var(--ai-shell-blur)}
body.ex-ai-mode .topbar .crumb{border:0}
/* AI 桌面导航常驻，顶栏不再重复提供侧栏折叠入口。 */
@media(min-width:901px){body.ex-ai-mode .topbar #sb-toggle{display:none}}
body.ex-ai-mode :is(.st-chip,.ai-btn){background:var(--ai-control-flat)!important;border-color:var(--ai-edge)!important;color:var(--ai-ink-secondary,#315683)!important;box-shadow:var(--ai-control-shadow)}
body.ex-ai-mode .ai-btn b{color:inherit}
body.ex-ai-mode #view{max-width:none;background:transparent}
body.ex-ai-cockpit #view{padding:0;width:100%;margin:0;animation:none}
body.ex-ai-mode:not(.ex-ai-cockpit) :is(.card,.glass-surface){background:var(--cx-glass);border-color:var(--cx-border);box-shadow:var(--cx-glass-shadow);backdrop-filter:var(--cx-blur);-webkit-backdrop-filter:var(--cx-blur)}
body.ex-ai-mode:not(.ex-ai-cockpit) .page-head h1,body.ex-ai-mode:not(.ex-ai-cockpit) .card-h{color:var(--ai-ink-primary,#203653)}
body.ex-ai-mode:not(.ex-ai-cockpit) :is(.tbl,.table-wrap){color:var(--ai-ink-primary,#314a69);background:var(--ai-fill-base,#fff);border-color:var(--ai-edge-neutral,#e0e7f1)}body.ex-ai-mode:not(.ex-ai-cockpit) .tbl th{color:var(--ai-ink-secondary,#627996);background:var(--ai-fill-soft,#f5f8fc)}body.ex-ai-mode:not(.ex-ai-cockpit) .tbl td{border-color:var(--ai-edge-neutral,#e0e9f3)}body.ex-ai-mode:not(.ex-ai-cockpit) .tbl tr:hover td{background:var(--ai-fill-soft,#f1f6fd)}
.cx{--tx:var(--ai-text);--tx-2:var(--ai-text-2);--tx-3:var(--ai-text-3);--line:var(--ai-line);--panel:var(--ai-panel);--panel-2:var(--ai-panel-2);--panel-3:var(--ai-panel-3);--pri:var(--ai-accent);--pri-rgb:var(--ai-accent-rgb);--pri-tx:var(--ai-ink-accent,var(--ai-accent-ink));--line-2:var(--ai-line-2);--tx-inv:#fff;--cx-cyan:#108c94;--cx-blue:#3970dc;position:relative;min-height:calc(100dvh - var(--top-h));color:var(--cx-text);background:transparent;overflow:hidden}
.cx-inner{width:100%;max-width:none;margin:0;padding:16px var(--cx-gutter) 24px}
.cx a{color:var(--ai-ink-accent,#2563eb);text-decoration:none}.cx a:hover{color:var(--ai-ink-accent,#1c48b9)}
.cx button,.cx input{font-family:inherit}
.cx-eyebrow{display:block;color:var(--ai-ink-secondary,#6e84a5);font-size:var(--text-caption);font-weight:600;letter-spacing:1.7px}
.cx-page-heading{display:flex;align-items:center;gap:var(--space-20);flex-wrap:wrap;margin-bottom:var(--space-8)}
.cx-page-title{min-width:0}.cx-page-title h1{margin:var(--space-4) 0 var(--space-4);font-size:var(--text-metric);line-height: var(--leading-body);letter-spacing:-.5px;font-weight:600;color:var(--ai-ink-primary,#17243c)}
.cx-page-title p{margin:0;color:var(--ai-ink-secondary,#71809a);font-size:var(--text-caption);line-height: var(--leading-body)}.cx-page-title .cx-eyebrow{font-size:var(--text-caption);letter-spacing:1.6px}
.cx-date-control,.cx-date{display:flex;align-items:center;gap:var(--space-8);flex-wrap:wrap}
.cx-date-control{margin-left:var(--space-8)}.cx-date-control label,.cx-date label{font-size:var(--text-caption);color:var(--ai-ink-secondary,#64738d)}
.cx-date-control input,.cx-date input{font-size:var(--text-caption);color:var(--ai-ink-primary,#253756);background:var(--ai-fill-base,#fff);border:1px solid var(--ai-edge-neutral,#dae3f0);border-radius: var(--r-sm);height:34px;max-width:155px;padding:0 var(--space-8);color-scheme:inherit}
.cx-date-control input:focus-visible,.cx-date input:focus-visible{outline:2px solid #97b6ff;outline-offset:2px}
.cx-page-tools{padding-top:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-12);margin-left:auto;color:var(--ai-ink-secondary,#72819a);font-size:var(--text-caption);flex-wrap:wrap}
.cx-live{display:inline-flex;align-items:center;gap:var(--space-8);font-size:var(--text-caption);color:var(--ai-ink-secondary,#72819a)}.cx-live i,.cx-station-label i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#19bd9c;flex:none;box-shadow:0 0 0 3px #19bd9c12}
.cx-btn{font:inherit;font-size:var(--text-caption);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);min-height:33px;padding:var(--space-8) var(--space-12);background:var(--ai-fill-base,#fff);border:1px solid var(--ai-edge-neutral,#dce5f2);color:var(--ai-ink-secondary,#405775);box-shadow:inset 0 1px #ffffffc9;border-radius: var(--r-sm);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .18s,border-color .18s,color .18s}
.cx-btn:hover{background:var(--ai-fill-soft,#f1f6ff);border-color:#aac4fa;color:var(--ai-ink-accent,#235edc)}.cx-btn.primary{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:600;box-shadow:0 2px 5px #2563eb14}.cx-btn.primary:hover{background:#1e54d0;border-color:#1e54d0}
.cx-btn:disabled{opacity:.45;cursor:default}.cx-btn .i{width:15px;height:15px}.cx-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:3px}
.cx-pill{display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-8);border:1px solid #d8e6ff;border-radius:999px;color:var(--ai-ink-accent,#2563eb);font-size:var(--text-caption);line-height: var(--leading-body);background:var(--ai-fill-soft,#edf3ff);white-space:nowrap}
.cx-pill.amber{color:var(--ai-ink-warn,#ae6a13);border-color:var(--ai-edge-neutral,#f3dfb9);background:var(--ai-fill-soft,#fff6e8)}
#cx-strategy{scroll-margin-top:calc(var(--top-h) + 16px)}

/* 可点击的五阶段进度放在工作区首屏，每个节点的状态取自实际计算事件。 */
.co-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-8);margin-bottom:var(--space-12)}
.co-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-12) var(--space-8);min-width:0;background:transparent;border:1px solid transparent;border-radius: var(--r-sm);color:var(--ai-ink-primary,#334766);cursor:pointer;font:inherit;transition:background .18s,border-color .18s}
.co-stage::after{content:'';position:absolute;left:calc(50% + 24px);top:23px;width:calc(100% - 42px);height:1px;background:#bdd1e88c;pointer-events:none}
.co-stage:last-child::after{display:none}.co-stage[data-state=done]::after{background:linear-gradient(90deg,#6b9ed6a6,#72c8c38c)}
.co-node{display:grid;place-items:center;position:relative;z-index:1;width:29px;height:29px;border-radius:50%;background:var(--ai-fill-soft,#f2f6ff);border:1px solid var(--ai-edge-neutral,#c1d2f3);font-size:var(--text-secondary);font-weight:600;color:var(--ai-ink-accent,#4f7add);box-shadow:0 0 0 4px var(--cx-bg)}
.co-stage b{font-size:var(--text-body);line-height: var(--leading-body);font-weight:600;color:var(--ai-ink-primary,#283b59)}.co-stage small{font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-secondary,#75849d)}.co-stage em{font-size:var(--text-caption);line-height: var(--leading-body);font-style:normal;color:var(--ai-ink-secondary,#7a8ba6)}
.co-stage.on{background:var(--ai-fill-base,#fff);border:1px solid var(--ai-edge-neutral,#c9dcf5);box-shadow:0 3px 12px #3b72bc12}.co-stage.on b{color:var(--ai-ink-accent,var(--pri-tx))}.co-stage.on .co-node{box-shadow:0 0 0 4px #edf4ff}
.co-stage[data-state=done] .co-node{background:linear-gradient(145deg,#5f92e7,#4279d0);border-color:#80a8e5;color:#fff;box-shadow:inset 0 1px #c9e0ff66}.co-stage[data-state=partial] .co-node{background:var(--ai-fill-soft,#fff6e7);border-color:var(--ai-edge-neutral,#e8c993);color:var(--ai-ink-warn,#b8751b)}
.co-stage[data-state=blocked] .co-node{background:var(--ai-fill-soft,#fff6e7);border-color:var(--ai-edge-neutral,#e8c993);color:var(--ai-ink-warn,#b8751b)}.co-stage[data-state=failed] .co-node{background:var(--ai-fill-soft,#fff0ee);border-color:var(--ai-edge-neutral,#f1b6ae);color:var(--ai-ink-error,#ce6553)}
.co-stage[data-state=running] .co-node::after{content:'';position:absolute;inset:-6px;border:2px solid transparent;border-top-color:#3a75f6;border-right-color:#23c2bd;border-radius:50%;animation:co-spin 1.4s linear infinite}
.co-stage:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.co-stage:hover{background:var(--ai-fill-soft,#eef4fc)}
.co-progress{position:relative;display:flex;gap:var(--space-12);align-items:center;justify-content:space-between;padding:0 var(--space-4) var(--space-12);color:var(--ai-ink-secondary,#77869f);font-size:var(--text-caption);margin-bottom:var(--space-12)}
.co-progress>span:first-child{font-weight:500;color:var(--ai-ink-secondary,#415e83)}.co-progress>div{position:absolute;bottom:0;left:2px;width:104px;height:3px;border-radius: var(--r-sm);background:#d9e5f0a3;overflow:hidden}.co-progress:not(.is-running)>div{display:none}.co-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3575f7,#24c5b3);transition:width .25s}
.co-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-16);align-items:start}.co-content{min-width:0}.co-content>[hidden]{display:none!important}
.co-pane-body{min-width:0}.co-pane-heading{display:flex;gap:var(--space-20);align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-24)}.co-pane-heading h3{font-size:var(--text-page-title);margin:var(--space-8) 0 var(--space-8);font-weight:600;letter-spacing:-.2px;color:var(--ai-ink-primary,#20314e)}.co-pane-heading p{font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-secondary,#71819a);margin:0}.co-pane-heading .cx-eyebrow{font-size:var(--text-caption);letter-spacing:1.7px}.co-pane-heading .cx-pill{margin-top:var(--space-4)}
.co-content>section:not(#co-pane-data):not(#co-pane-strategy)>.co-pane-body,.co-soc-panel{padding:var(--space-24);border:1px solid var(--cx-border);border-radius: var(--r);background:var(--cx-glass);box-shadow:var(--cx-glass-shadow)}

/* 数据准备：带三维场景的站点卡 + 数据就绪清单，不再独占整屏。 */
.co-data-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,1fr);gap:var(--space-16);align-items:stretch}
#cx-overview,#co-data-inputs{min-width:0}.cx-hero{min-width:0}.cx-scene-card{position:relative;min-width:0;overflow:hidden;border:1px solid #306d9f;border-radius: var(--r-lg);background:radial-gradient(ellipse at 78% 32%,#14c9d829,transparent 60%),linear-gradient(122deg,#174b8a,#0878ac 60%,#0798a7);box-shadow:0 5px 18px #174b8a19;color:#fff}
.cx-scene-card::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#b7e5ff0a 1px,transparent 1px),linear-gradient(90deg,#b7e5ff0a 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(transparent,#000 60%)}
.cx-hero-heading{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-20) var(--space-24) 0;pointer-events:none}
.cx-hero-heading h2{font-size:var(--text-metric);font-style:italic;letter-spacing:-.8px;line-height: var(--leading-body);margin:0 0 var(--space-8);color:#fff;font-weight:600}.cx-hero-heading h2 em{font-size: var(--text-secondary);font-weight:500}.cx-brand-x{color:#6ff0d6;display:inline-block;transform:skew(-8deg)}
.cx-hero-heading .cx-eyebrow{color:#c2e2ff;letter-spacing:1.8px;font-size:var(--text-caption);margin-bottom:var(--space-8)}.cx-hero-heading p,.cx-lead{font-size:var(--text-caption);line-height: var(--leading-body);color:#d6eaff;margin:0}.cx-lead span{margin-left:var(--space-12)}
.cx-station-label{display:flex;align-items:center;gap:var(--space-8);flex-wrap:wrap;justify-content:flex-end;color:#f3faff;font-size:var(--text-caption);font-weight:500}.cx-station-label small{width:100%;color:#c5e4f4;font-size:var(--text-caption);text-align:right}.cx-station-label i{background:#7df4d8;box-shadow:0 0 7px #75f3d755}
.cx-hero-art{position:relative;min-width:0;height:260px;isolation:isolate}
.cx-scene{position:absolute;inset:-20px 5% 0;z-index:1;min-width:0}
.cx-scene canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;outline:none}.cx-scene canvas.dragging{cursor:grabbing}.cx-scene canvas:focus-visible{outline:2px solid #b6f5ff;outline-offset:-4px;border-radius:12px}
.cx-scene-aura{position:absolute;inset:9% 5% 14%;background:radial-gradient(ellipse,#16c7d52b,transparent 65%);pointer-events:none}
.cx-scene::before{content:'';position:absolute;width:72%;height:22%;left:14%;bottom:7%;border:1px solid #abedff30;border-radius:50%;box-shadow:0 0 18px #45c5b819,inset 0 0 20px #45c5b80d;transform:rotate(-7deg);pointer-events:none;z-index:-1}
.cx-scene-fallback{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;height:100%;color:#defaff}.cx-scene-fallback img{width:100%;height:100%;object-fit:contain}
.cx-scene[data-scene=ready] .cx-scene-fallback{display:none}
.cx-scene-controls{position:relative;padding:var(--space-8) var(--space-12) var(--space-4);display:flex;gap:var(--space-8);align-items:center;justify-content:center;flex-wrap:wrap;z-index:2}
.cx-scene-controls>span{font-size:var(--text-caption);color:#e2f2ff;margin-right:var(--space-4)}.cx-scene-controls .cx-btn{min-height:27px;padding:var(--space-4) var(--space-8);font-size:var(--text-caption);background:#d5edff1a;border:1px solid #d3edff59;color:#edfaff;box-shadow:inset 0 1px #ffffff26}
.cx-scene-controls .cx-btn:hover{background:#14315eb3;border-color:#e1f4ff99}.cx-scene-controls button[aria-pressed=true]{background:#ddfbff;color:#174b73;border-color:#b5f2ee}
.cx-art-label{position:relative;display:block;padding:0 var(--space-8) var(--space-8);text-align:center;font-size:var(--text-caption);line-height: var(--leading-body);letter-spacing:.1px;color:#d0eaf7}
.cx-scene-stats{position:relative;z-index:2;display:flex;align-items:center;gap:var(--space-20);padding:var(--space-12) var(--space-24);border-top:1px solid #bce4fb2e;background:#105a85;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.cx-scene-stats>div{min-width:0;display:flex;align-items:baseline;gap:var(--space-8);flex-wrap:wrap}.cx-scene-stats>div+div{border-left:1px solid #c8eaff38;padding-left:var(--space-20)}
.cx-scene-stats span{font-size:var(--text-caption);color:#d1e7fa}.cx-scene-stats strong{font-size:var(--text-page-title);font-weight:600;color:#fff;font-variant-numeric:tabular-nums}.cx-scene-stats small{font-size:var(--text-caption);color:#d0e7f6}.cx-scene-stats p{font-size:var(--text-caption);color:#d0e7f6;margin:0}
.cx-scene-stats .cx-capacity{display:flex;align-items:center;gap:var(--space-24);flex-wrap:nowrap}.cx-capacity>div{display:flex;align-items:center;gap:var(--space-8);min-width:0}.cx-capacity p{margin:0 0 var(--space-4)}.cx-capacity strong small{margin-left:var(--space-4);font-weight:400}.cx-spec-icon .i{width:18px;height:18px;color:#a3e9f4}.cx-scene-stats .cx-soc{margin-left:auto;align-items:center;gap:var(--space-8);flex-wrap:nowrap}.cx-soc>div:last-child{display:flex;flex-direction:column;gap:var(--space-4)}.cx-soc b{font-size:var(--text-caption);font-weight:500;color:#e8f7ff}.cx-soc small{white-space:nowrap}.cx-scene-stats .cx-soc-ring{width:42px;height:42px;flex:none;border-radius:50%;padding:var(--space-4);background:conic-gradient(#80f5d4 var(--soc),#6d9ab45c 0)}
.cx-scene-stats .cx-soc-ring>span{height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#285e86;font-size:var(--text-secondary);color:#fff;font-weight:600}
.cx-revenues{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);margin-top:var(--space-16);min-width:0}
.cx-revenue{position:relative;min-width:0;padding:var(--space-16) var(--space-20);background:var(--cx-glass);border:1px solid var(--cx-border);border-radius: var(--r);box-shadow:var(--cx-glass-shadow);overflow:hidden}
.cx-revenue-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);font-size:var(--text-caption);color:var(--ai-ink-secondary,#5c6e89)}.cx-revenue-title>span:first-child{display:flex;align-items:center;gap:var(--space-8)}.cx-revenue-title .i{width:15px;height:15px;color:var(--ai-ink-ok,#1ba59c)}
.cx-mini-label{font-size:var(--text-caption);letter-spacing:.7px;color:var(--ai-ink-muted,#8595ad);font-weight:500}
.cx-revenue strong{display:block;font-size:var(--text-metric);font-weight:600;letter-spacing:-.6px;margin:var(--space-8) 0 var(--space-4);color:var(--ai-ink-primary,#152d52);font-variant-numeric:tabular-nums}.cx-revenue strong small{font-size:var(--text-caption);font-weight:400;margin-left:var(--space-8);letter-spacing:0;color:var(--ai-ink-secondary,#71819a)}
.cx-revenue p{font-size:var(--text-caption);margin:0;color:var(--ai-ink-secondary,#657995);line-height: var(--leading-body)}.cx-revenue-date{font-size:var(--text-caption);color:var(--ai-ink-secondary,#7a8ca5);margin-top:var(--space-4);line-height: var(--leading-body)}.cx-revenue-line{height:2px;margin-top:var(--space-12);background:linear-gradient(90deg,#26b7a3,#b9e9e0 55%,transparent);border-radius:99px}.cx-revenue.blue .cx-revenue-line{background:linear-gradient(90deg,#4b7df4,#cedcff 55%,transparent)}.cx-revenue.blue .cx-revenue-title .i{color:var(--ai-ink-accent,#4b7df4)}
.co-readiness{height:100%;min-width:0;padding:var(--space-20) var(--space-24);background:var(--cx-glass);border:1px solid var(--cx-border);border-radius: var(--r);box-shadow:var(--cx-glass-shadow)}
.co-readiness .co-pane-heading{gap:var(--space-12);margin-bottom:var(--space-16)}.co-readiness .co-pane-heading h3{font-size:var(--text-section);margin-top:var(--space-4)}.co-readiness .co-pane-heading p{font-size:var(--text-caption)}.co-readiness .co-pane-heading .cx-pill{font-size:var(--text-caption);padding:var(--space-4) var(--space-8)}
.co-readiness-progress{height:6px;background:var(--ai-fill-soft,#eaf0f8);border-radius:999px;overflow:hidden;margin:var(--space-16) 0 var(--space-12)}.co-readiness-progress i{display:block;height:100%;background:linear-gradient(90deg,#3a77f7,#29c6ae);border-radius:999px;transition:width .3s}
.co-readiness-count{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);font-size:var(--text-caption);color:var(--ai-ink-secondary,#71829d)}.co-readiness-count strong{font-size:var(--text-page-title);color:var(--ai-ink-primary,#1e3559)}.co-readiness-count small{font-size:var(--text-caption);font-weight:400;color:var(--ai-ink-secondary,#7c8da5)}
.co-inputs{display:grid;grid-template-columns:1fr;gap:0}.co-input{display:flex;align-items:flex-start;gap:var(--space-12);padding:var(--space-12) 0;border-bottom:1px solid var(--ai-edge-neutral,#edf1f7);min-width:0}.co-input:last-child{border-bottom:0}
.co-input-dot{width:8px;height:8px;background:#e4a444;border-radius:50%;flex:none;margin-top:var(--space-4);box-shadow:0 0 0 4px #fff7e8}.co-input.ready .co-input-dot{background:#25bc90;box-shadow:0 0 0 4px #eaf8f2}
.co-input>div{flex:1;min-width:0}.co-input span{font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-secondary,#495f7c)}.co-input strong{display:block;font-size:var(--text-page-title);margin:var(--space-8) 0 var(--space-4);font-weight:600;color:var(--ai-ink-primary,#233e62);line-height: var(--leading-body)}.co-input p{font-size:var(--text-caption);color:var(--ai-ink-secondary,#687b94);line-height: var(--leading-body);margin:0;overflow-wrap:anywhere}
.co-input small{font-size:var(--text-caption);white-space:nowrap;color:var(--ai-ink-ok,#188b6b);background:var(--ai-fill-soft,#edf9f4);border-radius:4px;padding:var(--space-4) var(--space-8)}.co-input.reference small,.co-input.missing small{color:var(--ai-ink-warn,#a97824);background:var(--ai-fill-soft,#fff7e9)}
.co-readiness-note b{font-size:var(--text-caption);font-weight:600;color:var(--ai-ink-secondary,#537296)}.co-readiness-note p{margin:var(--space-8) 0 var(--space-12)}.co-readiness-note,.co-readiness-foot{padding-top:var(--space-12);margin-top:var(--space-12);border-top:1px solid var(--ai-edge-neutral,#e8eef7);color:var(--ai-ink-secondary,#7b8ca5);font-size:var(--text-caption);line-height: var(--leading-body)}
.co-data-flow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);font-size:var(--text-caption);padding:var(--space-12) 0;color:var(--ai-ink-muted,#7291b6)}.co-data-flow>i{font-style:normal;color:var(--ai-ink-muted,#95abc8)}

/* 预测、策略、校验与简报：沿用同一白色信息层级。 */
.cx-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-16)}.cx-panel{position:relative;min-width:0;padding:var(--space-24);background:var(--cx-glass);border:1px solid var(--cx-border);border-radius: var(--r);box-shadow:var(--cx-glass-shadow);overflow:hidden}
.cx-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-16);flex-wrap:wrap}.cx-card-title{display:flex;gap:var(--space-12);align-items:center}.cx-card-title .cx-icon{display:grid;place-items:center;width:37px;height:37px;background:var(--ai-fill-soft,#e9f8f4);color:var(--ai-ink-ok,#18a690);border:1px solid var(--ai-edge-neutral,#d9f0e7);border-radius:10px}.cx-card-title .cx-icon.blue{background:var(--ai-fill-soft,#edf3ff);border-color:#dfe9fc;color:var(--ai-ink-accent,#3b75ef)}.cx-card-title .i{width:18px;height:18px}.cx-card-title h3{font-size:var(--text-section);font-weight:600;margin:0 0 var(--space-4);color:var(--ai-ink-primary,#203451)}.cx-card-title p{font-size:var(--text-caption);letter-spacing:.8px;color:var(--ai-ink-secondary,#798aa2);margin:0}
.cx-card-summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-16);margin:var(--space-24) 0 var(--space-16)}.cx-card-summary strong{font-size:var(--text-metric);font-weight:600;letter-spacing:-.6px;color:var(--ai-ink-primary,#1e4968)}.cx-card-summary small{font-size:var(--text-caption);color:var(--ai-ink-secondary,#71829c);margin-left:var(--space-8)}.cx-card-summary span{font-size:var(--text-caption);color:var(--ai-ink-secondary,#71829c)}.cx-card-summary .cx-summary-note{font-size:var(--text-caption);line-height: var(--leading-body);text-align:right;color:var(--ai-ink-secondary,#71829c);max-width:240px}
.cx-chart{width:100%;height:245px;position:relative}.cx-chart-legend{display:flex;gap:var(--space-16);color:var(--ai-ink-secondary,#6c7d97);font-size:var(--text-caption);margin:var(--space-8) 0}.cx-chart-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;background:#23b7a4;margin-right:var(--space-4)}.cx-chart-legend i.orange{background:#e8a046}.cx-chart-legend i.blue{background:#4c80e8}
.cx-note{font-size:var(--text-caption);line-height: var(--leading-body);padding:var(--space-12) var(--space-12);border:1px solid var(--ai-edge-neutral,#e0e8f5);background:var(--ai-fill-base,#f7faff);border-radius:8px;color:var(--ai-ink-secondary,#6b7e9a)}.cx-note.amber{color:var(--ai-ink-warn,#a97525);border-color:var(--ai-edge-neutral,#f0dfbf);background:var(--ai-fill-soft,#fff8ec)}.cx-reference-label{font-size:var(--text-caption);color:var(--ai-ink-warn,#a47b3d);margin:var(--space-16) 0 var(--space-8)}
.cx-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);flex-wrap:wrap;border-top:1px solid var(--ai-edge-neutral,#e9eef7);padding-top:var(--space-16);margin-top:var(--space-16)}.cx-card-foot a{font-size:var(--text-caption)}.cx-card-foot span{font-size:var(--text-caption);color:var(--ai-ink-muted,#8190a7)}
.cx-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-24);margin-top:var(--space-16);padding:var(--space-20) var(--space-24);border:1px solid var(--cx-border);border-radius: var(--r);background:var(--cx-glass);box-shadow:var(--cx-glass-shadow)}.cx-evidence h4{font-size:var(--text-caption);font-weight:600;color:var(--ai-ink-secondary,#3f6a9c);margin:0 0 var(--space-8)}.cx-evidence p{font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-secondary,#7a8aa1);margin:0;overflow-wrap:anywhere}
.co-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-12);margin-bottom:var(--space-20)}.co-metric{min-width:0;padding:var(--space-16) var(--space-16);border:1px solid var(--ai-edge-neutral,#e5ebf5);border-radius: var(--r-sm);background:var(--ai-fill-base,#f8faff);box-shadow:none}.co-metric>span{font-size:var(--text-caption);color:var(--ai-ink-secondary,#7888a1)}.co-metric strong{display:block;margin:var(--space-8) 0 var(--space-8);font-size:var(--text-metric);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ai-ink-primary,#213e67);white-space:nowrap}.co-metric small{font-size:var(--text-caption);font-weight:400;margin-left:var(--space-4);color:var(--ai-ink-muted,#8090a7)}.co-metric p{font-size:var(--text-caption);color:var(--ai-ink-secondary,#74859d);line-height: var(--leading-body);margin:0}
.co-chart{height:350px;width:100%;min-width:0}.co-forecast-foot>p{font-size:var(--text-caption);color:var(--ai-ink-secondary,#687b94);line-height: var(--leading-body);margin:var(--space-12) 0}.co-samples{display:flex;gap:var(--space-8);align-items:center;flex-wrap:wrap;margin-top:var(--space-12);font-size:var(--text-caption);color:var(--ai-ink-secondary,#687b94)}.co-samples>span:not(:first-child){padding:var(--space-4) var(--space-8);border:1px solid var(--ai-edge-neutral,#e1e9f5);border-radius:6px;background:var(--ai-fill-base,#f7faff)}.co-samples b{font-weight:600;color:var(--ai-ink-accent,#4475bb);margin-left:var(--space-4)}
.co-soc-panel{margin-top:var(--space-16)}.co-soc-panel .co-pane-heading h3{font-size:var(--text-page-title)}
.co-check-layout{display:grid;grid-template-columns:200px 1fr;gap:var(--space-32);align-items:center}.co-check-score{text-align:center}.co-check-score>div{width:134px;height:134px;margin:0 auto var(--space-20);border-radius:50%;padding:var(--space-8);background:conic-gradient(#22b89b var(--co-progress),#e7eff6 0)}.co-check-score strong{display:flex;align-items:center;justify-content:center;height:100%;border-radius:50%;font-size:var(--text-metric);font-weight:600;background:var(--ai-fill-base,#fff);color:var(--ai-ink-primary,#234f65)}.co-check-score small{font-size:var(--text-section);font-weight:400;color:var(--ai-ink-muted,#8b9bb0)}.co-check-score>b{display:block;font-size:var(--text-body);color:var(--ai-ink-ok,#35614f)}.co-check-score>span{display:block;font-size:var(--text-caption);color:var(--ai-ink-muted,#8a99ae);margin-top:var(--space-8)}
.co-checks{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}.co-check{display:flex;gap:var(--space-12);align-items:flex-start;padding:var(--space-16) 0;border-bottom:1px solid var(--ai-edge-neutral,#edf2f8)}.co-check i{display:grid;place-items:center;border-radius:50%;background:var(--ai-fill-soft,#e8f8f0);color:var(--ai-ink-ok,#1fa078);width:23px;height:23px;flex:none;font-style:normal}.co-check.fail i{color:var(--ai-ink-warn,#c87934);background:var(--ai-fill-soft,#fff2df)}.co-check b{font-size:var(--text-secondary);font-weight:600;color:var(--ai-ink-primary,#365272)}.co-check p{font-size:var(--text-caption);color:var(--ai-ink-secondary,#687b94);line-height: var(--leading-body);margin:var(--space-4) 0 0}
.co-stress{margin-top:var(--space-24);border-top:1px solid var(--ai-edge-neutral,#e6edf6);padding-top:var(--space-20)}.co-stress>span{font-size:var(--text-secondary);color:var(--ai-ink-secondary,#425e7d)}.co-stress .co-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:var(--space-16) 0 0}.co-stress>p{font-size:var(--text-caption);color:var(--ai-ink-secondary,#687b94);line-height: var(--leading-body)}.co-warnings{margin-top:var(--space-20);padding:var(--space-16) var(--space-20);background:var(--ai-fill-soft,#fff8ec);border:1px solid var(--ai-edge-neutral,#efdfc0);border-radius: var(--r-sm);font-size:var(--text-caption);color:var(--ai-ink-warn,#aa7a32);line-height: var(--leading-body)}.co-warnings ul{margin:var(--space-8) 0 0;padding-left:var(--space-20)}
.co-brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}.co-brief-grid article{position:relative;min-width:0;padding:var(--space-24);border-radius: var(--r);border:1px solid var(--ai-edge-neutral,#e2eaf5);background:linear-gradient(120deg,#f7faff,#fff)}.co-brief-grid article>span{font-size:var(--text-caption);letter-spacing:1px;color:var(--ai-ink-accent,#608bca)}.co-brief-grid h4{font-size:var(--text-section);font-weight:600;margin:var(--space-8) 0 var(--space-12);color:var(--ai-ink-primary,#2a466d)}.co-brief-grid p{font-size:var(--text-secondary);line-height: var(--leading-body);color:var(--ai-ink-secondary,#657e9d);margin:0}
.co-timeline{margin-top:var(--space-24);padding:var(--space-20) 0;border-top:1px solid var(--ai-edge-neutral,#e6edf7);border-bottom:1px solid var(--ai-edge-neutral,#e6edf7)}.co-timeline>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);font-size:var(--text-caption);color:var(--ai-ink-secondary,#476280)}.co-timeline b{font-weight:600}.co-timeline span{font-size:var(--text-caption);color:var(--ai-ink-secondary,#687b94)}.co-timeline span i{display:inline-block;margin:0 var(--space-4) 0 var(--space-12);width:7px;height:7px;background:var(--ai-fill-soft,#e0e8f3);border-radius:2px}.co-timeline i.charge{background:#28b9a6}.co-timeline i.discharge{background:#e6a252}
.co-hour-strip{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-20)}.co-hour-strip>div{text-align:center;min-width:0}.co-hour-strip i{display:block;height:29px;border-radius:4px;background:var(--ai-fill-soft,#e8eef6)}.co-hour-strip .charge i{background:#49c6b4}.co-hour-strip .discharge i{background:#ebb369}.co-hour-strip small{font-size:var(--text-caption);display:block;margin-top:var(--space-8);color:var(--ai-ink-muted,#8495ad)}.co-brief-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-12);margin-top:var(--space-24)}.co-brief-actions>span{flex:1;font-size:var(--text-caption);color:var(--ai-ink-muted,#8194ad);line-height: var(--leading-body)}

/* 计算记录是轻量横条，不抢占当前阶段的工作空间。 */
.co-activity{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--space-20);align-items:center;padding:var(--space-16) var(--space-20);border:1px solid var(--ai-edge-neutral,#e1e8f3);border-radius: var(--r);background:var(--ai-fill-base,#fff);color:var(--ai-ink-secondary,#657b98);box-shadow:var(--cx-glass-shadow)}.co-activity .cx-eyebrow{font-size:var(--text-caption);letter-spacing:1.2px}.co-activity h4{font-size:var(--text-caption);margin:var(--space-4) 0;font-weight:600;color:var(--ai-ink-secondary,#526a89)}.co-activity p{font-size:var(--text-caption);color:var(--ai-ink-muted,#8a9ab0);line-height: var(--leading-body);margin:0}
.co-activity ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-12);list-style:none;padding:0;margin:0}.co-activity li{display:flex;gap:var(--space-8);position:relative;min-width:0}.co-activity li>i{width:7px;height:7px;border:1px solid var(--ai-edge-neutral,#bdcde2);border-radius:50%;flex:none;margin-top:var(--space-4);background:var(--ai-fill-soft,#edf2f9)}.co-activity li[data-state=done]>i{background:#24b88f;border-color:#24b88f}.co-activity li[data-state=partial]>i,.co-activity li[data-state=blocked]>i{background:#dfad5b;border-color:#dfad5b}.co-activity li[data-state=running]>i{background:#4e8af3;border-color:#4e8af3;box-shadow:0 0 0 3px #edf3ff}.co-activity li[data-state=failed]>i{background:#e38574;border-color:#e38574}.co-activity li b{display:block;font-size:var(--text-caption);font-weight:500;color:var(--ai-ink-secondary,#5b7392)}.co-activity li span{display:block;font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-muted,#8497b0);margin-top:var(--space-4)}.co-activity .co-activity-note{display:none}
.cx-empty,.co-empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-32) var(--space-20);text-align:center;font-size:var(--text-secondary);color:var(--ai-ink-muted,#7b90ac);gap:var(--space-12)}.cx-empty strong,.co-empty h3{font-size:var(--text-page-title);margin:0;color:var(--ai-ink-secondary,#405b7e);font-weight:600}.cx-empty span,.co-empty p{font-size:var(--text-caption);line-height: var(--leading-body);margin:0}.cx-empty .i{width:26px;height:26px;color:var(--ai-ink-muted,#7f9fc8)}.co-orbit{display:grid;place-items:center;width:68px;height:68px;margin-bottom:var(--space-8);font-size:var(--text-metric);border:1px solid #d1e1fa;border-radius:50%;box-shadow:0 0 0 10px #eaf2ff,0 0 0 20px #f5f8ff;color:var(--ai-ink-accent,#628fde)}
.cx-loading{padding:44px;text-align:center;color:var(--ai-ink-muted,#7b90ac);line-height: var(--leading-body)}.cx-loading .spin{display:inline-block;margin-right:var(--space-8)}.cx-disclaimer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);flex-wrap:wrap;color:var(--ai-ink-muted,#8595ac);font-size:var(--text-caption);padding:var(--space-20) 0 0}
.cx .ct-btn,body.ex-ai-mode .cx .cx-chart .chart-vals{background:var(--ai-fill-base,#f6f9ff);border-color:var(--ai-edge-neutral,#dfe8f5);color:var(--ai-ink-muted,#7390b6)}
body.ex-ai-mode .modal{background:var(--panel);color:var(--tx)}
.cx-fade{animation:cx-in .3s ease-out both}.cx-fade:nth-child(2){animation-delay:.04s}
@keyframes cx-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes co-spin{to{transform:rotate(360deg)}}

@media(min-width:2200px){.cx-inner{padding-top:28px}.cx-page-title h1{font-size:var(--text-metric)}.co-stage{padding-top:var(--space-16);padding-bottom:var(--space-16)}.co-stage::after{top:29px}.co-stage b{font-size:var(--text-section)}.co-stage small{font-size:var(--text-caption)}.co-data-layout{grid-template-columns:minmax(0,1.7fr) minmax(420px,1fr);gap:var(--space-20)}.cx-hero-art{height:300px}.cx-hero-heading{padding:var(--space-24) 28px 0}.cx-hero-heading h2{font-size:var(--text-metric)}.cx-scene-stats{padding:var(--space-16) 28px;gap:var(--space-24)}.cx-scene-stats strong{font-size:var(--text-metric)}.cx-revenue{padding:var(--space-20) var(--space-24)}.cx-revenue strong{font-size:var(--text-metric)}.co-readiness{padding:28px var(--space-32)}.co-input{padding:var(--space-24) 0}.co-input strong{font-size:var(--text-metric)}.co-input p{font-size:var(--text-caption)}.co-chart{height:420px}.co-metric strong{font-size:var(--text-metric)}.cx-chart{height:290px}}
@media(max-width:1250px){.cx-page-tools{width:100%;justify-content:flex-start;margin-top:calc(-1 * var(--space-8))}.co-data-layout{grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr)}.cx-hero-heading{padding:var(--space-20) var(--space-20) 0}.cx-hero-heading h2{font-size:var(--text-page-title)}.cx-hero-art{height:250px}.cx-scene-stats{gap:var(--space-12);padding:var(--space-12) var(--space-20)}.cx-scene-stats>div+div{padding-left:var(--space-12)}.cx-scene-stats strong{font-size:var(--text-section)}.cx-scene-stats span{font-size:var(--text-caption)}.co-readiness{padding:var(--space-20) var(--space-20)}.co-readiness .co-pane-heading{flex-wrap:wrap}.co-readiness .co-pane-heading .cx-pill{margin-top:0}.co-input{padding:var(--space-16) 0}.co-input strong{font-size:var(--text-section)}.co-input small{font-size:var(--text-caption)}.co-activity{grid-template-columns:130px minmax(0,1fr);padding:var(--space-16) var(--space-16);gap:var(--space-12)}.co-activity ol{gap:var(--space-8)}.cx-mini-label{display:none}.cx-revenue{padding:var(--space-16) var(--space-16)}.cx-revenue strong{font-size:var(--text-metric)}}
@media(max-width:1000px){.co-data-layout{grid-template-columns:minmax(0,1fr)}.cx-hero-art{height:300px}.co-inputs{grid-template-columns:1fr 1fr;gap:0 var(--space-24)}.co-input:nth-last-child(2){border-bottom:0}.co-readiness .co-pane-heading{flex-wrap:nowrap}.co-activity{grid-template-columns:1fr;gap:var(--space-12)}.co-activity>div{display:flex;align-items:center;gap:var(--space-12)}.co-activity>div .cx-eyebrow{display:none}.co-activity>div h4{margin:0}.co-stage b{font-size:var(--text-secondary)}.co-stage small{font-size:var(--text-caption)}.cx-evidence{gap:var(--space-20)}.cx-card-summary .cx-summary-note{font-size:var(--text-caption)}.cx-card-title h3{font-size:var(--text-section)}.cx-panel{padding:var(--space-20)}.co-check-layout{grid-template-columns:160px 1fr;gap:var(--space-20)}}
@media(max-width:760px){body.ex-ai-mode{--cx-gutter:16px}body.ex-ai-mode .topbar .crumb{display:none}.cx-page-heading{gap:var(--space-12)}.cx-date-control{margin-left:auto}.cx-page-title h1{font-size:var(--text-metric)}.cx-page-title p{display:none}.co-stage small{display:none}.co-stage{gap:var(--space-8)}.co-stage em{font-size:var(--text-caption)}.cx-suggestions{grid-template-columns:1fr}.cx-evidence{grid-template-columns:1fr;gap:var(--space-16)}.co-metrics{grid-template-columns:1fr 1fr}.co-check-layout{grid-template-columns:1fr}.co-checks{grid-template-columns:1fr 1fr}.co-activity ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-16)}.co-pane-heading h3{font-size:var(--text-page-title)}.co-pane-heading{gap:var(--space-12)}.co-brief-grid{gap:var(--space-12)}.co-brief-grid article{padding:var(--space-20)}.co-brief-grid p{font-size:var(--text-caption)}}
@media(max-width:560px){body.ex-ai-mode{--cx-gutter:12px}.ex-mode-switch button{padding:var(--space-4) var(--space-8);font-size:var(--text-caption)}.topbar:has(.ex-mode-switch){gap:var(--space-8)}.topbar:has(.ex-mode-switch) .top-actions{gap:var(--space-4)}.topbar:has(.ex-mode-switch) .user-chip{padding:var(--space-4)}.cx-inner{padding:var(--space-16) var(--space-12) var(--space-24)}.cx-page-title h1{font-size:var(--text-page-title)}.cx-page-title .cx-eyebrow{font-size:var(--text-caption)}.cx-page-heading{margin-bottom:var(--space-12)}.cx-date-control{width:100%;gap:var(--space-4);margin-left:0}.cx-date-control label,.cx-date label{font-size:var(--text-caption)}.cx-date-control input,.cx-date input{max-width:132px;font-size:var(--text-caption);padding-inline:var(--space-8)}.cx-date-control .cx-btn{font-size:var(--text-caption);padding:var(--space-8) var(--space-8)}.cx-date-control .primary{margin-left:auto}.cx-page-tools{gap:var(--space-8);font-size:var(--text-caption);margin-top:0}.cx-page-tools .cx-btn{font-size:var(--text-caption);min-height:27px;padding:var(--space-4) var(--space-8)}.cx-live{font-size:var(--text-caption)}.co-stepper{display:flex;overflow-x:auto;gap:var(--space-4);padding:var(--space-4) 0 var(--space-8);scroll-snap-type:x proximity}.co-stage{flex:none;width:110px;padding:var(--space-12) var(--space-4);scroll-snap-align:start}.co-stage b{font-size:var(--text-caption)}.co-stage em{font-size:var(--text-caption)}.co-node{width:28px;height:28px;font-size:var(--text-caption)}.co-stage::after{top:24px;left:calc(50% + 21px);width:calc(100% - 35px)}.co-progress{font-size:var(--text-caption);flex-wrap:wrap;gap:var(--space-8);margin-bottom:var(--space-12)}.co-progress>span:last-of-type{display:none}.co-workspace{gap:var(--space-12)}.co-data-layout{gap:var(--space-12)}.cx-hero-heading{padding:var(--space-16) var(--space-16) 0;align-items:flex-start;gap:var(--space-12)}.cx-hero-heading h2{font-size:var(--text-page-title)}.cx-hero-heading .cx-eyebrow{font-size:var(--text-caption);letter-spacing:.9px}.cx-hero-heading p,.cx-lead{font-size:var(--text-caption)}.cx-lead span{display:none}.cx-station-label{font-size:var(--text-caption);gap:var(--space-4);max-width:104px}.cx-station-label small{font-size:var(--text-caption)}.cx-hero-art{height:230px}.cx-scene{inset:-15px -4% 0}.cx-scene-controls{gap:var(--space-4);padding-top:var(--space-8)}.cx-scene-controls>span{width:100%;font-size:var(--text-caption);margin-right:0;text-align:center}.cx-scene-controls .cx-btn{font-size:var(--text-caption);padding:var(--space-4) var(--space-8);min-height:25px}.cx-art-label{font-size:var(--text-caption);padding-bottom:var(--space-8)}.cx-scene-stats{padding:var(--space-12) var(--space-12);gap:var(--space-12);flex-wrap:wrap}.cx-scene-stats>div{gap:var(--space-4)}.cx-scene-stats>div+div{padding-left:var(--space-8)}.cx-scene-stats strong{font-size:var(--text-section)}.cx-scene-stats span,.cx-scene-stats small{font-size:var(--text-caption)}.cx-scene-stats>div:last-child{margin-left:auto}.cx-scene-stats .cx-capacity{gap:var(--space-12)}.cx-spec-icon{display:none}.cx-scene-stats .cx-soc{padding-left:var(--space-8);gap:var(--space-8)}.cx-soc b{font-size:var(--text-caption)}.cx-soc small{font-size:var(--text-caption)}.cx-scene-stats .cx-soc-ring{width:35px;height:35px}.cx-scene-stats .cx-soc-ring>span{font-size:var(--text-caption)}.cx-revenues{gap:var(--space-12);margin-top:var(--space-12)}.cx-revenue{padding:var(--space-12) var(--space-12)}.cx-revenue-title{font-size:var(--text-caption);gap:var(--space-4)}.cx-revenue-title>span:first-child{gap:var(--space-4)}.cx-revenue-title .i{width:13px}.cx-revenue strong{font-size:var(--text-metric)}.cx-revenue strong small{font-size:var(--text-caption);margin-left:var(--space-4)}.cx-revenue p{font-size:var(--text-caption)}.cx-revenue-date{font-size:var(--text-caption)}.cx-revenue-line{margin-top:var(--space-8)}.co-readiness{padding:var(--space-20) var(--space-16)}.co-readiness .co-pane-heading{gap:var(--space-8);flex-wrap:wrap}.co-readiness .co-pane-heading h3{font-size:var(--text-section)}.co-readiness .co-pane-heading p{font-size:var(--text-caption)}.co-inputs{grid-template-columns:1fr;gap:0}.co-input{padding:var(--space-16) 0}.co-input:nth-last-child(2){border-bottom:1px solid var(--ai-edge-neutral,#edf1f7)}.co-input strong{font-size:var(--text-page-title)}.co-input p{font-size:var(--text-caption)}.co-readiness-note b{font-size:var(--text-caption);font-weight:600;color:var(--ai-ink-secondary,#537296)}.co-readiness-note p{margin:var(--space-8) 0 var(--space-12)}.co-readiness-note,.co-readiness-foot{font-size:var(--text-caption)}.co-content>section:not(#co-pane-data):not(#co-pane-strategy)>.co-pane-body,.co-soc-panel{padding:var(--space-20) var(--space-12);border-radius:12px}.co-pane-heading{flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-20)}.co-pane-heading h3{font-size:var(--text-page-title)}.co-pane-heading p{font-size:var(--text-caption)}.co-pane-heading .cx-pill{margin:0}.cx-pill{font-size:var(--text-caption);padding:var(--space-4) var(--space-8)}.co-metrics{gap:var(--space-8)}.co-metric{padding:var(--space-12) var(--space-12)}.co-metric strong{font-size:var(--text-metric)}.co-metric>span{font-size:var(--text-caption)}.co-metric small{font-size:var(--text-caption)}.co-metric p{font-size:var(--text-caption)}.co-chart{height:300px}.co-samples{gap:var(--space-8)}.co-samples>span:first-child{width:100%}.cx-panel{padding:var(--space-20) var(--space-16);border-radius:12px}.cx-card-title{gap:var(--space-8)}.cx-card-title h3{font-size:var(--text-section)}.cx-card-title p{font-size:var(--text-caption)}.cx-card-title .cx-icon{width:33px;height:33px}.cx-card-summary strong{font-size:var(--text-metric)}.cx-card-summary span,.cx-card-summary .cx-summary-note{font-size:var(--text-caption)}.cx-card-summary .cx-summary-note{max-width:140px}.cx-note{font-size:var(--text-caption)}.cx-chart{height:220px}.cx-evidence{padding:var(--space-20)}.cx-evidence p{font-size:var(--text-caption)}.cx-card-foot a{font-size:var(--text-caption)}.cx-card-foot span{font-size:var(--text-caption)}.co-check-score>div{width:110px;height:110px}.co-check-score strong{font-size:var(--text-metric)}.co-checks{grid-template-columns:1fr}.co-check{padding:var(--space-12) 0}.co-stress .co-metrics{grid-template-columns:1fr}.co-stress .co-metric{display:flex;align-items:center;justify-content:space-between}.co-stress .co-metric p{display:none}.co-stress .co-metric strong{margin:0}.co-brief-grid{grid-template-columns:1fr;gap:var(--space-12)}.co-brief-grid article{padding:var(--space-16)}.co-hour-strip{gap:var(--space-4);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:var(--space-12)}.co-hour-strip i{height:22px}.co-brief-actions>span{flex-basis:100%}.co-timeline>div:first-child{flex-wrap:wrap;gap:var(--space-8)}.co-activity{padding:var(--space-16)}.co-activity>div{flex-wrap:wrap;gap:var(--space-4)}.co-activity ol{grid-template-columns:1fr 1fr;gap:var(--space-12)}.co-activity li span{font-size:var(--text-caption)}.cx-disclaimer{font-size:var(--text-caption);line-height: var(--leading-body);padding-top:var(--space-16)}.cx-disclaimer>span:first-child{display:none}}

/* 图表与三维场景不叠加模糊滤镜，柔光只作用于面板材质。 */
.cx-revenue,.co-readiness,.cx-panel,.cx-evidence,.co-content>section:not(#co-pane-data):not(#co-pane-strategy)>.co-pane-body,.co-soc-panel{backdrop-filter:none;-webkit-backdrop-filter:none}
.cx-page-heading{padding:var(--space-8) 0 var(--space-12)}.cx-page-title .cx-eyebrow{color:var(--ai-ink-secondary,#6d87a8)}.cx-btn.primary{background:linear-gradient(125deg,#477cdd,#3569c9);border-color:#5282d6;box-shadow:inset 0 1px #bad7ff73,0 3px 9px #4474c51a}.cx-btn.primary:hover{background:linear-gradient(125deg,#3f74d6,#2e60c0)}
.cx-scene-card::after{content:none}
@media(max-width:900px){
  /* 抽屉断点立即释放侧栏占位；禁止继承 .main 的 margin 过渡造成平板瞬时留白。 */
  body.ex-ai-mode .main{margin-left:0!important;transition:none}
  body.ex-ai-mode .sidebar{bottom:0;width:var(--sb-w);box-shadow:10px 0 35px #0d254528;transition:transform .22s ease}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .ai-return-classic{margin:var(--space-12) var(--space-12) var(--space-12);padding:var(--space-8) var(--space-8)}html[data-nav="mini"] body.ex-ai-mode .sidebar .ai-return-classic span{display:inline}
  body.ex-ai-mode .sb-scrim{background:#102d4b38;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .brand{padding:var(--space-20) var(--space-16) var(--space-20) var(--space-20);justify-content:flex-start;border-bottom:1px solid #d0e7ff1a}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .brand-text{display:block!important}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .nav{padding:var(--space-8) var(--space-12) var(--space-12)}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .nav-item{justify-content:flex-start;padding:var(--space-8) var(--space-12)}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .nav-item>span:not(.nav-ico){display:inline-flex!important}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .nav-item .chev{display:block!important}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .nav-sub{display:none!important}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .nav-sec.open>.nav-sub{display:block!important}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .sb-foot{padding:var(--space-12) var(--space-16);justify-content:flex-start}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .sb-foot #sb-station{display:block!important}
  html[data-nav="mini"] body.ex-ai-mode .sidebar .sb-mini-btn{margin-left:auto}
  body.ex-ai-mode:not(.ex-ai-cockpit) :is(.card,.glass-surface){backdrop-filter:none;-webkit-backdrop-filter:none}
}

@media(prefers-reduced-motion:reduce){.cx *,.cx *::before,.cx *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.cx[data-motion=off] .cx-fade,.cx[data-motion=off] .co-node::after{animation:none}

/* AI 首层只呈现运营结论；输入依据和算法说明按需展开。 */
.cx-focus-view .co-stepper,.cx-focus-view .co-activity{display:none}
.cx-focus-view .co-progress{margin-bottom:var(--space-20)}.cx-focus-view .co-progress>span:last-of-type{display:none}
.co-executive{display:flex;flex-direction:column}.co-executive-title{font-size:var(--text-page-title);line-height: var(--leading-body);letter-spacing:-.4px;margin:0 0 var(--space-20);color:var(--ai-ink-primary,#162d4e)}
.co-verdicts{display:grid;gap:var(--space-16)}.co-verdicts article{display:flex;gap:var(--space-12);align-items:flex-start}.co-verdicts article>span{width:26px;height:26px;display:grid;place-items:center;flex:none;background:var(--ai-fill-soft,#edf3ff);border-radius:8px;color:var(--ai-ink-accent,#366ee0);font-size:var(--text-caption);font-weight:600}.co-verdicts b{font-size:var(--text-secondary);color:var(--ai-ink-primary,#243f65)}.co-verdicts p,.co-summary-pending{font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-secondary,#536984);margin:var(--space-4) 0 0}
.co-summary-attention{border-left:3px solid #edac47;background:var(--ai-fill-soft,#fffaf1);padding:var(--space-12) var(--space-16);border-radius:0 8px 8px 0;margin-top:var(--space-20)}.co-summary-attention>b{font-size:var(--text-caption);color:var(--ai-ink-warn,#946719)}.co-summary-attention p{font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-secondary,#816d4d);margin:var(--space-4) 0 0}
.co-summary-actions{display:flex;gap:var(--space-8);flex-wrap:wrap;margin:var(--space-20) 0}.co-input-details{border-top:1px solid var(--ai-edge-neutral,#e5ebf3);padding-top:var(--space-16);margin-top:auto;font-size:var(--text-caption);color:var(--ai-ink-secondary,#526b8d)}.co-input-details>summary,.cx-evidence-fold>summary{cursor:pointer;line-height: var(--leading-body)}.co-input-details>summary span{font-size:var(--text-caption);color:var(--ai-ink-secondary,#7b8ba3);margin-left:var(--space-8)}.co-input-details>p{font-size:var(--text-caption);margin-top:var(--space-16)}.co-input-details .co-input{padding:var(--space-12) 0}.co-input-details .co-input strong{font-size:var(--text-section)}
.cx-evidence-fold{margin-top:var(--space-20);padding:var(--space-16) var(--space-20);border:1px solid var(--ai-edge-neutral,#e0e7f1);background:var(--ai-fill-base,#fff);border-radius: var(--r-sm);font-size:var(--text-caption);color:var(--ai-ink-secondary,#587198)}.cx-evidence-fold .cx-evidence{border:0;border-radius:0;box-shadow:none;padding:var(--space-12) 0 0;margin-top:var(--space-8)}
@media(min-width:2200px){.co-verdicts p{font-size:var(--text-body)}.co-verdicts b{font-size:var(--text-body)}.co-executive-title{font-size:var(--text-metric)}.co-summary-attention p{font-size:var(--text-caption)}}
@media(max-width:560px){.co-executive-title{font-size:var(--text-page-title)}.co-verdicts p{font-size:var(--text-caption)}.co-summary-actions .cx-btn{font-size:var(--text-caption)}.cx-focus-view .co-progress{margin-bottom:var(--space-12)}}

/* 运营控制台：首屏同时呈现收益、市场、策略与电站；大画布只用于阶段详情。 */
.cx:has(.cd-dashboard) .cx-inner{padding-top:var(--space-12)}
.cx:has(.cd-dashboard) .cx-page-heading{gap:var(--space-16);padding:0 0 var(--space-4);margin-bottom:var(--space-8)}
.cx:has(.cd-dashboard) .cx-page-title h1{font-size:var(--text-metric);margin-block:var(--space-4);letter-spacing:-.5px}
.cx:has(.cd-dashboard) .cx-page-title>.cx-eyebrow{font-size:var(--text-caption);letter-spacing:1.3px;color:var(--ai-ink-secondary,#6c7ba0)}
.cx:has(.cd-dashboard) .co-stepper{gap:var(--space-8);margin-bottom:var(--space-4)}
.cx:has(.cd-dashboard) .co-stage{gap:var(--space-4);padding:var(--space-8) var(--space-8) var(--space-8);border-radius:9px}
.cx:has(.cd-dashboard) .co-stage::after{top:19px}
.cx:has(.cd-dashboard) .co-node{width:25px;height:25px;font-size:var(--text-caption)}
.cx:has(.cd-dashboard) .co-stage b{font-size:var(--text-caption);line-height: var(--leading-body)}
.cx:has(.cd-dashboard) .co-stage small{font-size:var(--text-caption);line-height: var(--leading-body)}
.cx:has(.cd-dashboard) .co-stage em{font-size:var(--text-caption);line-height: var(--leading-body)}
.cx:has(.cd-dashboard) .co-progress{font-size:var(--text-caption);padding-bottom:var(--space-8);margin-bottom:var(--space-8)}
.cx:has(.cd-dashboard) .co-activity{padding:var(--space-12) var(--space-16)}
.cx:has(.cd-dashboard) .cx-disclaimer{padding-top:var(--space-12)}
.cd-dashboard{--cd-violet:#7355ce;--cd-blue:#3d70db;--cd-teal:#159c9b;--cd-line:#e4eaf3;display:grid;gap:var(--space-12);min-width:0;color:var(--ai-ink-primary,#1e304a)}
.cd-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-12)}
.cd-card{position:relative;min-width:0;padding:var(--space-16) var(--space-16);border:1px solid var(--cd-line);border-radius: var(--r);background:var(--ai-fill-base,#fff);box-shadow:0 1px 3px #17355404,0 4px 15px #17355404;transition:border-color .18s,box-shadow .18s}
.cd-card:hover{border-color:var(--ai-edge-neutral,#ccd9ed);box-shadow:0 2px 6px #294d7a06,0 7px 19px #294d7a08}
.cd-kpi{padding:var(--space-12) var(--space-16);min-height:108px;overflow:hidden;display:flex;flex-direction:column}
.cd-kpi::after{content:'';position:absolute;top:14px;bottom:14px;left:0;width:3px;border-radius:0 3px 3px 0;background:#48a7ac}
.cd-kpi[data-kpi=spot]::after{background:#5787dd}.cd-kpi[data-kpi=estimate]::after{background:#8868dd}.cd-kpi[data-kpi=spread]::after{background:#ca9a56}
.cd-kpi-label{display:flex;align-items:center;gap:var(--space-8);font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-secondary,#536b89)}
.cd-kpi-label>.cd-badge{margin-left:auto}
.cd-kpi-label .i{width:15px;height:15px;color:var(--ai-ink-muted,#7397ba)}.cd-kpi-label>span{display:inline-flex;align-items:center;gap:var(--space-8)}
.cd-kpi-value{display:flex;align-items:baseline;gap:var(--space-4);font-size:var(--text-metric);line-height: var(--leading-body);font-weight:600;letter-spacing:-.7px;color:var(--ai-ink-primary,#182f50);font-variant-numeric:tabular-nums;margin:var(--space-8) 0 var(--space-4)}
.cd-kpi-value strong{font:inherit}.cd-kpi-value small{font-size:var(--text-caption);font-weight:400;letter-spacing:0;color:var(--ai-ink-secondary,#73859e)}
.cd-kpi[data-kpi=estimate] .cd-kpi-value{color:var(--ai-ink-violet,#674ab5)}
.cd-kpi[data-kpi=estimate]{border-color:var(--ai-edge-neutral,#dfd6f6);background:radial-gradient(ellipse at 100% 0,#e8defcb3,transparent 65%),linear-gradient(110deg,#fff,#fbf9ff)}
.cd-kpi[data-kpi=spread]{border-color:var(--ai-edge-neutral,#d8e5f4);background:radial-gradient(ellipse at 100% 0,#d8ecfb9c,transparent 65%),linear-gradient(110deg,#fff,#f8fbff)}
.cd-kpi[data-kpi=estimate] .cd-kpi-label .i{color:var(--ai-ink-violet,#9570da)}.cd-kpi[data-kpi=spread] .cd-kpi-label .i{color:var(--ai-ink-accent,#679dca)}
.cd-kpi-meta{font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-secondary,#6b819e);min-width:0;margin:auto 0 0}
.cd-kpi-meta,.cd-source,#cd-agent-subtitle{text-wrap:balance}
.cd-note-part{white-space:nowrap}
.cd-kpi-meta a{margin-left:auto;font-size:var(--text-caption)}
.cd-badge{display:inline-flex;align-items:center;gap:var(--space-4);white-space:nowrap;border-radius:5px;padding:var(--space-4) var(--space-8);background:var(--ai-fill-soft,#edf3ff);border:1px solid #e1eafb;color:var(--ai-ink-accent,#4e79bf);font-size:var(--text-caption);line-height: var(--leading-body);font-weight:500}
.cd-badge.violet{color:var(--ai-ink-violet,#7354bd);background:var(--ai-fill-soft,#f2effc);border-color:var(--ai-edge-neutral,#e8e0f8)}.cd-badge.teal{color:var(--ai-ink-ok,#218d81);background:var(--ai-fill-soft,#edf8f5);border-color:var(--ai-edge-neutral,#ddf0eb)}.cd-badge.amber{color:var(--ai-ink-warn,#a17738);background:var(--ai-fill-soft,#fff7e9);border-color:var(--ai-edge-neutral,#f3e7d0)}
.cd-main{display:grid;grid-template-columns:minmax(0,30fr) minmax(0,42fr) minmax(0,28fr);gap:var(--space-12);align-items:stretch}
.cd-main>.cd-card{height:320px;min-height:0;display:flex;flex-direction:column}
.cd-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);flex:none;min-height:31px;margin-bottom:var(--space-12)}
.cd-card-head>div{min-width:0}.cd-eyebrow{display:block;font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-muted,#8291aa);letter-spacing:1.2px;font-weight:600;margin-bottom:var(--space-4)}
.cd-card-head h3{margin:0;font-size:var(--text-body);font-weight:600;line-height: var(--leading-body);color:var(--ai-ink-primary,#223c5e);letter-spacing:-.2px}
.cd-open{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-4) var(--space-8);min-height:27px;flex:none;border:1px solid var(--ai-edge-neutral,#e1e8f3);border-radius:6px;background:var(--ai-fill-base,#f8faff);color:var(--ai-ink-secondary,#5278b3);font:inherit;font-size:var(--text-caption);cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s,background .15s}
.cd-open:hover{color:var(--ai-ink-accent,#3269ce);background:var(--ai-fill-soft,#eff5ff);border-color:var(--ai-edge-neutral,#bed1f2)}.cd-open:focus-visible{outline:2px solid #4b7ee0;outline-offset:2px}.cd-open .i{width:12px;height:12px}
.cd-chart{position:relative;width:100%;height:190px;min-height:0;flex:1 1 0;min-width:0;background:linear-gradient(180deg,#fbfdff,#fff);border-radius:7px}
/* EX.chart 为工具按钮动态加 .chart-box；它与原始宿主占用相同的弹性空间。 */
.cd-card>.chart-box{position:relative;flex:1 1 0;min-height:0;min-width:0;width:100%}
.cd-card>.chart-box>.cd-chart{height:100%;min-height:0}
.cd-source{font-size:var(--text-caption);color:var(--ai-ink-secondary,#667a94);line-height: var(--leading-body);margin:var(--space-8) 0 0;flex:none;min-width:0}
.cd-extrema{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);flex-wrap:wrap;padding:var(--space-8) var(--space-12);margin-top:var(--space-8);border:1px solid var(--ai-edge-neutral,#e7edf6);border-radius: var(--r-sm);background:var(--ai-fill-base,#f8faff);flex:none;color:var(--ai-ink-secondary,#677f9e);font-size:var(--text-caption)}
.cd-extrema strong,.cd-extrema b{color:var(--ai-ink-secondary,#3f5b84);font-size:var(--text-caption);font-weight:600;margin-left:var(--space-4)}.cd-extrema small{font-size:var(--text-caption);color:var(--ai-ink-muted,#8798b0);margin-left:var(--space-4)}

/* 储能资产：画布铺满标题以下区域，文字与控制叠在相机预留区。 */
.cd-main>.cd-station{padding:0;overflow:hidden;background:var(--ai-fill-base,#fff);border-color:var(--ai-edge-neutral,#d5e2ef)}
.cd-station>.cd-card-head{padding:var(--space-12);margin:0;min-height:46px}
.cd-station .cd-eyebrow{display:none}.cd-station .cd-card-head h3{font-size:var(--text-body)}
.cd-station #cx-overview,.cd-station .cx-hero{flex:1;min-height:0;display:flex;flex-direction:column}
.cd-station .cx-scene-card{position:relative;flex:1;min-height:300px;border:0;border-radius:0;box-shadow:none;--scene-inset-top:54px;--scene-inset-bottom:70px}
.cd-station .cx-hero-art{position:absolute;inset:0;height:auto;min-height:0}
.cd-station .cx-scene{inset:0}
.cd-station .cx-hero-heading{position:absolute;z-index:2;top:var(--gap);left:var(--gap);padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);pointer-events:none}
.cd-station .cx-hero-heading .cx-eyebrow,.cd-station .cx-lead{display:none}
.cd-station .cx-hero-heading h2{font-size:var(--text-section);line-height:var(--leading-body);margin:0;letter-spacing:-.5px}
.cd-station .cx-hero-heading h2 em{font-size:var(--text-secondary)}
.cd-station .cx-station-label{font-size:var(--text-caption);max-width:none;gap:var(--space-4);line-height:var(--leading-body)}
.cd-station .cx-station-label small{display:none}
.cd-station .cx-scene-stats{position:absolute;left:0;right:0;bottom:28px;min-height:34px;padding:var(--seam) var(--gap);display:flex;justify-content:space-between;gap:var(--seam);flex-wrap:nowrap}
.cd-station .cx-scene-stats>div{display:flex;align-items:baseline;gap:var(--space-4);flex-wrap:nowrap;white-space:nowrap}
.cd-station .cx-scene-stats>div+div{border:0;padding:0}
.cd-station .cx-scene-stats strong{font-size:var(--text-body);line-height:var(--leading-body)}
.cd-station .cx-scene-stats :is(span,small){font-size:var(--text-caption)}
.cd-station .cx-scene-controls{position:absolute;right:var(--gap);top:var(--gap);padding:0;gap:var(--space-4);flex-wrap:nowrap}
.cd-station .cx-scene-controls>span{display:none}
.cd-station .cx-scene-controls .cx-btn{width:28px;height:28px;min-height:28px;padding:var(--space-4)}
.cd-station .cx-art-label{position:absolute;left:var(--gap);right:var(--gap);bottom:var(--seam);z-index:2;padding:0;text-align:left;font-size:var(--text-caption);line-height:var(--leading-body);letter-spacing:0;pointer-events:none}
.cd-station .cx-revenues{display:none}.cd-station .cx-loading{font-size:var(--text-caption);padding:36px var(--space-16)}

/* AI 运行侧栏：每个状态来自推演事件，视觉脉冲只在计算中出现。 */
.cd-agent{padding:var(--space-12) var(--space-16);background:linear-gradient(155deg,#fff,#fbfaff);border-color:var(--ai-edge-neutral,#e5e1f1)}
.cd-agent .cd-card-head h3{color:var(--ai-ink-violet,#5a438f)}.cd-agent .cd-eyebrow{color:var(--ai-ink-violet,#8970b1)}
.cd-agent .cd-card-head{margin-bottom:var(--space-8)}
.cd-agent-status{display:flex;align-items:center;gap:var(--space-12);min-height:48px;flex:none;color:var(--ai-ink-violet,#5f4b8b);font-size:var(--text-caption);font-weight:500;margin:0 0 var(--space-8)}
.cd-agent-status>div{min-width:0}.cd-agent-status strong{display:block;font-size:var(--text-caption);line-height: var(--leading-body);font-weight:600;color:var(--ai-ink-violet,#5f4691)}
.cd-agent-status p,.cd-agent-status small{display:block;color:var(--ai-ink-secondary,#8b7d9f);font-size:var(--text-caption);line-height: var(--leading-body);font-weight:400;margin:var(--space-4) 0 0}
.cd-ai-orb{position:relative;isolation:isolate;display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;font-size:var(--text-metric);font-weight:400;line-height: var(--leading-body);color:#fff;background:radial-gradient(circle at 29% 25%,#c9baff,#8c65e4 43%,#4d68ce 79%);box-shadow:inset 0 1px 3px #e9e0ff,0 4px 13px #775dc42e;border:5px solid #f4f0ff}
.cd-ai-orb i{position:absolute;inset:-3px;border:1px solid #9680db80;border-radius:50%;pointer-events:none;transform:rotate(-30deg) scaleX(1.24) scaleY(.52)}
.cd-ai-orb i:nth-child(2){transform:rotate(36deg) scaleX(1.2) scaleY(.5);border-color:#c5c7ff8c}.cd-ai-orb i:nth-child(3){inset:4px;transform:none;border:0;border-radius:50%;background:radial-gradient(circle at 20% 15%,#fff7,transparent 52%);z-index:-1}
.cd-agent-status[data-state=running] .cd-ai-orb{animation:cd-pulse 2.6s ease-in-out infinite}
.cd-agent-status[data-state=running] .cd-ai-orb i:first-child{animation:cd-orbit 7s linear infinite}
.cd-trace{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4);list-style:none;padding:0;margin:0 0 var(--space-8);flex:none}
.cd-trace li{position:relative;min-width:0;font-size:var(--text-caption);line-height: var(--leading-body);text-align:center;color:var(--ai-ink-muted,#8791a8);padding:var(--space-4) var(--space-4);border:1px solid var(--ai-edge-neutral,#eceaf5);border-radius:5px;background:var(--ai-fill-base,#faf9fe)}
.cd-trace li>i{display:block;width:5px;height:5px;margin:0 auto var(--space-4);background:#c3cad7;border-radius:50%}
.cd-trace li[data-state=done]{color:var(--ai-ink-secondary,#647ba3);background:var(--ai-fill-soft,#f4f7fc);border-color:var(--ai-edge-neutral,#e4ebf6)}.cd-trace li[data-state=done]>i{background:#4fa69a}.cd-trace li[data-state=running]{color:var(--ai-ink-violet,#7053b5);background:var(--ai-fill-soft,#f3effd);border-color:var(--ai-edge-neutral,#ded4f2)}.cd-trace li[data-state=running]>i{background:#8d6bcf;box-shadow:0 0 0 3px #e8def9}.cd-trace li[data-state=partial],.cd-trace li[data-state=blocked]{color:var(--ai-ink-warn,#a18043);background:var(--ai-fill-soft,#fffaf1);border-color:var(--ai-edge-neutral,#f1e6d0)}.cd-trace li[data-state=partial]>i,.cd-trace li[data-state=blocked]>i{background:#ceac65}.cd-trace li[data-state=failed]{color:var(--ai-ink-error,#ba6d61);background:var(--ai-fill-soft,#fff4f0);border-color:var(--ai-edge-neutral,#f0d9d2)}.cd-trace li[data-state=failed]>i{background:#ce8c7a}
.cd-trace li small{display:none}.cd-trace li b{display:block;font:inherit}
.cd-insights{list-style:none;padding:0;margin:0;min-height:0;flex:1;overflow:auto;scrollbar-width:thin;color:var(--ai-ink-secondary,#445a79)}
.cd-insights li{position:relative;padding:0 0 var(--space-4) var(--space-12);font-size:var(--text-caption);line-height: var(--leading-body);margin:0 0 var(--space-4);border-bottom:1px solid var(--ai-edge-neutral,#ececf5);overflow-wrap:anywhere}
.cd-insights li::before{content:'';position:absolute;left:0;top:7px;width:3px;height:3px;border-radius:50%;background:#9e8bc2}.cd-insights li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.cd-insights b,.cd-insights strong{font-weight:600;color:var(--ai-ink-primary,#3b4e72)}
.cd-agent-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--ai-edge-neutral,#ececf5);margin-top:var(--space-4);flex:none;color:var(--ai-ink-muted,#9386a6);font-size:var(--text-caption)}
.cd-agent-foot .cd-open{min-height:24px;padding:var(--space-4) var(--space-8)}
.cd-agent-foot a{font-size:var(--text-caption)}.cd-agent-foot .cx-btn{font-size:var(--text-caption);padding:var(--space-4) var(--space-8);min-height:27px}
.cd-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,.95fr);gap:var(--space-12)}
.cd-detail-grid>.cd-card{min-height:260px;height:276px;display:flex;flex-direction:column}
.cd-detail-grid .cd-chart{height:180px}
.cd-detail-grid>.cd-card>.chart-box>.cd-chart{height:100%}
.cd-revenue>.cd-open{align-self:flex-end;min-height:20px;margin-top:var(--space-4);padding:var(--space-4) 0;border:0;background:none}
.cd-inline-metrics{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);flex-wrap:wrap;font-size:var(--text-caption);color:var(--ai-ink-secondary,#6d829d);margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--ai-edge-neutral,#edf1f7);flex:none}
.cd-inline-metrics b,.cd-inline-metrics strong{color:var(--ai-ink-secondary,#3e6089);font-size:var(--text-caption);font-weight:600;margin-left:var(--space-4)}
.cd-attention-list{list-style:none;padding:0;margin:0;flex:1;min-height:0;overflow:auto;scrollbar-width:thin}
.cd-attention>.cd-inline-metrics{margin-top:0;padding:0 0 var(--space-8);border-top:0;border-bottom:1px solid var(--ai-edge-neutral,#edf1f7);margin-bottom:var(--space-8)}
.cd-attention-list li{position:relative;display:flex;align-items:flex-start;gap:var(--space-8);padding:var(--space-8) 0;border-bottom:1px solid var(--ai-edge-neutral,#edf1f7);font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-secondary,#6d8099);overflow-wrap:anywhere}
.cd-attention-list li:first-child{padding-top:var(--space-4)}.cd-attention-list li:last-child{border-bottom:0;padding-bottom:0}
.cd-attention-list li>.i{flex:none;width:13px;height:13px;margin-top:var(--space-4);color:var(--ai-ink-muted,#7f9dbe)}.cd-attention-list li>span{min-width:0}
.cd-attention-list li[data-kind=warning]>.i,.cd-attention-list li[data-kind=warn]>.i{color:var(--ai-ink-warn,#bf914c)}.cd-attention-list li[data-kind=error]>.i,.cd-attention-list li[data-kind=fail]>.i{color:var(--ai-ink-error,#d58173)}.cd-attention-list li[data-kind=ready]>.i{color:var(--ai-ink-ok,#61aa94)}
.cd-attention-list b,.cd-attention-list strong{display:block;font-weight:600;color:var(--ai-ink-primary,#3b5375);font-size:var(--text-caption);margin-bottom:var(--space-4)}.cd-attention-list p{margin:var(--space-4) 0 0}.cd-attention-list small{font-size:var(--text-caption);color:var(--ai-ink-muted,#8b9bb0)}
.cd-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-8);min-height:100px;height:100%;font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-ink-muted,#8192aa);text-align:center;padding:var(--space-16);overflow-wrap:anywhere}.cd-empty strong{color:var(--ai-ink-secondary,#4d6687);font-weight:500}.cd-empty p{margin:0;font-size:var(--text-caption)}
@keyframes cd-pulse{50%{box-shadow:inset 0 1px #d7cdff,0 3px 13px #775dc445;transform:scale(1.03)}}
@keyframes cd-orbit{to{transform:rotate(330deg) scaleX(1.24) scaleY(.52)}}
.cx[data-motion=off] .cd-ai-orb,.cx[data-motion=off] .cd-ai-orb i{animation:none}
@media(min-width:1900px){.cd-main>.cd-card{height:340px}.cd-detail-grid>.cd-card{height:300px}.cd-kpi{padding:var(--space-16) var(--space-20);min-height:108px}.cd-kpi-value{font-size:var(--text-metric)}.cd-kpi-label{font-size:var(--text-secondary)}.cd-card-head h3{font-size:var(--text-section)}.cd-insights li{font-size:var(--text-caption)}.cd-agent-status{font-size:var(--text-secondary)}.cd-extrema,.cd-inline-metrics{font-size:var(--text-caption)}.cd-source{font-size:var(--text-caption)}.cd-attention-list li{font-size:var(--text-caption)}.cd-attention-list b,.cd-attention-list strong{font-size:var(--text-secondary)}.cd-station .cx-hero-heading h2{font-size:var(--text-page-title)}.cd-station .cx-hero-art{height:160px}.cd-station .cx-scene-stats{padding:var(--space-8) var(--space-16)}.cd-station .cx-scene-stats strong{font-size:var(--text-page-title)}.cd-station .cx-scene-stats p{font-size:var(--text-caption)}.cd-station .cx-scene-stats small{font-size:var(--text-caption)}.cd-station .cx-soc b{font-size:var(--text-caption)}}
/* 高分辨率大屏把额外高度分给图表与场景，普通笔记本保持紧凑首屏。 */
@media(min-width:1900px) and (min-height:1000px){.cd-main>.cd-card{height:clamp(340px,31vh,620px)}.cd-detail-grid>.cd-card{height:clamp(300px,27vh,540px)}.cd-station .cx-hero-art{height:auto;flex:1 1 0}}
@media(max-width:1200px) and (min-width:901px){.cd-main{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.cd-main>.cd-agent{grid-column:1/-1;height:auto;min-height:170px;display:grid;grid-template-columns:1fr 1.7fr;gap:0 var(--space-24)}.cd-agent .cd-card-head,.cd-agent-status,.cd-agent .cd-trace{grid-column:1}.cd-agent .cd-insights{grid-column:2;grid-row:1/4;max-height:145px}.cd-agent .cd-agent-foot{grid-column:1/-1}.cd-detail-grid{grid-template-columns:1fr 1fr}.cd-detail-grid>.cd-attention{grid-column:1/-1;min-height:130px;height:auto}.cd-attention .cd-attention-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-20)}.cd-attention-list li,.cd-attention-list li:first-child{padding:var(--space-4) 0 0;border-bottom:0}}
@media(max-width:900px){.cd-main{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.cd-main>.cd-agent{grid-column:1/-1;height:auto;min-height:180px}.cd-agent .cd-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-16);overflow:visible}.cd-insights li{border-bottom:0}.cd-agent .cd-trace{max-width:480px}.cd-detail-grid{grid-template-columns:1fr 1fr}.cd-detail-grid>.cd-attention{grid-column:1/-1;height:auto;min-height:150px}.cd-kpi{padding:var(--space-12);min-height:98px}.cd-kpi-value{font-size:var(--text-metric)}.cd-kpi-meta{font-size:var(--text-caption)}.cd-card{padding:var(--space-12)}.cd-station .cx-hero-heading{padding:var(--space-12) var(--space-12) 0}.cd-station .cx-hero-heading h2{font-size:var(--text-section)}.cd-station .cx-scene-stats{padding-inline:var(--space-12)}.cd-station .cx-scene-stats .cx-capacity{gap:var(--space-8)}.cd-station .cx-scene-stats .cx-soc{padding-left:var(--space-8)}.cd-station .cx-soc>div:last-child small{font-size:var(--text-caption)}}
@media(max-width:680px){.cd-main,.cd-detail-grid{grid-template-columns:minmax(0,1fr)}.cd-main>.cd-agent,.cd-detail-grid>.cd-attention{grid-column:auto}.cd-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}.cd-kpi-value{font-size:var(--text-metric)}.cd-kpi-meta{font-size:var(--text-caption)}.cd-main>.cd-card{height:320px}.cd-main>.cd-agent{height:auto;min-height:260px}.cd-main>.cd-station{height:320px}.cd-agent .cd-insights{display:block;overflow:visible}.cd-insights li{font-size:var(--text-caption);border-bottom:1px solid var(--ai-edge-neutral,#ececf5)}.cd-agent .cd-trace{max-width:none}.cd-detail-grid>.cd-card{height:290px}.cd-detail-grid>.cd-attention{height:auto;min-height:210px}.cd-attention-list{overflow:visible}.cd-attention-list li{font-size:var(--text-caption)}.cd-station .cx-hero-heading h2{font-size:var(--text-page-title)}.cd-station .cx-scene-stats strong{font-size:var(--text-page-title)}.cd-station .cx-soc>div:last-child small{font-size:var(--text-caption)}.cd-card-head h3{font-size:var(--text-body)}.cd-source{font-size:var(--text-caption)}.cx:has(.cd-dashboard) .cx-page-tools{margin-top:0}.cx:has(.cd-dashboard) .co-stage{width:108px;padding:var(--space-8) var(--space-4)}.cx:has(.cd-dashboard) .co-stage::after{top:21px}.cx:has(.cd-dashboard) .co-stage small{display:none}.cx:has(.cd-dashboard) .co-progress{margin-bottom:var(--space-12)}.cd-dashboard{gap:var(--space-12)}.cd-main,.cd-detail-grid{gap:var(--space-12)}}
@media(prefers-reduced-motion:reduce){.cd-dashboard *,.cd-dashboard *::before,.cd-dashboard *::after{animation:none!important;transition:none!important}}
@media(min-width:901px) and (max-height:950px){.cx:has(.cd-dashboard) .co-stage small{display:none}}

/* 材质统一消费以上 tokens；不对文字、图表或三维 canvas 设置透明度与滤镜。 */
body.ex-ai-mode .cx-inner{padding-inline:var(--cx-gutter)}
body.ex-ai-mode :is(.topbar,.sidebar,.menu,.modal,.toast){
  --panel:var(--ai-panel);--panel-2:var(--ai-panel-2);--panel-3:var(--ai-panel-3);--tx:var(--ai-text);--tx-2:var(--ai-text-2);--tx-3:var(--ai-text-3);--line:var(--ai-line);--line-2:var(--ai-line-2);--pri:var(--ai-accent);--pri-tx:var(--ai-ink-accent,var(--ai-accent-ink));--pri-rgb:var(--ai-accent-rgb);--pri-soft:rgba(var(--ai-accent-rgb),.10);--hover:rgba(var(--ai-accent-rgb),.08);
  --px-panel:var(--ai-panel);--px-panel-2:var(--ai-panel-2);--px-text:var(--ai-text);--px-muted:var(--ai-text-2);--px-line:var(--ai-line);--px-line-2:var(--ai-line-2);--px-brand:var(--ai-accent);--px-brand-soft:var(--pri-soft)
}
body.ex-ai-mode :is(.topbar .sb-toggle,.topbar #data-refresh,.topbar #look-btn,.topbar .user-chip,.ex-mode-switch){background:var(--ai-control-flat);border-color:var(--ai-edge);box-shadow:var(--ai-control-shadow)}
body.ex-ai-mode #look-btn{display:inline-grid;place-items:center;flex:none;color:var(--ai-text-2)}
body.ex-ai-mode .ex-mode-switch button[data-mode=ai].on{background:linear-gradient(110deg,var(--ai-accent),var(--ai-accent-peer));color:#fff}
body.ex-ai-mode .cx-btn{background:var(--ai-control);border-color:var(--ai-edge);border-radius:var(--ai-control-radius);box-shadow:var(--ai-control-shadow);color:var(--ai-ink-secondary,#35516e)}
body.ex-ai-mode .cx-btn:hover{background:var(--ai-hover);border-color:var(--ai-line-2);color:var(--ai-ink-accent,var(--ai-accent-ink))}
body.ex-ai-mode .cx-btn.primary{color:#fff;background:linear-gradient(160deg,var(--ai-accent-start),var(--ai-accent-end));border-color:var(--ai-accent);box-shadow:inset 0 1px #ffffff45,0 3px 8px rgba(var(--ai-accent-rgb),.17)}
body.ex-ai-mode .cx-btn.primary:hover{background:var(--ai-accent-end)}
body.ex-ai-mode .cx-date-control input{background:var(--ai-control-flat);border-color:var(--ai-edge-strong);border-radius:var(--ai-control-radius);box-shadow:var(--ai-control-shadow);color:var(--ai-text);color-scheme:inherit}
body.ex-ai-mode .cx :is(button,a,input,summary):focus-visible{outline-color:var(--ai-ink-accent,var(--ai-accent))}
body.ex-ai-mode .co-stepper{border-radius: var(--r-lg);background:var(--ai-stepper);box-shadow:inset 0 1px var(--ai-highlight)}
body.ex-ai-mode .co-stage.on{background:var(--ai-selected);border-color:var(--ai-edge-strong);box-shadow:var(--ai-control-shadow);border-radius:13px}
body.ex-ai-mode .co-stage:hover{background:var(--ai-soft)}
body.ex-ai-mode .co-node{border-color:rgba(var(--ai-accent-rgb),.36);background:var(--ai-control-flat);box-shadow:inset 0 1px var(--ai-highlight);color:var(--ai-ink-accent,var(--ai-accent))}
body.ex-ai-mode .co-stage[data-state=done] .co-node{background:linear-gradient(155deg,var(--ai-accent-start),var(--ai-accent-end));border-color:var(--ai-accent);box-shadow:inset 0 1px #ffffff45;color:#fff}
body.ex-ai-mode .co-stage[data-state=running] .co-node::after{border-top-color:var(--ai-accent);border-right-color:var(--ai-accent-peer)}
body.ex-ai-mode .co-stage:is([data-state=partial],[data-state=blocked]) .co-node{background:#fff7e8;border-color:#e8c993;color:#b8751b}
body.ex-ai-mode .co-stage[data-state=failed] .co-node{background:#fff0ee;border-color:#f1b6ae;color:#ce6553}
body.ex-ai-mode :is(.co-progress i,.co-readiness-progress i){background:linear-gradient(90deg,var(--ai-accent),var(--ai-accent-peer))}
body.ex-ai-mode .co-readiness-progress{background:var(--ai-line)}
body.ex-ai-mode .cd-card{border:1px solid var(--ai-edge);border-radius:var(--ai-card-radius);background:var(--ai-surface);box-shadow:var(--ai-surface-shadow)}
body.ex-ai-mode .cd-card:hover{border-color:var(--ai-edge-strong);box-shadow:inset 0 1px var(--ai-highlight),0 0 0 1px var(--ai-ring),0 7px 24px var(--ai-shadow-color)}
body.ex-ai-mode .cd-kpi{background:var(--ai-kpi)}
body.ex-ai-mode .cd-kpi::after{content:none}
body.ex-ai-mode .cd-kpi[data-kpi=estimate]{background:radial-gradient(ellipse at 98% 0,var(--ai-violet-wash),transparent 70%),var(--ai-kpi)}
body.ex-ai-mode .cd-kpi[data-kpi=spread]{background:radial-gradient(ellipse at 98% 0,var(--ai-cyan-wash),transparent 70%),var(--ai-kpi)}
body.ex-ai-mode .cd-kpi-label>.i{color:var(--ai-ink-accent,#438ed2)}body.ex-ai-mode .cd-kpi[data-kpi=estimate] .cd-kpi-label>.i{color:var(--ai-ink-violet,#8c68d8)}
body.ex-ai-mode .cd-badge{border-color:var(--ai-edge);background:var(--ai-control-flat);color:var(--ai-ink-accent,#4b73aa);border-radius: var(--r-sm);box-shadow:inset 0 1px var(--ai-highlight)}
body.ex-ai-mode .cd-badge.violet{color:var(--ai-ink-violet,#7354bd);background:var(--ai-violet-wash)}
body.ex-ai-mode .cd-badge.teal{color:var(--ai-ink-ok,#218d81);background:var(--ai-fill-soft,#edf8f5)}
body.ex-ai-mode .cd-badge.amber{color:var(--ai-ink-warn,#a17738);background:var(--ai-fill-soft,#fff7e9)}
body.ex-ai-mode .cd-open{border-color:var(--ai-edge);background:var(--ai-control-flat);border-radius: var(--r-sm);box-shadow:var(--ai-control-shadow)}
body.ex-ai-mode .cd-open:hover{background:var(--ai-hover);border-color:var(--ai-line-2)}
body.ex-ai-mode .cd-chart{background:var(--ai-chart)}
body.ex-ai-mode .cd-extrema{background:var(--ai-raised);border-color:var(--ai-edge);border-radius: var(--r-sm);box-shadow:inset 0 1px var(--ai-highlight)}
body.ex-ai-mode .cd-agent{background:radial-gradient(ellipse at 100% 0,var(--ai-agent-wash),transparent 70%),var(--ai-surface-alt)}
body.ex-ai-mode .cd-agent .cd-trace li{background:var(--ai-control-flat);border-color:var(--ai-ring);border-radius:8px}
body.ex-ai-mode .cd-agent .cd-trace li:is([data-state=partial],[data-state=blocked]){background:#fff6e8ad;border-color:#edd9b270}
body.ex-ai-mode .cd-agent .cd-trace li[data-state=running]{background:var(--ai-violet-wash);border-color:var(--ai-line-2)}
body.ex-ai-mode .cd-agent .cd-trace li[data-state=failed]{background:#fff0edb3;border-color:#f0c9c180}
body.ex-ai-mode .cd-main>.cd-station{background:var(--ai-control-flat);border-color:var(--ai-edge-strong)}
body.ex-ai-mode .cd-station>.cd-card-head{background:var(--ai-surface-alt)}
/* 三维资产使用独立材质，改变工作区外观不会染色或模糊场景。 */
body.ex-ai-mode .cd-station .cx-scene-card{border-radius:0;background:radial-gradient(ellipse at 75% 25%,#45dfdb24,transparent 65%),linear-gradient(122deg,#164b81,#147a9d 62%,#158e9e)}
body.ex-ai-mode .cd-station .cx-scene-stats{background:#10334fbb;border-top:1px solid #b3d9ee70;border-bottom:1px solid #b3d9ee40}
body.ex-ai-mode .cd-station .cx-scene-controls .cx-btn{color:#effcff;background:#10334fb8;border-color:#b3d9ee99;box-shadow:inset 0 1px #ffffff30;border-radius:8px}
body.ex-ai-mode .cd-station .cx-scene-controls .cx-btn[aria-pressed=true]{background:#dffaff;color:#174b73;border-color:#b5f2ee}
body.ex-ai-mode :is(.cx-panel,.cx-revenue,.cx-evidence,.cx-evidence-fold,.co-activity,.co-readiness,.co-soc-panel,.co-content>section:not(#co-pane-data):not(#co-pane-strategy)>.co-pane-body){background:var(--cx-glass);border-color:var(--ai-edge);border-radius:var(--ai-card-radius);box-shadow:var(--cx-glass-shadow)}
body.ex-ai-mode .cx-evidence-fold .cx-evidence{border:0;box-shadow:none;background:transparent}
body.ex-ai-mode .co-metric{background:var(--ai-soft);border-color:var(--ai-edge);border-radius:12px}
body.ex-ai-mode .co-brief-grid article{background:var(--ai-surface-alt);border-color:var(--ai-edge);border-radius:14px}
body.ex-ai-mode .co-check-score>div{background:conic-gradient(#22b89b var(--co-progress),var(--ai-line) 0)}
body.ex-ai-mode .cx .ct-btn{background:var(--ai-control-flat);border-color:var(--ai-line);color:var(--ai-text-2)}
/* 警示与通过状态维持业务语义，仅在深色中改用适配的底色与亮度。 */
body.ex-ai-mode[data-ai-theme=dark] :is(.co-input-dot,.co-input.ready .co-input-dot){box-shadow:none}
body.ex-ai-mode[data-ai-theme=dark] .co-orbit{background:var(--ai-soft);border-color:var(--ai-line);box-shadow:0 0 0 10px #85a8df0a,0 0 0 20px #85a8df05}
body.ex-ai-mode[data-ai-theme=dark] :is(.co-executive-title,.co-check-score strong){color:var(--ai-text)}
/* 通用浮层使用 AI 的局部主题，不读取经典界面的 html 主题。 */
body.ex-ai-mode .menu{background:var(--ai-surface);border:1px solid var(--ai-edge-strong);box-shadow:var(--shadow-lg);color:var(--ai-text);backdrop-filter:var(--ai-shell-blur);-webkit-backdrop-filter:var(--ai-shell-blur)}
body.ex-ai-mode .mask .modal{background:var(--ai-panel);color:var(--ai-text);border-color:var(--ai-line)}
body.ex-ai-mode .modal :is(input,textarea,select){color:var(--ai-text);color-scheme:inherit}
body.ex-ai-mode .menu.ai-look-menu{width:324px;max-width:calc(100vw - 20px);background:var(--ai-surface);backdrop-filter:var(--ai-shell-blur);-webkit-backdrop-filter:var(--ai-shell-blur)}
body.ex-ai-mode .ai-look-note{margin:var(--space-4) var(--space-12) var(--space-12);font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-text-2)}
body.ex-ai-mode .ai-look-save{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);margin:var(--space-4) 0 0;padding:var(--space-8) var(--space-12);border-top:1px solid var(--ai-line);font-size:var(--text-caption);line-height: var(--leading-body);color:var(--ai-text-2)}
body.ex-ai-mode .ai-look-save [data-ai-look-status]{flex:1;min-width:0;overflow-wrap:anywhere}
body.ex-ai-mode .ai-look-save [data-state=error]{color:var(--ai-ink-error,#bc6556)}
body.ex-ai-mode .ai-look-save [data-state=saving]{color:var(--ai-text-3)}
body.ex-ai-mode .ai-look-save [data-ai-look-retry]{flex:none;padding:var(--space-4) var(--space-8);border:1px solid var(--ai-line-2);border-radius:6px;background:var(--ai-control-flat);font:inherit;color:var(--ai-ink-accent,var(--ai-accent-ink));cursor:pointer}
body.ex-ai-mode .ai-look-save [data-ai-look-retry]:hover{background:var(--ai-hover)}
body.ex-ai-mode .ai-look-menu .swatches{width:100%}
body.ex-ai-mode .ai-look-menu .skin-opt{background:var(--ai-control-flat);border-color:var(--ai-line)}
body.ex-ai-mode .ai-look-menu .skin-opt.on{border-color:var(--ai-accent);color:var(--ai-ink-accent,var(--ai-accent-ink));background:rgba(var(--ai-accent-rgb),.08)}
body.ex-ai-mode .ai-look-menu .pv-classic{background:var(--ai-panel-2)}body.ex-ai-mode .ai-look-menu .pv-classic::before{background:var(--ai-panel-3)}body.ex-ai-mode .ai-look-menu .pv-classic::after{background:var(--ai-panel)}
body.ex-ai-mode .ai-look-menu .pv-glass{background:radial-gradient(circle at 10% 10%,rgba(var(--ai-glow-1),.55),transparent 70%),radial-gradient(circle at 90% 90%,rgba(var(--ai-glow-2),.5),transparent 70%),var(--ai-bg)}
body.ex-ai-mode .ai-look-menu .pv-glass::before,body.ex-ai-mode .ai-look-menu .pv-glass::after{background:var(--ai-control-flat);border-color:var(--ai-edge)}
/* 折叠/抽屉尺寸仍沿用主布局；窄屏为新增外观入口释放操作栏空间。 */
@media(max-width:560px){body.ex-ai-mode .topbar #look-btn{width:28px;height:28px}body.ex-ai-mode .topbar .top-actions{gap:var(--space-4)}body.ex-ai-mode .topbar .ai-btn{padding-inline:var(--space-8)}body.ex-ai-mode .ai-look-menu{width:306px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body.ex-ai-mode .sidebar{background:var(--ai-panel-2)}body.ex-ai-mode .topbar,body.ex-ai-mode .menu{background:var(--ai-panel)!important}}
@media(prefers-reduced-transparency:reduce){body.ex-ai-mode{--ai-side-bg:var(--ai-panel-2);--ai-top-bg:var(--ai-panel);--ai-surface:var(--ai-panel);--ai-surface-alt:var(--ai-panel);--ai-kpi:var(--ai-panel);--ai-control:var(--ai-panel-2);--ai-control-flat:var(--ai-panel-2);--ai-shell-blur:none;background-image:none}}

/* 今日运营排版：内容决定行高，所有尺寸下优先保留可读的绘图区。 */
.cx:has(.cd-dashboard) :is(.cd-dashboard,.cd-kpis,.cd-main,.cd-detail-grid){gap:var(--gap)}
.cx:has(.cd-dashboard) .co-stepper{align-items:stretch;gap:var(--gap);padding:0;border-radius:var(--ai-control-radius)}
body.ex-ai-mode .cx:has(.cd-dashboard) .co-stage{align-self:stretch;margin:0;padding:var(--space-8);border-radius:var(--ai-control-radius)}
.cx:has(.cd-dashboard) .co-progress{align-items:baseline;line-height:var(--leading-body)}
.cd-main>.cd-card,.cd-detail-grid>.cd-card{height:auto;min-height:0}
.cd-main>.cd-station{min-height:380px}
.cd-card>.cd-chart,.cd-card>.chart-box{flex:1 1 260px;min-height:260px}
.cd-card>.chart-box>.cd-chart{height:100%;min-height:260px}
.cd-main .cd-insights{display:flex;flex-direction:column;justify-content:space-evenly;gap:var(--gap);overflow:visible;flex:1 0 auto}
.cd-main .cd-insights li{padding-bottom:var(--space-8);margin:0}
.cd-agent .cd-agent-foot,.cd-attention .cd-agent-foot{margin-top:auto}
.cd-attention-list{display:flex;flex-direction:column;justify-content:space-evenly;gap:var(--space-4);flex:1 0 auto;overflow:visible}
.cd-attention-list li{padding-block:var(--space-8)}
/* 图片下缘保持深蓝底，12px 次要文字在四种外观中均清晰。 */
body.ex-ai-mode .cd-station .cx-art-label{color:#e0f1ff}
@media(min-width:1900px){
  .cd-station .cx-hero-art{height:auto}
  .cd-station .cx-hero-heading h2{font-size:var(--text-section)}
  .cd-station .cx-scene-stats{padding:var(--seam) var(--gap)}
  .cd-station .cx-scene-stats strong{font-size:var(--text-body)}
}
@media(max-width:680px){
  .cd-station .cx-hero-heading{padding:0}
  .cd-station .cx-scene-stats strong{font-size:var(--text-body)}
  .cd-main .cd-insights{gap:var(--space-8)}
}
/* 首页使用有对比度余量的文字与边界；色相、玻璃材质和全站字号保持不变。 */
body.ex-ai-mode .cd-station .cx-scene-stats{bottom:32px}
body.ex-ai-mode .cd-station .cx-art-label{left:0;right:0;bottom:0;padding:var(--seam) var(--gap);color:#cde4f4;background:#10334f99}

/* 页面布局与内容适配。 */
.cd-kpi-value, .cd-inline-metrics strong, .cd-extrema strong { white-space: nowrap; }
.cd-note-part { display: inline-block; max-width: 100%; white-space: normal; text-wrap: pretty; }
.cd-insights li, .cd-attention-list li { text-wrap: pretty; line-break: strict; overflow-wrap: normal; font-size: var(--text-secondary); }
.cd-main .cd-insights, .cd-attention .cd-attention-list { display: flex; flex-direction: column; justify-content: center; gap: var(--space-24); padding-block: var(--space-24); margin-block: 0; max-height: none; }
.cd-main .cd-insights li, .cd-attention .cd-attention-list li { flex: none; margin: 0; padding-block: 0; border-bottom: 0; }
.cd-agent .cd-trace, .cd-attention > .cd-inline-metrics { margin-bottom: 0; }
.cd-card-head > .cd-open { margin-left: 0; align-self: center; order: 3; }
.cd-card-head > div:first-child { margin-right: auto; }
.cd-card-head > .chart-ai-actions { margin-left: 0; }
.cd-revenue > .cd-open { align-self: flex-end; margin-top: var(--space-8); min-height: 24px; padding: var(--space-4) var(--space-8); border: 1px solid var(--ai-edge); }
.cx-page-heading { align-items: center; }
.cx:has(.cd-dashboard) .cx-date-control { padding-top: var(--space-20); }
.cd-station .cx-scene-stats { flex-wrap: wrap; justify-content: flex-start; gap: var(--space-8) var(--space-16); }
.cd-station .cx-scene-stats > div { margin-left: 0; }
body.ex-ai-mode .avatar { background: #285bb5; color: #fff; }
@media (min-width: 1201px) { .cd-main, .cd-detail-grid { grid-template-columns: minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr); } }
@media (max-width: 700px) { .cx:has(.cd-dashboard) .cx-date-control { padding-top: 0; } }

/* 阶段说明均衡换行，窄屏不把最后一个汉字单独挤到下一行。 */
.co-metric p, .co-pane-heading p, .co-warnings li, .co-brief-grid p, .cx-evidence p { text-wrap: balance; line-break: strict; }

/* 活动说明沿用正文行高。 */
.co-activity h4 { line-height: var(--leading-body); }

/* B1: internal workspace overview; keep measurements, shrink the scene. */
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-main > .cd-station { height:296px; min-height:0; align-self:start; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station > .cd-card-head { min-height:40px; padding:8px 12px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cd-eyebrow { display:none; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-scene-card { min-height:0; margin:0; --scene-inset-top:40px; --scene-inset-bottom:64px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-hero-art { height:auto; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-hero-heading { top:8px; left:12px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-scene-controls { top:8px; right:8px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-scene-controls .cx-btn { width:26px; min-width:26px; height:28px; min-height:28px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-scene-stats { bottom:28px; padding:4px 12px; gap:8px; flex-wrap:wrap; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-scene-stats > div { gap:4px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-scene-stats strong { font-size:15px; line-height:20px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-scene-stats :is(span,small) { font-size:12px; line-height:20px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-art-label { left:12px; right:12px; bottom:4px; font-size:11px; line-height:16px; }
/* Reflow the floating facts into two lines, without removing any fact. */
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) > .fa-banner { grid-template-columns:220px minmax(0,1fr) minmax(240px,.8fr); min-height:0; padding:10px 12px; gap:12px; align-items:center; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-visual { width:auto; height:auto; min-width:0; justify-self:stretch; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-illustration { display:none; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-float-layer { position:static; display:flex; flex-wrap:wrap; gap:4px 12px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-chip { position:static; animation:none; padding:0; border:0; background:transparent; box-shadow:none; font-size:12px; line-height:20px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-copy { padding:0; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-copy h2 { font-size:15px; line-height:20px; margin:4px 0; text-wrap:wrap; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-copy p { font-size:12px; line-height:18px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-aside { display:block; padding-left:12px; grid-column:auto; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-aside-label { margin-bottom:4px; font-size:11px; line-height:16px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-facts { gap:8px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) :is(.fa-next,.fa-fact) { padding:0; border:0; border-radius:0; background:transparent; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-next b { font-size:12px; line-height:18px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-next p { margin:2px 0 0; font-size:11px; line-height:16px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-fact strong { font-size:16px; line-height:20px; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-progress { margin-top:4px; font-size:11px; line-height:16px; }
@media(max-width:900px) {
 :root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) > .fa-banner { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
 :root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-aside { grid-column:1/-1; padding:0; border:0; }
}
@media(max-width:600px) {
 :root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) > .fa-banner { grid-template-columns:minmax(0,1fr); gap:8px; }
 :root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx :is(#co-pane-strategy,#co-pane-brief) .fa-aside { grid-column:auto; }
 :root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-main > .cd-station { height:296px; }
}

/* Independent columns let the first body card use the space below the overview. */
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .b1-overview-columns { align-items:start; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .b1-overview-column { display:flex; flex-direction:column; gap:var(--gap); min-width:0; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .b1-overview-column > .cd-card { width:100%; height:auto; flex:none; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .b1-overview-column > .cd-station { height:var(--b1-station-h,296px); }
/* 宽屏三列底部对齐：列拉齐到最高一列，每列最后一张卡吃掉剩余高度（卡内图表随之变高），不留空白。 */
@media(min-width:1201px) {
 :root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .b1-overview-columns { align-items:stretch; }
 :root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .b1-overview-column > .cd-card:last-child { flex:1 1 auto; }
}
@media(max-width:1200px) {
 :root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .b1-overview-columns { grid-template-columns:minmax(0,1fr); }
 :root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .b1-overview-column > .cd-agent { display:flex; }
}
/* AI 运营分析卡：用 Flux 动态形象代替原来的静态星形图标；推演进行中时形象进入「思考」状态。 */
.cd-agent-orb{display:block;flex:none;width:56px;height:56px}

/* V1: allocate the compact overview's middle band to the orbiting station. */
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-scene { inset:0; }
:root[data-skin][data-theme][data-palette] body.ex-ai-mode .cx .cd-station .cx-scene-card { --scene-inset-top:36px; --scene-inset-bottom:64px; }
/* 今日运营：推演完成后状态行没有新信息（完成时间在各阶段卡、阶段数在顶栏），隐藏；推演中与中断时仍显示进度和提示（用户 2026-11-12） */
.cx:has(.cd-dashboard) .co-progress.is-done{display:none}
/* 毛玻璃 / 经典下阶段条没有卡片底板，状态行隐藏后只剩 4px，阶段文字贴住指标卡；保留 8px 占位 */
:root:not([data-skin="alice"]) .cx:has(.cd-dashboard) .co-progress.is-done{display:block;height:0;padding:0;margin:0 0 8px;overflow:hidden}
/* AI 页面页头：桌面宽度下顶栏已显示页名，页内小字 + 大标题重复且占两行；去掉后日期控件与状态标签并成一行（用户 2026-11-12「占的空间太大」）。窄屏顶栏不显示页名，保留标题。 */
@media(min-width:900px){
  .cx .cx-page-heading>.cx-page-title{display:none}
  .cx .cx-page-heading{padding-top:0;padding-bottom:0;margin-bottom:var(--space-8);min-height:0}
  .cx:has(.cd-dashboard) .cx-page-heading .cx-date-control{padding-top:0}
}
/* 调频卡与现货卡等高：调频图吃掉剩余高度，不在卡下留空（用户 2026-11-13） */
.cx .cx-suggestions>.cx-panel:has(#cx-fm-chart){align-self:stretch;display:flex;flex-direction:column}
.cx .cx-suggestions>.cx-panel:has(#cx-fm-chart)>:is(.chart-box:has(#cx-fm-chart),#cx-fm-chart){flex:1 1 auto;min-height:220px;display:flex;flex-direction:column}
.cx .cx-suggestions>.cx-panel:has(#cx-fm-chart) #cx-fm-chart{flex:1 1 auto;height:auto;min-height:220px}
/* AI 模式拉到底不留大段空白（用户 2026-11-13）：智能舱给 #view 的 96px 底边距在 AI 页面收到 12px */
:root[data-skin][data-theme][data-palette] body.ex-ai-mode #view.view,
:root[data-skin][data-theme][data-palette] body.ex-ai-mode:has(> .cabin-assistant) #view.view{padding-bottom:12px}
/* 底边距收小后，页脚右端按钮会落在右下角悬浮 Flux 形象下面：有悬浮形象时页脚右侧让出一个按钮位 */
:root[data-skin][data-theme][data-palette] body.ex-ai-mode:has(> .cabin-assistant) .cx .cx-inner > :last-child{padding-right:76px}
