@layer tokens {
  :root {
    color-scheme: light dark;

    /* Type scale (fluid — clamp for graceful scaling) */
    --step--1: clamp(0.75rem, 0.72rem + 0.20cqi, 0.85rem);
    --step-0:  clamp(1.00rem, 0.94rem + 0.30cqi, 1.15rem);
    --step-1:  clamp(1.15rem, 1.05rem + 0.50cqi, 1.30rem);
    --step-2:  clamp(1.35rem, 1.20rem + 0.75cqi, 1.60rem);
    --step-3:  clamp(1.65rem, 1.40rem + 1.05cqi, 2.10rem);
    --step-4:  clamp(2.10rem, 1.70rem + 1.75cqi, 2.75rem);
    --step-5:  clamp(2.60rem, 2.00rem + 2.75cqi, 3.75rem);
    --step-6:  clamp(3.50rem, 2.50rem + 5.00cqi, 5.50rem);

    /* Spacing scale */
    --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;

    /* Fonts — Caprasimo (display) + DM Sans (everything else).
       Caprasimo is single-weight; every display-font rule uses font-weight:
       normal so we don't misrepresent axes it doesn't have. base.css sets
       font-synthesis:none as a belt-and-braces so any lingering explicit
       weight can never trigger a synthesized bold.
       --font-mono is aliased to --font-sans — the mono role is preserved as a
       semantic hook (labels/eyebrows/indices), but renders in DM Sans. Elements
       that need column-aligned digits use font-variant-numeric: tabular-nums. */
    --font-display: "Caprasimo", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    --font-sans:    "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    --font-mono:    var(--font-sans);

    /* Structural palette — pinned hex, no light-dark() swap.
       Each section explicitly picks its bg/fg pair via .act-* classes. */
    --ink:        #0C0E0A;
    --paper:      #F4EFE3;
    --green:        #007A40;
    --green-deep:   #046B38;
    --green-bright: #12BE6F;
    --gold:       #FFCB05;
    --blue:       #0A46B0;
    --terra:      #D8552F;

    /* Semantic aliases (used by layout/base/utilities) */
    --color-bg:       var(--paper);
    --color-fg:       var(--ink);
    --color-muted:    rgba(12, 14, 10, 0.62);
    --color-hairline: rgba(12, 14, 10, 0.14);
    --color-accent:   var(--green);

    /* Ink-context aliases (used inside .act-ink sections) */
    --color-fg-on-ink:       var(--paper);
    --color-muted-on-ink:    rgba(244, 239, 227, 0.72);
    --color-hairline-on-ink: rgba(244, 239, 227, 0.14);

    /* Per-competition badges (calendar + copa dialects) */
    --comp-liga:       var(--green);
    --comp-campeoes:   var(--gold);
    --comp-brasil:     var(--blue);
    --comp-conmebol:   var(--terra);
    --comp-fifa-pause: rgba(12, 14, 10, 0.10);

    /* Layout */
    --measure:       65ch;
    --content-wide:  1180px;
    --content-read:  720px;
    --content-text:  960px;
    --nav-h:         64px;
    --radius:        0;
  }
}
