/* 设计令牌（开发设计 §4.1）：色系与字体仿 GDV，只有深色一套。琥珀 --accent 只用于界面部件，不进三维画布 */
@font-face { font-family: "Inter"; font-weight: 400; font-display: swap; src: url(../vendor/inter/inter-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 500; font-display: swap; src: url(../vendor/inter/inter-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 600; font-display: swap; src: url(../vendor/inter/inter-latin-600-normal.woff2) format("woff2"); }
/* 中文：Noto Sans SC 子集（来源与校验见 vendor/noto-sc/SOURCE.json）；600 由 700 字重承担（CJK 无半粗） */
@font-face { font-family: "Noto Sans SC"; font-weight: 400; font-display: swap; src: url(../vendor/noto-sc/NotoSansSC-400.woff2) format("woff2"); }
@font-face { font-family: "Noto Sans SC"; font-weight: 500; font-display: swap; src: url(../vendor/noto-sc/NotoSansSC-500.woff2) format("woff2"); }
@font-face { font-family: "Noto Sans SC"; font-weight: 600 700; font-display: swap; src: url(../vendor/noto-sc/NotoSansSC-700.woff2) format("woff2"); }

:root {
  --bg0: #08090B; --panel: #16191E; --raise: #22272E; --hover: rgba(255, 255, 255, .06);
  --line: #2E343C; --line2: #414955;
  --frame: #7C8796;   /* 三维外框、网格与刻度线：比界面分隔线亮，暗底上读得出空间尺度 */
  --t1: #F2F4F7; --t2: #C3CAD3; --t3: #8B95A3; --ctl: #B3BCC8;
  --accent: #E8B45A; --accent-weak: rgba(232, 180, 90, .12); --accent-line: rgba(232, 180, 90, .45);
  --halo: rgba(8, 9, 11, .9); --shadow: 0 2px 12px rgba(0, 0, 0, .5);
  --font: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, monospace;

  /* 数据配色（开发设计 §4.2）：供图例与 HUD 使用；三维材质从 lib/theme.js 取同一组值 */
  --c-g1: #F2803A; --c-g2: #D65DB1; --c-g0: #6E7885;

  /* 版面（显示设计 §1，数值照 GDV 停靠版面）：顶栏、左栏（收起 48）、右栏（信息卡 340 / 按需）、时间条（44 / 静态 28）、剖面抽屉 */
  --th: 52px; --lw: 320px; --rw: 0px; --tb: 44px; --ph: 0px;
}
body.lc { --lw: 48px; }
body.has-right { --rw: 340px; }
body.t-static { --tb: 28px; }
body.has-prof { --ph: clamp(240px, calc(var(--vh, 100vh) * .34), 380px); }
body.has-prof.tall-prof { --ph: clamp(260px, calc(var(--vh, 100vh) * .38), 460px); }
body.has-prof.table-prof { --ph: clamp(300px, calc(var(--vh, 100vh) * .48), 560px); }
/* 抽屉高度：用户拖过上缘后用 --ph-user（关闭抽屉即失效）。放大不改 --ph：抽屉盖在画布上（app.css body.max-prof #prof），三维画布尺寸不变 */
body.has-prof.user-prof { --ph: clamp(220px, var(--ph-user), calc(var(--vh, 100vh) - var(--th) - var(--tb) - 120px)); }
body.present.has-prof { --ph: 0px; }   /* 演示模式不显示抽屉，画布不让位 */
body.present { --th: 0px; --lw: 0px; --rw: 0px; --ph: 0px; --tb: 84px; }
