/* Hallmark · tokens for 午後小室 · theme: atelier (by request) · written by hand from references/themes/atelier.md and layout.md § 2 */

:root {
  /* atelier palette */
  --color-paper: oklch(94.5% 0.010 76); --color-paper-2: oklch(91.8% 0.013 74); --color-paper-3: oklch(88% 0.015 72);
  --color-ink: oklch(19% 0.024 52); --color-ink-2: oklch(31% 0.018 54); --color-muted: oklch(47% 0.014 60);
  --color-rule: oklch(81% 0.011 70);
  --color-accent: oklch(41% 0.075 248); --color-accent-ink: oklch(96% 0.008 76); --color-focus: oklch(50% 0.095 248);
  --color-card: oklch(97.6% 0.007 82); --color-card-edge: oklch(86% 0.012 72); --color-pencil: oklch(52% 0.010 62);
  --card-lit: oklch(98.4% 0.006 84); --card-shade: oklch(96.4% 0.008 78); --lit: oklch(99.6% 0.004 85 / 0.9);
  --stain-1: oklch(70% 0.075 14); --stain-2: oklch(66% 0.055 132); --stain-3: oklch(60% 0.080 58); --stain-4: oklch(68% 0.045 206);
  --color-error: oklch(48% 0.13 30);
  --color-press: oklch(30% 0.03 55 / 0.10);
  --color-frame: oklch(19% 0.024 52 / 0.08);

  /* faces: the CJK face rides inside each role, so the page keeps two families */
  --font-display: "Sentient", "Noto Serif TC", Georgia, serif;
  --font-body: "Hanken Grotesk", "Noto Sans TC", system-ui, sans-serif;
  --font-outlier: var(--font-body);

  --radius-card: 0; --radius-pill: 3px; --radius-stock: 2px; --rule-hair: 1px; --rule-head: 1px;
  --shadow-card: 0 0 0 1px oklch(30% 0.03 55 / 0.05), 0.5px 1px 1px oklch(30% 0.03 55 / 0.08), 3px 8px 14px -6px oklch(30% 0.03 55 / 0.14), 14px 36px 64px -28px oklch(30% 0.03 55 / 0.3);
  --shadow-strip: 0 1px 1px oklch(30% 0.03 55 / 0.10), 2px 6px 12px -6px oklch(30% 0.03 55 / 0.22);
  /* Han glyphs fill the em box: no negative tracking on CJK heads */
  --tracking-display: 0; --tracking-statement: 0;
  --display-weight: 300; --statement-weight: 300; --serif-small: 400;

  /* textures, feTurbulence data URIs */
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.15' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.3 0 0 0 0 0.25 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --fibre: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85 0.12' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.4 0 0 0 0 0.33 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");

  /* the shared scale (layout.md § 2, craft.md § 3) */
  --text-display: clamp(3rem, 2rem + 3.6vw, 5.25rem);
  --text-display-s: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem);
  --text-section: clamp(2rem, 1.4rem + 2.2vw, 3.25rem);
  --text-title: clamp(1.25rem, 1.1rem + 0.5vw, 1.5625rem);
  --text-lead: clamp(1.125rem, 1.05rem + 0.3vw, 1.3125rem);
  --text-md: 1rem;
  --text-sm: 0.875rem;

  --space-3xs: 2px; --space-2xs: 4px; --space-xs: 8px; --space-sm: 12px; --space-md: 16px;
  --space-lg: 24px; --space-xl: 40px; --space-2xl: 64px; --space-3xl: 96px; --space-4xl: 144px;
  --section-gap-s: clamp(72px, 8vw, 120px); --section-gap: clamp(88px, 10vw, 144px); --section-gap-l: clamp(104px, 12vw, 176px);

  --container: 1440px; --gutter: clamp(16px, 4.4vw, 64px); --gap-columns: clamp(16px, 2.2vw, 32px);
  --nav-height: 72px;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); --ease-in: cubic-bezier(0.7, 0, 0.84, 0); --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms; --dur-short: 220ms; --dur-long: 420ms;

  --z-base: 1; --z-raised: 10; --z-dropdown: 100; --z-sticky: 200; --z-sticky-nav: 300; --z-modal: 400; --z-toast: 500; --z-tooltip: 600;
}
