/* ==========================================================================
   AIHotTool Broadsheet — 设计令牌
   亮色编辑杂志风：纸白 / 墨黑 / 粉色点色 / 衬线拉丁数字
   数据来源：ui-ux-pro-max「Magazine/Blog」配色 +「Magazine Style」字体配对
             +「Editorial Grid / Magazine」风格族
   ========================================================================== */

/* --------------------------------------------------------------------------
   自托管字体（拉丁子集，各约 26KB 可变字体）
   仅覆盖拉丁字符：中文继续走系统字体栈，避免动辄数 MB 的 CJK 字体下载。
   -------------------------------------------------------------------------- */
@font-face {
  font-family: "Libre Bodoni";
  src: url("../fonts/libre-bodoni-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  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+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Public Sans";
  src: url("../fonts/public-sans-latin.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
  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+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  color-scheme: light;

  /* ---- 颜色 ------------------------------------------------------------
     对比度核验（vs #FAFAFA / #FFFFFF）：
       --ink          18.9:1  ✓ 正文、标题
       --ink-soft      9.8:1  ✓ 次级正文
       --ink-mute      7.4:1  ✓ 元信息（仍高于 4.5:1）
       --accent-deep   6.0:1  ✓ 可承载正文级链接与标签文字
       --accent        3.5:1  ✗ 仅用于大字、下划线、边框、色块（非文字信息）  */
  --paper: #fafafa;
  --paper-deep: #f1f1ef;
  --card: #ffffff;

  --ink: #09090b;
  --ink-strong: #18181b;
  --ink-soft: #3f3f46;
  --ink-mute: #475569;

  --rule: #e4e4e7;
  --rule-ink: #18181b;

  --accent: #ec4899;
  --accent-deep: #be185d;
  --accent-wash: #fdf2f8;

  --danger: #dc2626;

  /* 语义别名 */
  --bg: var(--paper);
  --text: var(--ink);
  --text-muted: var(--ink-mute);
  --border: var(--rule);
  --focus-ring: var(--ink-strong);

  /* ---- 字体 ------------------------------------------------------------ */
  --font-display: "Libre Bodoni", "Songti SC", "Noto Serif SC", Georgia,
    "Times New Roman", serif;
  --font-sans: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",
    "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC",
    sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", "JetBrains Mono",
    Consolas, "Liberation Mono", "PingFang SC", "Microsoft YaHei", monospace;
  /* 中文标题：黑体加粗 + 收紧字距，避免衬线中文在不同系统上渲染不一致 */
  --font-heading: var(--font-sans);

  /* ---- 字号（流式）----------------------------------------------------- */
  --fs-display: clamp(2.75rem, 6.2vw, 5.25rem);
  --fs-h1: clamp(2.125rem, 4.4vw, 3.75rem);
  --fs-h2: clamp(1.625rem, 2.8vw, 2.5rem);
  --fs-h3: clamp(1.25rem, 1.8vw, 1.625rem);
  --fs-h4: clamp(1.0625rem, 1.3vw, 1.1875rem);
  --fs-body: 1.0625rem;
  --fs-body-lg: 1.1875rem;
  --fs-small: 0.9375rem;
  --fs-label: 0.75rem;

  /* ---- 行高 / 字距 ----------------------------------------------------- */
  --lh-tight: 1.08;
  --lh-snug: 1.28;
  --lh-body: 1.78;
  --ls-label: 0.14em;
  --ls-tight: -0.015em;
  --ls-display: -0.025em;

  /* ---- 间距（8 的倍数，编辑版式留白充足）------------------------------- */
  --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;
  --space-9: 6rem;
  --space-10: 8rem;

  /* ---- 版心与栅格 ------------------------------------------------------ */
  --wrap: 78rem;          /* 1248px 常规页面 */
  --wrap-reading: 92rem;  /* 1472px 阅读页三栏（目录 | 正文 | 侧栏）——三栏排得开的前提 */
  --wrap-narrow: 47rem;   /* 752px 阅读栏宽 */
  --wrap-wide: 86rem;
  --gutter: 1.25rem;
  --grid-gap: 1.5rem;
  --measure: 38em;        /* 长文最佳行宽；加宽版心只加两侧，行宽不变 */
  --rail-toc: 18rem;      /* 左栏目录宽度 */
  --rail-side: 20rem;     /* 右栏侧边栏宽度 */

  /* ---- 形状（编辑风：锐利直角，仅在标签处使用胶囊）--------------------- */
  --radius: 0;
  --radius-sm: 2px;
  --radius-pill: 999px;

  /* ---- 描边与高度（刻意不用投影，靠 1px 细线分层）---------------------- */
  --hairline: 1px solid var(--rule);
  --hairline-ink: 1px solid var(--ink-strong);
  --shadow-none: none;

  /* ---- 动效 ------------------------------------------------------------ */
  --ease: cubic-bezier(0.2, 0.6, 0.2, 1);
  --dur-fast: 120ms;
  --dur: 200ms;
  --dur-slow: 320ms;

  /* ---- 层级 ------------------------------------------------------------ */
  --z-header: 100;
  --z-overlay: 200;
  --z-skip: 300;
}

@media (min-width: 48rem) {
  :root {
    --gutter: 2rem;
    --grid-gap: 2rem;
  }
}

@media (min-width: 80rem) {
  :root {
    --gutter: 2.5rem;
  }
}

/* 用户要求减少动效时，把所有过渡收敛到近乎瞬时 */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 1ms;
    --dur: 1ms;
    --dur-slow: 1ms;
  }
}
