/* ============================================================
   设计 token 系统：全站唯一取值来源。
   概念：「控制柜通电」——整页是一张正在通电的电路原理图。
   任何颜色、字体、间距、动效时长禁止在 token 之外硬编码。
   ============================================================ */

:root {

    /* 主底色：图纸深蓝（蓝而非黑） */
    --ink: #122B45;

    /* 次级底色：区块与端子排底板 */
    --panel: #1A3A5C;

    /* 回路描边、分隔线与次级文字的银蓝（对比度 6.9:1，高于 AA） */
    --trace: #9FB6CC;

    /* 正文文字 */
    --paper: #EDF2F7;

    /* 唯一强调色：指示灯琥珀，仅用于「通电」语义 */
    --lamp: #E8A33D;

    /* 辅助色：未点亮节点、弱分隔，不用于小号正文 */
    --dim: #5E7A97;

    /* 展示层字体：站酷庆科黄油体（工业几何感） */
    --font-display: "ZCOOL QingKe HuangYou", "Noto Sans SC", system-ui, sans-serif;

    /* 正文字体：思源黑体 */
    --font-body: "Noto Sans SC", system-ui, "Microsoft YaHei", sans-serif;

    /* 图面标注字体：JetBrains Mono */
    --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;

    /* 文摘衬线字体：思源宋体（古典竖排专用） */
    --font-serif: "Noto Serif SC", "Source Han Serif SC", "STSong", "SimSun", serif;

    /* 间距阶梯：基础 4px 网格 */
    --space-1: 0.25rem;

    --space-2: 0.5rem;

    --space-3: 1rem;

    --space-4: 1.5rem;

    --space-5: 2.5rem;

    --space-6: 4rem;

    /* 动效时长：主回路描边自绘 */
    --motion-draw: 1400ms;

    /* 动效时长：节点灯点亮的过渡 */
    --motion-lamp: 220ms;

    /* 动效时长：服务端子排浮现 */
    --motion-reveal: 300ms;

    /* 动效节奏：相邻节点灯点亮的时间步进 */
    --motion-node-step: 220ms;

    /* 缓动曲线：通电动效统一使用直给的线性节奏，模拟电流推进 */
    --ease-power: cubic-bezier(0.2, 0.6, 0.3, 1);

    /* 字号阶梯：图面小标注 */
    --text-xs: 0.75rem;

    /* 字号阶梯：辅助说明 */
    --text-sm: 0.875rem;

    /* 字号阶梯：正文 */
    --text-md: 1rem;

    /* 字号阶梯：端子名与服务名 */
    --text-lg: 1.375rem;

    /* 字号阶梯：章节标题 */
    --text-title: clamp(1.5rem, 3vw, 2rem);

    /* 字号阶梯：英雄区人名 */
    --text-display: clamp(2.75rem, 6vw, 4.25rem);

    /* 圆角：端子与灯座 */
    --radius-1: 4px;

    /* 圆角：面板与区块 */
    --radius-2: 8px;

    /* 描边宽度：回路走线 */
    --stroke-trace: 2px;

    /* 描边宽度：电流脉冲亮痕 */
    --stroke-pulse: 2.5px;

    /* 电流脉冲巡行周期 */
    --motion-pulse: 9s;

    /* 版心最大宽度 */
    --page-max: 1240px;

    /* 回路走线颜色：点亮前的银蓝，供描边动画引用 */
    --trace-live: var(--trace);
}
