@charset "UTF-8";
/* ==========================================================================
   图像格式PictureFormat · assets/css/base.css
   阶段：P1 设计系统（tokens + reset + 排版基线 + 暗色 + 无障碍 + 打印锚点）
   原则：零框架 / 零 CDN / 全本地；本文件只定义"语言"，不写具体版面。
   后续：P2 newspaper.css 消费变量；P3 drawer.css；P5 print.css 接管 05 区。
   分区索引：
     01 tokens   02 reset   03 排版   04 通用工具   05 @media print   06 a11y
   ========================================================================== */


/* ==========================================================================
   01 tokens —— 设计令牌
   ========================================================================== */

/* --- 01a 自托管拉丁/数字字体（EB Garamond · OFL-1.1 · 可商用免署名 · 约46KB） ---
   ※ 文件后续补进 assets/fonts/；此处路径先写好。仅 latin 子集，
     配合 unicode-range，中文绝不会命中本字体、不会产生豆腐块。 */
@font-face {
  font-family: "EB Garamond";
  font-style: normal;
  font-weight: 400;
  font-display: swap;            /* 满足离线/慢网首屏可读 */
  src: url("../fonts/ebgaramond-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "EB Garamond";
  font-style: normal;
  font-weight: 600;              /* 报头/加粗标题用第二字重 */
  font-display: swap;
  src: url("../fonts/ebgaramond-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --- 01b 自托管中文黑体（Noto Sans SC ＝ 思源黑体 SC · OFL-1.1 · 可商用免署名） ---
   P8 字体波：仅「报头刊名 / 条目大标题」两处消费（newspaper.css 经 --font-cjk-black 单点引用）。
   · 单字重 700（本机雅黑无 Heavy，900 会映射回 Bold 纯浪费体积，故只做 700）；
   · 字集：GB2312 一级汉字(3755) ∪ 站点现有全部 CJK ＝ 3808 字 + 拉丁/数字 + 中文标点；
   · unicode-range 放开至「拉丁 + CJK」（P8.3「全黑体」）：报头刊名的拉丁/数字亦走本黑体（紧排无空格）；
     依据该子集 cmap 4689 本就含完整 ASCII（A–Z/a–z/0–9 全覆盖）→ 0 字节增量、0 新增请求；
     区间外字符（如生僻字）自然回落下一族（栈尾 --font-serif），不产生豆腐块；
   · font-display: swap（首屏先系统字体、字体到位即换）；★ 刻意 **不 preload**（中文体积大，
     首屏无 CJK 标题时不该抢占带宽）；URL 挂 ?v= 破缓存（与 np_asset_ver 同步，改动时一并 +1）。 */
@font-face {
  font-family: "NP Black SC";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/noto-sans-sc-700-cjk-subset.woff2?v=p8.1") format("woff2");
  unicode-range: U+0000-00FF, U+2000-206F, U+3000-303F, U+4E00-9FFF, U+FF00-FFEF;
}

:root {
  color-scheme: light;

  /* ---- 色板：量化取自参考图「七里息斯诺」，数值锁定，勿擅改 ----------------
     ※ 粉色系「手套粉」已弃用，全库不得出现（其色值见任务说明，此处不转录）。 */
  --paper:        #E7EBEF;   /* 纸底·冷灰蓝（非泛黄羊皮纸） */
  --paper-deep:   #DCE1E7;   /* 次级纸面 / 区块底 */
  --paper-edge:   #CFD6DE;   /* 纸边暗部 / 凹陷底 */

  --ink:          #1E2A36;   /* 正文墨色（≈12:1，达标） */
  --ink-strong:   #141C26;   /* 报头 / 大标题 */
  --ink-mute:     #5A6B7C;   /* 次级文字、标签、注释（≈4.8:1，仅次要信息） */

  --blue:         #425A72;   /* ★主色·角色雾蓝 */
  --blue-deep:    #364E66;   /* 主色深阶 / 刊头底 / 按钮 */
  --blue-mist:    #AEBABA;   /* 雾气浅蓝：分栏底 / hover 填充 */
  --blue-pale:    #D2DEEA;   /* 浅青蓝：选中态 / 浅底 */

  --brass:        #A6834E;   /* 黄铜：仅结构与仪式（框线/缎带/报头装饰）≤5% */
  --brass-light:  #C6A670;   /* 黄铜高光 */

  --rule:         #8E9EAB;   /* 1px 分隔线 / 栏线 / 铆钉底 */

  --silver:       #C3CAD0;   /* 银：仅做"底/小件"，绝不作文本色 ≤5% */
  --silver-hi:    #E4E8EB;   /* 银高光（铆钉顶面 / 内描边） */
  --silver-lo:    #93A0AC;   /* 银暗部（金属阴影 / 银饰描边，勿做正文） */

  /* ---- 语义色（引用上面原子色，供 P2/P4 复用） ---- */
  --bg:            var(--paper);
  --bg-sunken:     var(--paper-edge);
  --surface:       var(--paper);
  --surface-alt:   var(--paper-deep);
  --text:          var(--ink);
  --text-strong:   var(--ink-strong);
  --text-muted:    var(--ink-mute);
  --link:          var(--blue-deep);
  --link-hover:    var(--blue);
  --border:        var(--rule);
  --border-soft:   color-mix(in srgb, var(--rule) 55%, transparent);
  --accent:        var(--blue);
  --accent-soft:   var(--blue-pale);
  --metal:         var(--brass);
  --metal-hi:      var(--brass-light);

  /* ---- 报头刊名专用墨色（P8.3）—— ★专用令牌，取自主视觉头像头发主体色
     （H210 S0.43 V0.44，占图 18.5%）；仅 .np-masthead__title 消费；
     **不改** --text-strong（那是全站正文色，改则波及全站）。 ---- */
  --np-masthead-ink: #405870;   /* 头发原色照抄（明色纸 --paper 上 6.15:1 达标） */

  /* ---- 字体栈 ---- */
  /* 拉丁/数字 → EB Garamond；中文 → 系统衬线栈；末尾 serif 兜底 */
  --font-serif:
    "EB Garamond",
    "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun",
    Georgia, "Times New Roman", serif;
  /* 等宽：代码/期号/栏目标签小数 */
  --font-mono:
    ui-monospace, "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", monospace;
  /* 中文黑体（P8 自托管 · 独立令牌 · 仅 01b 的 "NP Black SC" 一处回指）——
     只给「报头刊名 / 条目大标题」两处用；用法 font-family: var(--font-cjk-black), var(--font-serif);
     栈尾必须接 var(--font-serif) 兜底。※ 不改 --font-serif / --font-mono（§13 冻结）。 */
  --font-cjk-black: "NP Black SC";

  /* ---- 字号尺度（root = 17px；移动端降一档见 02） ---- */
  --fs-base:   1rem;                    /* 17px */
  --fs-sm:     0.85rem;
  --fs-xs:     0.75rem;
  --fs-lead:   1.12rem;                 /* 导语 */
  --fs-h1:     clamp(2.0rem, 1.35rem + 2.6vw, 3.15rem);
  --fs-h2:     clamp(1.55rem, 1.2rem + 1.5vw, 2.25rem);
  --fs-h3:     clamp(1.3rem, 1.1rem + 0.85vw, 1.7rem);
  --fs-h4:     1.16rem;
  --fs-h5:     1.02rem;
  --fs-h6:     0.86rem;

  /* ---- 行高 / 字距 ---- */
  --lh-body:   1.9;                     /* 报纸阅读感，硬约束 */
  --lh-tight:  1.25;
  --lh-head:   1.35;
  --track-head: 0.01em;                 /* 中文标题微放宽 */
  --track-caps: 0.16em;                 /* 报头大写/加宽字距 */

  /* ---- 版心 / 断点（对齐 5.6） ---- */
  --layout-max:   1200px;               /* ≥1200 三栏 */
  --layout-wide:  1024px;
  --measure:      68ch;                 /* 单栏最佳阅读宽度 */
  --measure-tight: 44ch;                /* 副栏 / 抽屉 */
  --gutter:       clamp(1rem, 4vw, 2.5rem);

  /* ---- 间距阶梯（8px 基） ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;

  /* ---- 圆角 / 描边 / 阴影（蒸汽朋克：少圆角、重描边、纸感投影） ---- */
  --radius-sm: 2px;
  --radius:    3px;
  --radius-lg: 4px;
  --hairline:  1px;
  --border-w:  1px;
  --shadow-paper: 0 1px 0 var(--paper-edge), 0 2px 10px rgba(30, 42, 54, .06);
  --shadow-lift:  0 2px 4px rgba(30, 42, 54, .10), 0 8px 24px rgba(30, 42, 54, .10);

  /* ---- 焦点环（对比必须可见） ---- */
  --focus-ring:  #2E5C86;
  --focus-width: 2px;
  --focus-offset: 2px;

  /* ---- 动效 ---- */
  --dur-fast:  120ms;
  --dur:       220ms;
  --dur-slow:  360ms;
  --ease:      cubic-bezier(.2, .6, .2, 1);

  /* ---- 层级 ---- */
  --z-base: 1;
  --z-sticky: 100;
  --z-drawer: 900;
  --z-overlay: 800;
}

/* --- 01b 暗色令牌：prefers-color-scheme 与 [data-theme="dark"] 双通道 -------------
   深藏蓝底 + 微亮纸面（非纯黑），冷调一致。 */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;

    --paper:        #1A232E;   /* 微亮纸面（深藏蓝） */
    --paper-deep:   #151D26;
    --paper-edge:   #0F161D;

    --ink:          #DDE4EA;   /* 深底浅墨 */
    --ink-strong:   #F0F4F7;
    --ink-mute:     #9DAEBD;

    --blue:         #8FA8C0;
    --blue-deep:    #A7BDD2;
    --blue-mist:    #3A4A5A;
    --blue-pale:    #26333F;

    --brass:        #C6A670;
    --brass-light:  #D8BC8C;

    --rule:         #37434F;

    --silver:       #4A5866;
    --silver-hi:    #6E7D8C;
    --silver-lo:    #333F4A;

    --np-masthead-ink: var(--blue);   /* 暗色采「格B」：引用主题既有蓝令牌 --blue（运行时=#8FA8C0，暗纸 #1A232E 上 6.44:1）。※ 明/暗不对称是有意为之——明色用自定义品牌蓝 #405870、暗色跟随主题蓝；勿当 bug 改回。 */

    --focus-ring:   #9CC0E0;
    --shadow-paper: 0 1px 0 #0B1117, 0 2px 12px rgba(0, 0, 0, .35);
    --shadow-lift:  0 2px 6px rgba(0, 0, 0, .40), 0 10px 28px rgba(0, 0, 0, .45);
  }
}

:root[data-theme="dark"] {
  color-scheme: dark;

  --paper:        #1A232E;
  --paper-deep:   #151D26;
  --paper-edge:   #0F161D;

  --ink:          #DDE4EA;
  --ink-strong:   #F0F4F7;
  --ink-mute:     #9DAEBD;

  --blue:         #8FA8C0;
  --blue-deep:    #A7BDD2;
  --blue-mist:    #3A4A5A;
  --blue-pale:    #26333F;

  --brass:        #C6A670;
  --brass-light:  #D8BC8C;

  --rule:         #37434F;

  --silver:       #4A5866;
  --silver-hi:    #6E7D8C;
  --silver-lo:    #333F4A;

  --np-masthead-ink: var(--blue);   /* 暗色采「格B」：引用主题既有蓝令牌 --blue（运行时=#8FA8C0，暗纸 #1A232E 上 6.44:1）。※ 明/暗不对称是有意为之——明色用自定义品牌蓝 #405870、暗色跟随主题蓝；勿当 bug 改回。 */

  --focus-ring:   #9CC0E0;
  --shadow-paper: 0 1px 0 #0B1117, 0 2px 12px rgba(0, 0, 0, .35);
  --shadow-lift:  0 2px 6px rgba(0, 0, 0, .40), 0 10px 28px rgba(0, 0, 0, .45);
}


/* ==========================================================================
   02 reset —— 归零与现代浏览器基线（支持近两年 Chrome/Edge/Safari/Firefox）
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html {
  font-size: 17px;                 /* 根字号锚点 */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-serif);
  font-size: var(--fs-base);
  line-height: var(--lh-body);
  color: var(--text);
  background-color: var(--bg);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures;
}

/* 标题 / 段落 / 列表的默认外边距归零，交给 03 排版与 P2 布局控制 */
h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, ol, ul, pre { margin: 0; }
ol[role="list"], ul[role="list"] { list-style: none; padding: 0; }

/* 媒体与表单 */
img, picture, svg, video, canvas {
  max-width: 100%;
  height: auto;
  display: block;
}
img { border-style: none; }

input, button, textarea, select {
  font: inherit;                   /* 表单继承字体（含衬线） */
  color: inherit;
  letter-spacing: inherit;
}
button { background: none; border: 0; cursor: pointer; }
textarea { resize: vertical; }

a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--link-hover); }

table { border-collapse: collapse; width: 100%; }

hr { border: 0; }

[hidden] { display: none !important; }


/* ==========================================================================
   03 排版基线 —— 标题层级 / 正文 / 引用 / 列表 / 代码 / 表格
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
  color: var(--text-strong);
  font-weight: 600;                /* 对应 EB Garamond 600；中文回落到系统粗衬线 */
  line-height: var(--lh-head);
  letter-spacing: var(--track-head);
  text-wrap: balance;
}
h1 { font-size: var(--fs-h1); line-height: var(--lh-tight); font-weight: 600; }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-h4); }
h5 { font-size: var(--fs-h5); }
h6 {
  font-size: var(--fs-h6);
  text-transform: uppercase;
  letter-spacing: var(--track-caps);
  color: var(--text-muted);
}

/* 相邻标题与正文的呼吸（P2 版面可覆盖） */
h1 + *, h2 + *, h3 + *, h4 + * { margin-top: var(--space-3); }

p { max-width: var(--measure); }
p + p { margin-top: var(--space-4); }

/* 导语：按文章首段就近放大，供 P2 头条调用 */
.lead, p.lead {
  font-size: var(--fs-lead);
  line-height: 1.8;
  color: var(--text-strong);
}

strong, b { font-weight: 600; color: inherit; }
small { font-size: var(--fs-sm); }
abbr[title] { text-decoration: underline dotted; cursor: help; }

/* 引用：报纸式左侧铜/墨竖线，不用花哨引号图标 */
blockquote {
  margin: var(--space-5) 0;
  padding: var(--space-2) 0 var(--space-2) var(--space-5);
  border-left: 3px solid var(--rule);
  color: var(--text-strong);
  font-style: italic;
}
blockquote cite,
blockquote footer {
  display: block;
  margin-top: var(--space-2);
  font-style: normal;
  font-size: var(--fs-sm);
  color: var(--text-muted);
}
blockquote cite::before { content: "— "; }

/* 列表 */
ul, ol { padding-left: 1.4em; }
li + li { margin-top: var(--space-1); }
li::marker { color: var(--text-muted); }
dl dt { font-weight: 600; color: var(--text-strong); }
dl dd { margin: var(--space-1) 0 0 0; }
dl dd + dt { margin-top: var(--space-3); }

/* 行内代码 / 代码块 */
code, kbd, samp, pre { font-family: var(--font-mono); font-size: 0.9em; }
:not(pre) > code {
  padding: 0.1em 0.35em;
  background: var(--paper-deep);
  border: var(--hairline) solid var(--border-soft);
  border-radius: var(--radius-sm);
  color: var(--text-strong);
}
pre {
  margin: var(--space-5) 0;
  padding: var(--space-4);
  overflow-x: auto;
  background: var(--paper-deep);
  border-left: 3px solid var(--blue);
  border-radius: var(--radius);
  line-height: 1.6;
}
pre code { padding: 0; background: none; border: 0; }

/* 表格：报纸线框风 */
table { margin: var(--space-5) 0; font-variant-numeric: tabular-nums; }
caption {
  caption-side: bottom;
  padding-top: var(--space-2);
  font-size: var(--fs-sm);
  color: var(--text-muted);
  text-align: left;
}
th, td {
  padding: var(--space-2) var(--space-3);
  text-align: left;
  border-bottom: var(--hairline) solid var(--border);
}
thead th {
  border-bottom: 2px solid var(--ink);
  color: var(--text-strong);
  font-weight: 600;
}

/* 图片说明 */
figcaption {
  margin-top: var(--space-2);
  font-size: var(--fs-sm);
  color: var(--text-muted);
}

/* 文本选择：浅青蓝底（对应 --blue-pale） */
::selection { background: var(--blue-pale); color: var(--ink-strong); }


/* ==========================================================================
   04 通用工具 —— 供 P2/P3/P4 复用的锚点类（不绑定具体版面）
   ========================================================================== */

/* 版心容器：默认宽版；加 .container--measure 收窄到阅读宽度 */
.container {
  width: 100%;
  max-width: var(--layout-max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.container--narrow { max-width: 820px; }
.container--measure { max-width: var(--measure); }
.container--wide { max-width: var(--layout-wide); }

/* 单/多栏阅读容器（P2 正文区可直接套） */
.prose { max-width: var(--measure); }
.prose--columns {
  max-width: 72rem;
  columns: 22ch 3;
  column-gap: var(--space-6);
  column-rule: var(--hairline) solid var(--border);
}

/* 分隔线与铜饰：.rule 单线 / .rule--double 双线 / .ornament 铜饰中线 */
.rule {
  border: 0;
  border-top: var(--hairline) solid var(--border);
  margin: var(--space-6) 0;
}
.rule--double {
  border-top: 3px double var(--rule);
}
.rule--strong { border-top-width: 2px; border-top-color: var(--ink); }
.rule--brass { border-top-color: var(--metal); }

.ornament {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: var(--space-6) 0;
  color: var(--metal);                 /* 黄铜只到结构与仪式 */
}
.ornament::before,
.ornament::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--rule) 30%, var(--rule) 70%, transparent);
}
.ornament > :where(svg, i, span) { flex: none; }

/* 报头装饰锚点（P2 接管具体尺寸） */
.masthead-rule {
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding-block: var(--space-1);
}
.masthead-rule--brace {                       /* 上下双线夹一条黄铜细线 */
  border-block: 3px double var(--rule);
}

/* 期号 / 日期 / 栏目标签的等宽小字 */
.meta, .kicker, .issue-line {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
  color: var(--text-muted);
}

/* 未读角标 / 功能小件：银底 + 深墨字（银永不作正文色） */
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.4em;
  padding: 0.1em 0.4em;
  background: var(--silver);
  color: var(--ink-strong);
  border-radius: 999px;
  font-size: var(--fs-xs);
  line-height: 1.4;
}

/* 按钮（极简，评论表单/抽屉复用；P2 可覆盖） */
.button {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  background: var(--blue-deep);
  color: var(--paper);
  border: var(--border-w) solid var(--blue-deep);
  border-radius: var(--radius);
  line-height: 1.4;
  text-decoration: none;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.button:hover { background: var(--blue); border-color: var(--blue); color: var(--paper); }
.button--ghost {
  background: transparent;
  color: var(--text-strong);
  border-color: var(--rule);
}
.button--ghost:hover { background: var(--blue-pale); color: var(--ink-strong); }

/* 表单控件基线（评论 / 搜索 / 抽屉搜索复用） */
input, select, textarea { accent-color: var(--blue-deep); }
:where(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="submit"]) {
  padding: var(--space-2) var(--space-3);
  background: var(--paper-deep);
  border: var(--border-w) solid var(--rule);
  border-radius: var(--radius);
  color: var(--text-strong);
}
:where(input, select, textarea):focus-visible { border-color: var(--blue-deep); }

/* 通用隐藏（视觉隐藏但保留给屏幕阅读器） */
.visually-hidden:not(:focus):not(:active) {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* 布局小工具 */
.stack > * + * { margin-top: var(--space-4); }
.cluster { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }


/* ==========================================================================
   05 @media print —— 打印锚点
   ※ 具体报纸版面由 P5 的 assets/css/print.css 接管；此处只留通用基线锚点。
   ========================================================================== */
@media print {
  :root { color-scheme: light; }
  html, body { background: #fff; color: #000; }
  a[href]::after { content: ""; }               /* P5 再定是否展开 URL，此处留空以免误加 */
  .no-print, .skip-link { display: none !important; }
  .container { max-width: none; padding: 0; }
  .rule, .ornament { break-inside: avoid; }
  h1, h2, h3 { break-after: avoid; }
  img, table, blockquote, pre { break-inside: avoid; }
}


/* ==========================================================================
   06 a11y —— 焦点可见 / 跳转 / 降低动效
   ========================================================================== */

/* 统一焦点环（键盘可见，鼠标不打扰） */
:focus-visible {
  outline: var(--focus-width) solid var(--focus-ring);
  outline-offset: var(--focus-offset);
  border-radius: var(--radius-sm);
}
:focus:not(:focus-visible) { outline: none; }

/* 跳转到主内容（header.php 首个元素；target 为主内容区 id） */
.skip-link {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  padding: var(--space-2) var(--space-4);
  background: var(--blue-deep);
  color: var(--paper);
  text-decoration: none;
  transform: translateY(-120%);
  transition: transform var(--dur) var(--ease);
}
.skip-link:focus { transform: translateY(0); color: var(--paper); }

#main:target, main:target { outline: none; }

/* 尊重 prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* 默认显示高对比/强制色适配（系统强制颜色模式） */
@media (forced-colors: active) {
  :focus-visible { outline: 2px solid CanvasText; }
  .button { border: 1px solid ButtonText; }
}


/* ==========================================================================
   响应式断点 —— 字号与 spacing 微调（布局分栏归 P2，这里只保证基线）
   断点锚：≥1200 三栏 / 768~1199 两栏 / <768 单栏；<=600 降根字号
   ========================================================================== */
@media (max-width: 1024px) {
  :root { --gutter: clamp(0.9rem, 3.5vw, 2rem); }
  .prose--columns { columns: 22ch 2; }
}

@media (max-width: 768px) {
  :root {
    --gutter: clamp(0.85rem, 4vw, 1.5rem);
    --lh-body: 1.95;                 /* 小屏加大行高，报纸更透气 */
  }
  .prose--columns { columns: 1; }
}

@media (max-width: 600px) {
  html { font-size: 16px; }          /* 移动端根字号降一档 */
}
