/* ============================================================
   makaimorais.com — DESIGN TOKENS
   Single source of truth. Every page imports this file.
   Do NOT redeclare these in a page's own :root block.

   Why this file exists: tokens were duplicated across three
   prototypes and drifted. --signal silently vanished between
   round 3 and round 4 and painted a sticky note pure black,
   with no console error. CSS custom properties fail to
   `initial`, not to a warning. One file, imported everywhere.

   Derived from rambo.gpt-personal-brand/KIT-SPEC.md.
   ============================================================ */

:root{
  /* ---- ground ---- */
  --page:#F7F0E4;      /* default page ground (tint of brand Cream) */
  --butter:#F9F1AE;    /* pastel Signal. Hero stage only, never a text page */
  --card:#FFFDF9;      /* raised surface */

  /* ---- brand, from KIT-SPEC ---- */
  --ink:#130A05;       /* Deep Ink. All primary text. */
  --sand:#F6DBBA;      /* Cream. Tile fill, 3D object fill. */
  --signal:#F6F701;    /* Signal Yellow. ACCENT ONLY, never a background. */
  --magenta:#A80681;   /* Magenta Pop. THE primary action colour. */
  --teal:#28EAE7;      /* Teal Burst. Tile fill. */
  --purple:#664A92;    /* Portrait Purple. Tile fill. */

  /* ---- form ---- */
  --r-card:24px;
  --r-pill:999px;
  --r-chip:6px;
  --shadow:0 2px 8px rgba(19,10,5,.04), 0 12px 32px rgba(19,10,5,.06);
  --shadow-lift:0 8px 20px rgba(19,10,5,.10), 0 28px 60px rgba(19,10,5,.14);

  /* ---- type ---- */
  --display:'Anton', Impact, 'Haettenschweiler', sans-serif;
  --body:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --serif:'Source Serif 4', 'Iowan Old Style', Georgia, serif;  /* bio only */
  --mono:'DM Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* ---- motion (Emil Kowalski rules) ---- */
  --eo:cubic-bezier(0.16, 1, 0.3, 1);   /* ease-out. Entrances only. */
  --t-fast:150ms;
  --t-ui:220ms;
  --t-layout:280ms;

  /* ---- accessible muted text ----
     Do NOT use opacity below .62 on text. At 10-11px the mono labels
     computed to ~3.5:1 and failed WCAG AA (4.5:1). These are the
     lowest values that still pass on --page and --card. */
  --muted:rgba(19,10,5,.72);
  --muted-soft:rgba(19,10,5,.62);
}

/* Contrast rule, non-negotiable:
     yellow / teal / sand tiles  -> var(--ink) text
     magenta / purple tiles      -> #fff text
   The reverse fails contrast every time. */

@media (prefers-reduced-motion: reduce){
  :root{ --t-fast:0ms; --t-ui:0ms; --t-layout:0ms; }
}
