/* MothMute design tokens — the canonical source.
 *
 * Where anything else disagrees, this file wins. Two values were corrected
 * from the generated brand board on 2026-09-02:
 *   - Light was printed as #69D6FF, a sky blue. That was a generation
 *     artifact; nothing in the artwork uses it. Correct value is #E9D6FF.
 *   - Ink was printed as #0A0612 on the board and #0A0812 in the SVG kit.
 *     The kit is correct.
 */

:root {
  /* --- Palette ---------------------------------------------------------- */
  --ink:          #0A0812;  /* page ground, icon knockout */
  --deep-1:       #120C1E;
  --deep-2:       #1D1030;
  --deep-3:       #2E1654;
  --purple-dark:  #6A2CCF;
  --purple-mid:   #8C46FF;
  --purple:       #A66BFF;  /* accent; what the icon set inherits */
  --light:        #E9D6FF;
  --text-muted:   #A897C4;  /* secondary text; 7.47:1 on ink */

  /* --- Semantic --------------------------------------------------------- */
  --bg:           var(--ink);
  --surface:      var(--deep-1);
  --border:       var(--deep-3);
  --text:         var(--light);
  --accent:       var(--purple);

  /* Measured contrast on --ink (WCAG 2.1; body needs 4.5, large text 3.0):
   *   light        14.70  AAA
   *   text-muted    7.47  AAA
   *   purple        5.84  AA      - safe for links and body
   *   purple-mid    4.20  LARGE TEXT ONLY
   *   purple-dark   2.72  NOT TEXT - fills, borders, decoration only
   *   deep-3        1.29  NOT TEXT - borders only
   */

  /* Icons are currentColor, so this is all that drives them. */
  --icon:         var(--purple);
  --icon-knockout: var(--ink);

  /* --- Type ------------------------------------------------------------- */
  /* Sora: display. Space Grotesk: UI/body. Space Mono: terminal, status,
   * code — Space Grotesk is its proportional derivative, so they share a
   * skeleton rather than merely coexisting. */
  --font-display: "Sora", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-mono:    "Space Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

/* --- Self-hosted faces ---------------------------------------------------
 * Served from this origin, not a font CDN: a CDN link hands every visitor's
 * IP to a third party. font-display: swap so text renders immediately.
 * Sora and Space Grotesk are variable (400-700); Space Mono is static.
 */

@font-face {
  font-family: "Sora";
  src: url("/assets/fonts/sora-var.3902474d.woff2") format("woff2-variations");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Grotesk";
  src: url("/assets/fonts/space-grotesk-var.a0d054c4.woff2") format("woff2-variations");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Mono";
  src: url("/assets/fonts/space-mono-400.e0c8e616.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Space Mono";
  src: url("/assets/fonts/space-mono-700.af7cf6d2.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
