/* ============================================================
   展会电箱安全监测大屏 · 共享主题（字体 / 设计令牌 / 玻璃面板 / 数字排版）
   专家会诊后统一规范：思源黑体 + Rajdhani 数字、青蓝冷色主调、
   红只给告警、规格色去饱和、文字去辉光、8px 栅格、玻璃拟态。
   ============================================================ */
@font-face{font-family:'Noto Sans SC';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/noto-sans-sc-400.woff2) format('woff2')}
@font-face{font-family:'Noto Sans SC';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/noto-sans-sc-500.woff2) format('woff2')}
@font-face{font-family:'Noto Sans SC';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/noto-sans-sc-700.woff2) format('woff2')}
@font-face{font-family:'Noto Sans SC';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/noto-sans-sc-900.woff2) format('woff2')}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/rajdhani-600.woff2) format('woff2')}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/rajdhani-700.woff2) format('woff2')}

/* token 覆盖：沿用旧变量名，统一改值，避免动到大量内联 CSS */
:root{
  --bg0:#060b14; --bg1:#0a1422;
  --text:#e6f2ff; --muted:#8099af; --muted2:#6e8ca6;
  --cyan:#23d3ec;        /* 品牌主色（装饰：环/链路/边） */
  --blue:#3fa9f5;
  --green:#27e07a;       /* 语义：正常/在线 */
  --amber:#ffc23d;       /* 语义：预警 */
  --red:#ff3b47;         /* 语义：告警（独占最高饱和） */
  --purple:#9b7bff;
  --line:rgba(120,180,230,.22);
  --panel:rgba(14,24,38,.55);
  --font-cn:'Noto Sans SC','Microsoft YaHei','PingFang SC',system-ui,sans-serif;
  --font-num:'Rajdhani','Bahnschrift','DIN Alternate','Noto Sans SC',sans-serif;
}

/* 全局字体 */
body{font-family:var(--font-cn);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* 标题：思源黑 Heavy + 字距，辉光收到极轻 */
h1{font-family:var(--font-cn)!important;font-weight:900!important;letter-spacing:1.5px!important;
   text-shadow:0 0 14px rgba(35,211,236,.22)!important}

/* 英文/坐标小标：全大写 + 字距 + 降明度 */
.clock{color:var(--muted2)!important;letter-spacing:.4px;font-variant-numeric:tabular-nums}

/* 数字（KPI / 数值）统一 Rajdhani 等宽数字、去模糊辉光 */
.kpi .value,.value,.metric strong,.kpi .value *{
  font-family:var(--font-num)!important;font-weight:600!important;
  font-variant-numeric:tabular-nums!important;letter-spacing:.5px;text-shadow:none!important}
.kpi .label,.metric span{color:var(--muted)!important;font-weight:400;letter-spacing:.3px}

/* 玻璃面板：圆角 + 细描边 + 顶部内高光 + 毛玻璃，让 3D 光晕透出 */
.kpi,.panel,.timeline,.drill-card,.cutaway,.halllist,.legend,.hint,.back,#tip,.drill-overlay header,.mini,.mini2{
  border:1px solid var(--line)!important}
.kpi,.panel,.timeline,.drill-card,.cutaway,.legend,.hint,.back{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,0) 16px),var(--panel)!important;
  border-radius:10px!important;backdrop-filter:blur(9px)!important;
  box-shadow:inset 0 0 0 1px rgba(120,180,230,.04),0 8px 30px rgba(0,4,10,.45)!important}

/* 面板标题：左侧信号条 + 16px/600，颜色随语义 */
.panel h2,.drill-card h2,.cutaway h2{font-weight:700!important;letter-spacing:.3px}

/* 告警卡：一红压全场 + 呼吸 */
.alarm,.alarm-card{border:1px solid var(--red)!important;
  box-shadow:0 0 22px rgba(255,59,71,.28),inset 0 0 26px rgba(255,59,71,.10)!important;
  animation:alarmPulse 2.6s ease-in-out infinite}
@keyframes alarmPulse{0%,100%{box-shadow:0 0 16px rgba(255,59,71,.20),inset 0 0 22px rgba(255,59,71,.08)}
  50%{box-shadow:0 0 30px rgba(255,59,71,.40),inset 0 0 28px rgba(255,59,71,.14)}}

/* 列表行：3 列 + 数值右对齐等宽 */
.halllist .hrow b,.row b,.layer-row b,.state-row b{font-family:var(--font-num)!important;font-variant-numeric:tabular-nums}
