/* v25 · 暖白新拟物（soft）—— 手工层。加载在 theme-soft-auto.css（自动层）之后，所以同样的选择器以这里为准。
   只在 :root[data-theme="soft"] 下生效；四套深色配色不受影响。
   规则（与设计稿一致）：
   - 底色暖米白 #F2E8E0；卡片、按钮与背景同色，只靠一亮一暗两层阴影成形。
   - 凸起：-6px -6px 14px #FFF / 6px 6px 14px #D6C8BD；凹陷：inset 4px 4px 10px #D6C8BD / inset -4px -4px 10px #FFF。
   - 圆角：大面板 24、卡片 18、按键 14、指示灯正圆。
   - 钴蓝 #2F4BD0 只给按下、开启、当前项和关键数据；朱橙 #E2552D 只做告警色块，告警文字 #B23A16。
   - 五个业务信号色含义不变，调深到 ≥4.5:1，并始终配文字。
   - 拟物只给可交互的东西；表格、正文、推导、日志保持平整。
   - 状态变化 120–300 ms 弹簧；GEO 路由动效的速度与呼吸不在这里改（只换颜色）。 */

:root[data-theme="soft"]{
  color-scheme:light;
  /* 新拟物参数 */
  --nm-paper:#F2E8E0;--nm-paper2:#EBDFD5;--nm-hi:#FFFFFF;--nm-lo:#D6C8BD;
  --nm-raise:-6px -6px 14px var(--nm-hi),6px 6px 14px var(--nm-lo);
  --nm-raise-s:-3px -3px 8px var(--nm-hi),3px 3px 8px var(--nm-lo);
  --nm-raise-h:-7px -7px 16px var(--nm-hi),7px 7px 16px #D1C2B6;
  --nm-inset:inset 4px 4px 10px var(--nm-lo),inset -4px -4px 10px var(--nm-hi);
  --nm-inset-s:inset 2px 2px 6px var(--nm-lo),inset -2px -2px 6px var(--nm-hi);
  --nm-led-off:#C9BBAF;--nm-led-on:#2F4BD0;--nm-led-glow:0 0 0 3px rgba(47,75,208,.14),0 0 10px rgba(47,75,208,.55);
  --nm-spring:cubic-bezier(.34,1.56,.64,1);--nm-ease:cubic-bezier(.2,.8,.2,1);
  --nm-r-xl:24px;--nm-r-l:18px;--nm-r:14px;--nm-r-s:10px;
  --nm-cobalt:#2F4BD0;--nm-alarm:#E2552D;--nm-alarm-text:#B23A16;

  /* theme.css / brand.css / style.css 变量 */
  --bg:#F2E8E0;--card:#F2E8E0;--surface:#F2E8E0;--surface-solid:#F2E8E0;--surface-raised:#F2E8E0;
  --tile:#F2E8E0;--tile-hover:#EDE2D9;--input:#F2E8E0;
  --border:rgba(120,96,74,.16);--border-strong:rgba(120,96,74,.32);
  --text:#23201D;--text-secondary:#5C544D;--secondary:#5C544D;--muted:#6E655E;
  --accent:#2F4BD0;--accent-bg:rgba(47,75,208,.10);--accent-border:rgba(47,75,208,.45);
  --blue:#2F62B5;--green:#276B41;--pending:#8A5400;--danger:#B23A16;--error:#B23A16;
  --sig-keep:#276B41;--sig-evidence:#2F62B5;--sig-content:#8A5400;--sig-seed:#B03E68;--sig-live:#0B7480;
  --stripe:linear-gradient(90deg,#2F4BD0 0%,#2F62B5 35%,#0B7480 65%,#276B41 100%);
  --glow-a:rgba(255,255,255,0);--glow-b:rgba(255,255,255,0);
  --brand-navy:#2F4BD0;--brand-teal:#0B7480;--brand-mint:#0B7480;
  --module-blue:#2F62B5;--module-purple:#5B4BC4;--module-amber:#8A5400;--module-teal:#0B7480;
  --shadow:var(--nm-raise);--network-ink:#276B41;

  /* 指挥大屏 */
  --hq-void:#F2E8E0;--hq-deep:#F2E8E0;--hq-g1:#F2E8E0;--hq-g2:#F2E8E0;--hq-g3:#F2E8E0;
  --hq-line:rgba(120,96,74,.16);--hq-line2:rgba(120,96,74,.32);
  --hq-ink:#23201D;--hq-ink2:#5C544D;--hq-ink3:#6E655E;
  --hq-ion:#0B7480;--hq-ion-rgb:11,116,128;--hq-navy:#2F4BD0;--hq-teal:#0B7480;--hq-mint:#0B7480;
  --hq-sol:#8A5400;--hq-fault:#B23A16;--hq-null:#8A7F75;--hq-good:#276B41;--hq-ai:#A84A17;--hq-violet:#5B4BC4;
  --hq-bg1:rgba(47,75,208,.04);--hq-bg2:rgba(11,116,128,.04);

  /* 液压 2.0 */
  --x-void:#F2E8E0;--x-deep:#F2E8E0;--x-glass:#F2E8E0;--x-glass2:#F2E8E0;
  --x-line:rgba(120,96,74,.16);--x-line2:rgba(120,96,74,.32);
  --x-ink:#23201D;--x-ink2:#5C544D;--x-ink3:#6E655E;
  --x-ion:#0B7480;--x-sol:#8A5400;--x-good:#276B41;--x-fault:#B23A16;--x-null:#8A7F75;--x-violet:#2F62B5;--x-ai:#A84A17;
  --x-grid:rgba(120,96,74,.06);--x-brand-a:#0B7480;--x-brand-b:#2F4BD0;
}

/* ---------------------------------------------------------------- 底色：干净的暖米白，没有发光网格和渐变 */
:root[data-theme="soft"] body{background:#F2E8E0!important;color:#23201D}
:root[data-theme="soft"] body.hq::before,:root[data-theme="soft"] body.hq::after,
:root[data-theme="soft"] .x-app::before,:root[data-theme="soft"] .x-app::after{opacity:0!important}
:root[data-theme="soft"] ::selection{background:rgba(47,75,208,.18);color:#23201D}
:root[data-theme="soft"] :focus-visible{outline:2px solid #2F4BD0!important;outline-offset:3px}
:root[data-theme="soft"] *{scrollbar-color:#D6C8BD transparent}
:root[data-theme="soft"] ::-webkit-scrollbar-thumb{background:#D6C8BD;border-radius:8px}
:root[data-theme="soft"] ::-webkit-scrollbar-track{background:transparent}

/* ---------------------------------------------------------------- 大面板：凸起，没有玻璃模糊和描边 */
:root[data-theme="soft"] .hq-glass,:root[data-theme="soft"] .x-glass,:root[data-theme="soft"] .x-panel,
:root[data-theme="soft"] .hq-drawer,:root[data-theme="soft"] .x-drawer,
:root[data-theme="soft"] .workspace-header,:root[data-theme="soft"] .card,:root[data-theme="soft"] .panel{
  background:#F2E8E0!important;border-color:transparent!important;box-shadow:var(--nm-raise)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
:root[data-theme="soft"] .hq-left,:root[data-theme="soft"] .hq-right,:root[data-theme="soft"] .hq-drawer,
:root[data-theme="soft"] .x-panel,:root[data-theme="soft"] .x-drawer{border-radius:var(--nm-r-xl)}
:root[data-theme="soft"] .hq-panel,:root[data-theme="soft"] .x-panel-lite,:root[data-theme="soft"] .hq-callout,
:root[data-theme="soft"] .hq-agent,:root[data-theme="soft"] .hq-accard,:root[data-theme="soft"] .x-ev-card{
  background:#F2E8E0!important;border-color:transparent!important;box-shadow:var(--nm-raise-s)!important;border-radius:var(--nm-r-l)}
/* 嵌在面板里的读数窗、空状态、说明块：凹陷 */
:root[data-theme="soft"] .hq-empty,:root[data-theme="soft"] .x-empty,:root[data-theme="soft"] .hq-kv,:root[data-theme="soft"] .x-kv,
:root[data-theme="soft"] .x-ai-notice,:root[data-theme="soft"] .hq-holo{
  background:#F2E8E0!important;border-color:transparent!important;box-shadow:var(--nm-inset-s)!important;border-radius:var(--nm-r)}
:root[data-theme="soft"] .hq-scrim{background:rgba(110,90,72,.22)!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}

/* ---------------------------------------------------------------- 按键：键帽 */
:root[data-theme="soft"] .hq-btn,:root[data-theme="soft"] .x-btn,:root[data-theme="soft"] .hq-pill,:root[data-theme="soft"] .hq-icon,
:root[data-theme="soft"] .hq-user,:root[data-theme="soft"] .hq-dl,:root[data-theme="soft"] .hq-kpi,:root[data-theme="soft"] .hq-cmdbar,
:root[data-theme="soft"] .x-icon,:root[data-theme="soft"] .btn,:root[data-theme="soft"] button.secondary,:root[data-theme="soft"] .icon-button{
  background:#F2E8E0!important;border-color:transparent!important;color:#23201D;box-shadow:var(--nm-raise-s)!important;
  transition:transform 160ms var(--nm-spring),box-shadow 160ms var(--nm-ease),color 160ms}
:root[data-theme="soft"] .hq-btn:hover,:root[data-theme="soft"] .x-btn:hover,:root[data-theme="soft"] .hq-pill:hover,:root[data-theme="soft"] .hq-icon:hover,
:root[data-theme="soft"] .hq-user:hover,:root[data-theme="soft"] .hq-dl:hover,:root[data-theme="soft"] .hq-kpi:hover,:root[data-theme="soft"] .hq-cmdbar:hover,
:root[data-theme="soft"] .x-icon:hover,:root[data-theme="soft"] .btn:hover,:root[data-theme="soft"] button.secondary:hover,:root[data-theme="soft"] .icon-button:hover{
  transform:translateY(-1px);box-shadow:var(--nm-raise-h)!important}
:root[data-theme="soft"] .hq-btn:active,:root[data-theme="soft"] .x-btn:active,:root[data-theme="soft"] .hq-pill:active,:root[data-theme="soft"] .hq-icon:active,
:root[data-theme="soft"] .hq-user:active,:root[data-theme="soft"] .hq-dl:active,:root[data-theme="soft"] .hq-kpi:active,:root[data-theme="soft"] .hq-cmdbar:active,
:root[data-theme="soft"] .x-icon:active,:root[data-theme="soft"] .btn:active,:root[data-theme="soft"] button.secondary:active,:root[data-theme="soft"] .icon-button:active,
:root[data-theme="soft"] .x-btn[aria-pressed="true"],:root[data-theme="soft"] .hq-btn[aria-pressed="true"],:root[data-theme="soft"] .hq-dl.on,:root[data-theme="soft"] .hq-dl[aria-current="page"]{
  transform:translateY(2px);box-shadow:var(--nm-inset)!important}
:root[data-theme="soft"] .x-btn[aria-pressed="true"],:root[data-theme="soft"] .hq-btn[aria-pressed="true"],:root[data-theme="soft"] .hq-dl.on,:root[data-theme="soft"] .hq-dl[aria-current="page"]{color:#2F4BD0!important;font-weight:600}
/* 主操作：钴蓝字的键帽（不是整块蓝底） */
:root[data-theme="soft"] .hq-btn.primary,:root[data-theme="soft"] .x-btn.primary,:root[data-theme="soft"] .x-btn.x-pri,:root[data-theme="soft"] .btn.primary,:root[data-theme="soft"] button.primary{
  color:#2F4BD0!important;font-weight:600;background:#F2E8E0!important}
:root[data-theme="soft"] .hq-btn.danger,:root[data-theme="soft"] .x-btn.danger,:root[data-theme="soft"] .btn.danger{color:#B23A16!important}
:root[data-theme="soft"] .hq-btn:disabled,:root[data-theme="soft"] .x-btn:disabled,:root[data-theme="soft"] .btn:disabled{opacity:.55;transform:none;box-shadow:var(--nm-raise-s)!important}

/* 分段键与页签：凹槽里的一排键，当前项按下 */
:root[data-theme="soft"] .hq-seg,:root[data-theme="soft"] .x-seg,:root[data-theme="soft"] .hq-tabs,:root[data-theme="soft"] .x-dtabs,
:root[data-theme="soft"] .hq-drtabs,:root[data-theme="soft"] .hq-subtabs{
  background:#F2E8E0!important;border-color:transparent!important;box-shadow:var(--nm-inset-s)!important;border-radius:var(--nm-r);padding:3px;gap:3px}
:root[data-theme="soft"] .hq-seg>button,:root[data-theme="soft"] .x-seg>button,:root[data-theme="soft"] .hq-tabs>button,:root[data-theme="soft"] .x-dtabs>button,
:root[data-theme="soft"] .hq-drtabs>button,:root[data-theme="soft"] .hq-drtabs>a,:root[data-theme="soft"] .hq-subtabs>button,:root[data-theme="soft"] .hq-subtabs>a{
  background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:#5C544D;border-radius:var(--nm-r-s);
  transition:transform 160ms var(--nm-spring),box-shadow 160ms var(--nm-ease),color 160ms}
:root[data-theme="soft"] .hq-seg>button[aria-pressed="true"],:root[data-theme="soft"] .x-seg>button[aria-pressed="true"],
:root[data-theme="soft"] .hq-tabs>button[aria-selected="true"],:root[data-theme="soft"] .x-dtabs>button[aria-selected="true"],
:root[data-theme="soft"] .hq-drtabs>[aria-selected="true"],:root[data-theme="soft"] .hq-drtabs>[aria-current="page"],
:root[data-theme="soft"] .hq-subtabs>[aria-selected="true"],:root[data-theme="soft"] .hq-subtabs>[aria-current="page"],
:root[data-theme="soft"] .x-seg>button.on,:root[data-theme="soft"] .hq-seg>button.on{
  background:#F2E8E0!important;box-shadow:var(--nm-raise-s)!important;color:#2F4BD0!important;font-weight:600}

/* ---------------------------------------------------------------- 输入：凹陷 */
:root[data-theme="soft"] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),
:root[data-theme="soft"] select,:root[data-theme="soft"] textarea,:root[data-theme="soft"] .x-input,:root[data-theme="soft"] .x-select{
  background:#F2E8E0!important;border-color:transparent!important;color:#23201D!important;box-shadow:var(--nm-inset-s)!important;border-radius:var(--nm-r-s)}
:root[data-theme="soft"] input::placeholder,:root[data-theme="soft"] textarea::placeholder{color:#6E655E}
:root[data-theme="soft"] input:focus,:root[data-theme="soft"] select:focus,:root[data-theme="soft"] textarea:focus{box-shadow:var(--nm-inset-s),0 0 0 2px rgba(47,75,208,.55)!important}
:root[data-theme="soft"] input[type=checkbox],:root[data-theme="soft"] input[type=radio]{accent-color:#2F4BD0}
:root[data-theme="soft"] input[type=range]{accent-color:#2F4BD0}

/* ---------------------------------------------------------------- 小凸起：标签、徽章、芯片 */
:root[data-theme="soft"] .hq-tag,:root[data-theme="soft"] .hq-chip,:root[data-theme="soft"] .x-tag,:root[data-theme="soft"] .x-pill,
:root[data-theme="soft"] .x-rule-chip,:root[data-theme="soft"] .hq-lanechip{
  background:#F2E8E0!important;border-color:transparent!important;box-shadow:var(--nm-raise-s)!important;border-radius:999px}
:root[data-theme="soft"] .hq-badge,:root[data-theme="soft"] .x-badge{background:#E2552D!important;color:#FFFFFF!important;box-shadow:none!important}

/* ---------------------------------------------------------------- 平整区：表格、推导、日志、事件带 */
:root[data-theme="soft"] table,:root[data-theme="soft"] .hq-tbl,:root[data-theme="soft"] .x-tbl{background:transparent!important;box-shadow:none!important}
:root[data-theme="soft"] th,:root[data-theme="soft"] td{border-color:rgba(120,96,74,.16)!important}
:root[data-theme="soft"] th{color:#6E655E!important}
:root[data-theme="soft"] tr:hover>td{background:rgba(120,96,74,.05)!important}

/* ---------------------------------------------------------------- 指示灯（.x-dot / 状态点） */
:root[data-theme="soft"] .x-dot{box-shadow:inset 1px 1px 2px rgba(0,0,0,.12)}

/* ---------------------------------------------------------------- 文字与链接 */
:root[data-theme="soft"] a{color:#2F4BD0}
:root[data-theme="soft"] a:hover{color:#23201D}
:root[data-theme="soft"] code,:root[data-theme="soft"] kbd{background:#F2E8E0!important;box-shadow:var(--nm-inset-s);border-color:transparent!important;color:#23201D!important;border-radius:6px}

/* ---------------------------------------------------------------- 动效偏好 */
@media (prefers-reduced-motion:reduce){
  :root[data-theme="soft"] *{transition-duration:0s!important}
}
:root[data-theme="soft"]:is(.hq-reduced,.x-reduced) *{transition-duration:0s!important}

/* ---------------------------------------------------------------- 登录页（设计稿“登录”画板） */
:root[data-theme="soft"] .login-card{border:0;border-radius:32px;background:#F2E8E0;backdrop-filter:none;-webkit-backdrop-filter:none;
  box-shadow:-8px -8px 18px #FFFFFF,8px 8px 18px #D6C8BD}
:root[data-theme="soft"] .brand-mark{border:0;border-radius:16px;background:#F2E8E0;box-shadow:var(--nm-raise-s)}
:root[data-theme="soft"] .private-label{border:0;border-radius:10px;color:#6E655E;box-shadow:var(--nm-inset-s)}
:root[data-theme="soft"] .field label{color:#6E655E}
:root[data-theme="soft"] .field input{height:50px;padding:12px 16px;border:0;border-radius:16px;background:#F2E8E0;color:#23201D;font-size:16px;box-shadow:var(--nm-inset)}
:root[data-theme="soft"] .field input:focus{box-shadow:var(--nm-inset),0 0 0 2px #2F4BD0}
:root[data-theme="soft"] .button-primary{min-height:52px;border:0;border-radius:16px;background:#F2E8E0;color:#2F4BD0;font-weight:600;font-size:16px;box-shadow:-5px -5px 12px #FFFFFF,5px 5px 12px #D6C8BD;
  transition:transform 160ms var(--nm-spring),box-shadow 160ms var(--nm-ease)}
:root[data-theme="soft"] .button-primary:hover{background:#F2E8E0;transform:translateY(-1px)}
:root[data-theme="soft"] .button-primary:active{transform:translateY(2px);box-shadow:var(--nm-inset)}
:root[data-theme="soft"] .button-primary:disabled{color:#6E655E;transform:none;opacity:.7}
