/* HISTORICAL holding-page snapshot. Do not edit or reuse as a source.
 * Current source: https://github.com/samyedigital/samye-docs/blob/main/design-system/README.md
 * Active Astro output: public/tokens.css, pinned by design-system.lock.json.
 */

:root {
  /* ----- Surfaces ------------------------------------------------ */
  --samye-cream:        #F8F4ED;   /* cream — SG v2.0 p11    (ACSS base-ultra-light) */
  --samye-parchment:    #F5F3F3;   /* neutral, red undertone — SG v2.0 p10 (ACSS neutral-ultra-light) */
  --samye-sand:         #CCBFA3;   /* WEB EXTENSION — not in SG v2.0; quiet fills (ACSS base) */
  --samye-white:        #FFFFFF;

  /* ----- Ink ----------------------------------------------------- */
  --samye-ink:          #111111;   /* near-black — SG v2.0 p13 (ACSS neutral) */
  --samye-ink-soft:     #4A4A4A;   /* WEB EXTENSION — 8.0:1 on parchment */
  /* WEB EXTENSION, and the darkest of the three that still reads as muted.
     Was #7A7A7A, which is 3.88:1 on parchment — under WCAG AA's 4.5:1 for
     the captions, hints and colophon text this token exists to style.
     #6E6E6E is 4.61:1 on parchment and 4.65:1 on cream, so it clears AA on
     both fleet surfaces with margin; #6F6F6F sits on 4.55:1, too close to
     the line to survive a future surface tweak. Neither value is in SG
     v2.0 — the guide names no muted grey — so this is a fleet decision, not
     a transcription. */
  --samye-ink-muted:    #6E6E6E;

  /* ----- Brand --------------------------------------------------- */
  --samye-crimson:      #B83029;   /* Samye name red — SG v2.0 p6/p10 (ACSS primary) */
  --samye-crimson-deep: #93261F;   /* hover / active — darkened from the approved red */
  --samye-gold:         #9A874A;   /* approved gold — SG v2.0 p10 */
  --samye-slate:        #4D5C6D;   /* WEB EXTENSION — not in SG v2.0 */

  /* The guide gives the seal its OWN red, deliberately not the name red
     (SG v2.0 p6). Never collapse these two into one token. */
  --samye-seal-red:     #BE312B;   /* Precious Seal — SG v2.0 p6 */
  --samye-tibetan-red:  #7D2619;   /* Tibetan characters — SG v2.0 p14 */

  /* ----- Neutrals ------------------------------------------------ */
  --samye-silver:       #CDCDCD;
  --samye-silver-soft:  #E5E3E0;

  /* ----- Typography ---------------------------------------------- */
  /* CJK is part of the contract, not a fallback afterthought:
     samyetaiwan.org renders Traditional Chinese and the Latin families
     below draw none of it. Every Han character falls through the Latin
     names to whichever family comes next, so the tail of each stack has to
     name faces that actually exist on the reader's machine.

     This previously read "Noto Serif TC / Noto Sans TC are the approved
     system-delivered fallbacks", which was wrong in a way that renders:
     Noto ships with NEITHER macOS/iOS NOR Windows. On both, a Han
     character fell past every named family to the generic keyword and the
     OS picked a face nobody chose — different on each platform, and on
     Windows usually the legacy bitmap-era MingLiU. Named per platform:

       macOS / iOS            PingFang TC (sans), Songti TC (serif)
       Windows                Microsoft JhengHei (sans), PMingLiU (serif)
       Android / CrOS / Linux Noto Sans TC / Noto Serif TC (system face)

     NO TC WEBFONT IS SHIPPED, deliberately. A Traditional Chinese face
     carries ~13,000 glyphs: even unicode-range subset it is megabytes
     against ~30 KB for the entire Latin set the fleet self-hosts, on a
     site whose visitors are largely on mobile data. Every platform above
     already carries a good TC face. Noto is named first so a machine that
     has it renders what the designers see; the platform faces follow. */
  --samye-t-cjk-serif: 'Noto Serif TC', 'Noto Serif CJK TC', 'Songti TC', 'PMingLiU', serif;
  --samye-t-cjk-sans:  'Noto Sans TC', 'Noto Sans CJK TC', 'PingFang TC', 'Microsoft JhengHei', sans-serif;

  /* The guide names exactly TWO web families, Merriweather and Poppins (SG
     v2.0 p18). The Samye name itself is Morisawa Role Serif Text Pro (Medium,
     reserved — p16/p17), which is unlicensed and unavailable, and the guide
     approves no substitute for it.

     --samye-t-display therefore resolves to the heading face. It is kept as a
     named role, not deleted, because the guide does distinguish a display line
     from a heading — the day Role Serif is licensed this is the one place that
     changes. What it must NOT do is name a face nobody approved: it carried
     Marcellus SC until 0.45.12, which put every page title on the fleet's
     invention rather than on the guide (Matt, 2026-08-21). The styleguide
     screen stopped presenting Marcellus as house type in 0.41.0; the hero rule
     in fleet.css was the last thing still rendering it.

     Each stack ends in the matching CJK token, never a bare generic — the
     generic keyword lives at the end of the CJK token itself. */
  --samye-t-heading:  'Merriweather', 'Noto Serif', Georgia, var(--samye-t-cjk-serif);
  --samye-t-display:  var(--samye-t-heading);
  --samye-t-nav:      var(--samye-t-heading);
  --samye-t-body:     'Poppins', system-ui, -apple-system, var(--samye-t-cjk-sans);
  --samye-t-hero:     var(--samye-t-heading);

  /* ----- Structure ----------------------------------------------- */
  --samye-radius:       4px;
  --samye-content-max:  1200px;
  --samye-mega-shadow:  0 12px 40px rgba(0, 0, 0, 0.08);
}

/* ----- Self-hosted faces (fleet-delivered) -------------------------
   The exact woff2 files the sites already serve (mandala-sourced,
   latin + latin-ext; all OFL-licensed). Family names deliberately match
   the per-site Bricks custom fonts: two @font-face rules for the same
   family+weight collapse in the cascade, so each used face downloads
   exactly once regardless of which rule wins. */
@font-face {
  font-family: 'Merriweather';
  font-weight: 400;
  font-display: swap;
  src: url('fonts/merriweather-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Merriweather';
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url('fonts/merriweather-400-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Merriweather';
  font-weight: 500;
  font-display: swap;
  src: url('fonts/merriweather-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Merriweather';
  font-weight: 700;
  font-display: swap;
  src: url('fonts/merriweather-700-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-weight: 400;
  font-display: swap;
  src: url('fonts/poppins-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url('fonts/poppins-400-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-weight: 500;
  font-display: swap;
  src: url('fonts/poppins-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-weight: 600;
  font-display: swap;
  src: url('fonts/poppins-600-normal.woff2') format('woff2');
}
