/* ============================================================
   npl 设计变量唯一来源 —— 「案卷 Dossier」设计系统 v2
   v2 变更：字体层重做（中文衬线优选、弃用 SimSun 大字标题）、
   页脚转墨底、黄铜线作全站签名、数字用衬线显示体。
   对比度按 WCAG AA 校准。
   ============================================================ */
:root {
    /* —— 墨色（文字） —— */
    --ink: #1B1F1D;
    --ink-soft: #3E4741;
    --muted: #67716A;
    --faint: #939C95;

    /* —— 纸色（背景），暖调宣纸 —— */
    --paper: #FFFFFF;
    --paper-2: #F6F5EF;
    --paper-3: #EDEBE2;
    --line: #E0DCCF;
    --line-strong: #CDC8B6;

    /* —— 主强调：松墨绿 —— */
    --accent: #1F4A3C;
    --accent-dark: #143528;
    --accent-tint: #E4EDE7;

    /* —— 副强调：黄铜（编号、细线、页脚题签） —— */
    --brass: #9C7A3A;
    --brass-text: #7C5E26;
    --brass-tint: #F6EEDD;

    /* —— 页脚墨底 —— */
    --footer-bg: #16211C;
    --footer-ink: #D5DCD4;
    --footer-muted: #94A296;

    /* —— 语义状态 —— */
    --ok: #2F6B45;
    --ok-tint: #E8F2EB;
    --warn: #8F6516;
    --warn-tint: #F8F0DC;
    --danger: #A03527;
    --danger-tint: #F8EBE8;

    /* —— 字体 ——
       显示体：优先思源/Noto 衬线（Mac 有宋体栈），落到系统黑体族收尾，
       绝不让大标题落进 SimSun；西文与数字先走 Georgia 衬线。
       正文：现代中文无衬线栈（鸿蒙黑、MiSans、苹方、雅黑）。 */
    --font-display: Georgia, "Times New Roman", "Noto Serif SC",
        "Source Han Serif SC", "Songti SC", "PingFang SC",
        "HarmonyOS Sans SC", "Microsoft YaHei", sans-serif;
    --font-num: Georgia, "Times New Roman", serif;
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
        "HarmonyOS Sans SC", "MiSans", "Hiragino Sans GB", "Microsoft YaHei",
        "Noto Sans SC", Arial, sans-serif;
    --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

    /* —— 排版尺度 —— */
    --text-xs: 12px;
    --text-sm: 13.5px;
    --text-base: 16.5px;
    --text-lg: 19px;
    --text-xl: 24px;
    --text-2xl: 32px;
    --text-3xl: 44px;
    --line-height: 1.8;
    --line-height-tight: 1.25;
    --tracking-kicker: 0.22em;

    /* —— 间距（4px 基准） —— */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-12: 48px;
    --space-16: 64px;

    /* —— 布局 —— */
    --container: 1200px;
    --container-reading: 760px;
    --header-h: 72px;
    --sidebar-w: 264px;
    --gutter: 24px;

    /* —— 圆角：克制 —— */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;

    /* —— 阴影 —— */
    --shadow-sm: 0 1px 3px rgba(22, 33, 28, 0.06);
    --shadow-md: 0 10px 28px -10px rgba(22, 33, 28, 0.22);

    /* —— 动效 —— */
    --transition-fast: 150ms ease;
    --transition-normal: 280ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
