/* UCS Academy design tokens — foundation (WU-02).
   Colour values are the verified public-site tokens (docs/WU-01/UCS_BRANDING_AUDIT.md).
   Contrast of every pair used below is checked by tools/contrast_check.py and tests/test_tokens.py.
   Do not add a colour without adding its intended background pair to the checker. */
:root {
  /* Brand */
  --ucs-navy: #163f7a;          /* primary; on white 10.4:1 */
  --ucs-blue: #225cae;          /* secondary; on white 6.5:1 */
  --ucs-accent: #b4540a;        /* accent; on white 5.0:1 (AA text, use for emphasis/links) */
  --ucs-accent-deep: #8d3f03;   /* accent hover; on white 7.4:1 */
  --ucs-accent-soft: #f9eadf;   /* accent tint background */
  --ucs-gradient-brand: linear-gradient(135deg, var(--ucs-navy), var(--ucs-blue));

  /* Neutrals */
  --ucs-text: #12233d;          /* on bg 14.9:1 */
  --ucs-text-soft: #56657c;     /* on white 5.9:1 */
  --ucs-bg: #f6f9fd;
  --ucs-bg-soft: #eef4fb;
  --ucs-surface: #ffffff;
  --ucs-line: rgba(18, 35, 61, 0.11);
  --ucs-line-strong: #bacadd;

  /* Status (borrowed from UCS Hub tokens; all ≥ 4.5:1 on white) */
  --ucs-success: #047857;
  --ucs-warning: #b45309;
  --ucs-danger: #b91c1c;
  --ucs-info: #1d4ed8;

  /* Focus (same as public site header) */
  --ucs-focus: #075fcc;
  --ucs-focus-width: 3px;
  --ucs-focus-offset: 3px;

  /* Typography (self-hosted, SIL OFL) */
  --ucs-font-heading: "Sora", system-ui, sans-serif;
  --ucs-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ucs-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --ucs-fs-sm: 0.875rem;
  --ucs-fs-md: 1rem;
  --ucs-fs-lg: 1.25rem;
  --ucs-fs-xl: 1.75rem;
  --ucs-fs-2xl: 2.5rem;
  --ucs-lh: 1.6;

  /* Shape and space (public-site values) */
  --ucs-radius: 24px;
  --ucs-radius-sm: 16px;
  --ucs-radius-pill: 999px;
  --ucs-shadow-soft: 0 16px 40px rgba(17, 35, 61, 0.07);
  --ucs-shadow-strong: 0 28px 70px rgba(17, 35, 61, 0.14);
  --ucs-container: 1180px;
  --ucs-gutter: 16px;
  --ucs-space-1: 0.25rem;
  --ucs-space-2: 0.5rem;
  --ucs-space-3: 1rem;
  --ucs-space-4: 1.5rem;
  --ucs-space-5: 2.5rem;
  --ucs-transition: 0.3s cubic-bezier(0.22, 1, 0.36, 1);

  /* Semantic aliases used by components */
  --color-primary: var(--ucs-navy);
  --color-primary-hover: var(--ucs-blue);
  --color-on-primary: #ffffff;        /* on navy 10.4:1, on blue 6.5:1 */
  --color-accent: var(--ucs-accent);
  --color-text: var(--ucs-text);
  --color-text-soft: var(--ucs-text-soft);
  --color-bg: var(--ucs-bg);
  --color-surface: var(--ucs-surface);
  --color-link: var(--ucs-blue);
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter-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: "Sora";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../fonts/sora-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;
}
