/* Hallmark · macrostructure: Catalogue · tone: modern-minimal · anchor: Coral
   N3 side rail adapted to an internal library; Ft2 compact utility footer.
   Chinese-first system typography is retained for readable, offline use. */
:root {
  color-scheme: light;
  --color-paper: oklch(98.4% .003 85);
  --color-surface: oklch(99.8% .001 85);
  --color-ink: oklch(25% .008 70);
  --color-neutral: oklch(44% .008 75);
  --color-muted: oklch(51% .009 75);
  --color-rule: oklch(91.5% .005 80);
  --color-soft: oklch(95.8% .005 80);
  --color-accent: oklch(55% .18 36);
  --color-accent-ink: oklch(99% .002 60);
  --color-accent-soft: oklch(96.4% .02 58);
  --color-accent-rule: oklch(88% .055 50);
  --color-focus: oklch(40% .13 255);
  --color-banner: oklch(96.7% .012 75);
  --color-green: oklch(42% .064 159);
  --color-green-soft: oklch(95% .015 151);
  --color-blue: oklch(50% .075 250);
  --color-purple: oklch(51% .07 310);
  --color-cover-lime: oklch(87% .2 128);
  --color-cover-dark: oklch(22% .013 135);
  --color-cover-pine: oklch(32% .05 161);
  --color-cover-sage: oklch(87% .04 120);
  --color-cover-red: oklch(43% .16 27);
  --color-cover-pink: oklch(94% .04 55);
  --color-shadow: oklch(20% .015 60 / 10%);
  --color-overlay: oklch(15% .008 65 / 46%);
  --color-on-image: oklch(98.5% .003 80);
  --color-image-overlay: oklch(18% .008 65 / 75%);
  --color-hero-paper: oklch(95.4% .009 75);
  --color-hero-tag: oklch(99% .003 75 / 78%);
  --color-clear: oklch(95.4% .009 75 / 0%);
  --color-sky: oklch(84% .055 230);
  --color-nav-shade: oklch(20% .012 235 / 62%);
  --color-nav-ink: oklch(99% .002 235);
  --font-body: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-display: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-editorial: "Songti SC", "Noto Serif CJK SC", serif;
  --font-mono: "SFMono-Regular", Consolas, monospace;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px;
  --space-12: 48px; --space-16: 64px;
  --radius-sm: 6px; --radius-md: 10px; --radius-lg: 16px;
  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-in: cubic-bezier(.7,0,.84,0);
  --ease-in-out: cubic-bezier(.65,0,.35,1);
  --dur-micro: 120ms; --dur-short: 220ms; --dur-long: 420ms;
}
