/* ============================================================================
   FK LEARN — DESIGN TOKENS (single source of truth)
   Brand values from the live flyingkarlis.com DOM. Self-hosted Onest (no CDN).
   Pages use SEMANTIC tokens (--color-accent) only. Contrast gated by
   scripts/check-contrast.py. Owner: Flying Karlis SIA.
   ============================================================================ */

/* ---- Self-hosted Onest (variable font; one face covers weights 100-900) ---- */
@font-face{
  font-family:"Onest"; font-style:normal; font-weight:100 900; font-display:swap;
  src:url(/static/fonts/onest-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Onest"; font-style:normal; font-weight:100 900; font-display:swap;
  src:url(/static/fonts/onest-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---- TIER 1: PRIMITIVES ---- */
:root{
  --fk-white:#ffffff; --fk-ink:#163450; --fk-muted:#687279; --fk-body:#3f4853;
  --fk-line:#e8e8e8; --fk-surface:#f6f7f8;
  --fk-orange:#E17335;       /* FILLS ONLY (3.13:1 — fails as text) */
  --fk-orange-text:#A0552C;  /* orange TEXT/links (5.48:1, AA pass) */
  --fk-orange-soft:#fff1e8; --fk-black:#0f1115;

  --font-head:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-script:"Brush Script MT","Segoe Script",cursive; /* TODO: replace with real script-logo SVG */

  --t-xs:.8rem; --t-sm:.9rem; --t-base:1rem; --t-lg:1.15rem;
  --t-xl:1.5rem; --t-2xl:2rem; --t-3xl:2.6rem; --t-hero:4.5rem;
  --s-1:.25rem; --s-2:.5rem; --s-3:.75rem; --s-4:1rem; --s-5:1.5rem; --s-6:2rem; --s-7:3rem; --s-8:4rem;
  --radius:12px; --radius-sm:8px; --radius-lg:18px; --maxw:1080px;
  --shadow:0 12px 40px rgba(22,52,80,.10);
}

/* ---- TIER 2: SEMANTIC ALIASES (pages use ONLY these) ---- */
:root{
  --color-bg:var(--fk-surface); --color-card:var(--fk-white);
  --color-ink:var(--fk-ink); --color-body:var(--fk-body); --color-muted:var(--fk-muted);
  --color-line:var(--fk-line);
  --color-border:var(--fk-line);  /* alias — templates use --color-border for borders/rules */
  --color-accent:var(--fk-orange); --color-accent-text:var(--fk-orange-text);
  --color-on-accent:var(--fk-white); --color-accent-wash:var(--fk-orange-soft);
}

/* ---- STATE tokens (BMS Step 5) — promoted verbatim from the signed-off
   console mockup's _base.css (AA-gated, >=4.5:1 on white). Used by the queue
   UI (Money=success / Registrations=info / Access=warning / Decline=danger). */
:root{
  --fk-success:#2e7d32; --fk-success-wash:#e8f4ea; --fk-success-ink:#1b5e20;
  --fk-info:#1565c0;    --fk-info-wash:#e6f0fb;    --fk-info-ink:#0d3f7a;
  --fk-warning:#8a6116; --fk-warning-wash:#fbf0dd;  --fk-warning-ink:#6b4a10;
  --fk-danger:#c62828;  --fk-danger-wash:#fbe7e7;   --fk-danger-ink:#8e1c1c;

  --color-success:var(--fk-success); --color-success-wash:var(--fk-success-wash); --color-success-ink:var(--fk-success-ink);
  --color-info:var(--fk-info);       --color-info-wash:var(--fk-info-wash);       --color-info-ink:var(--fk-info-ink);
  --color-warning:var(--fk-warning); --color-warning-wash:var(--fk-warning-wash); --color-warning-ink:var(--fk-warning-ink);
  --color-danger:var(--fk-danger);   --color-danger-wash:var(--fk-danger-wash);   --color-danger-ink:var(--fk-danger-ink);
}
