/* OYSA design system tokens, vendored into this application. Copied, never built.
   See scholarship/README.md and cases/static/oysa/VERSION for the source and version.

   THE SIXTEEN FONT-FACE RULES OF THE UPSTREAM FILE ARE REMOVED, and this file
   declares no face at all. That keeps it an *unedited copy* of the design
   system's `dist/tokens.css` apart from this comment, so the next update is a
   copy rather than a copy plus a re-applied patch.

   The club's display face is shipped, and it is declared next door in
   `cases/static/oysa/fonts.css`, which is this application's own file. Read
   that one for the licence position and for why the face is separated from
   both the tokens and the admin stylesheet.

   Arial is never shipped: it is on every Mac and Windows already, so
   `--font-sans` costs nothing, and redistributing it would be a licence
   question with none of the benefit. */

/* OYSA design system: generated from tokens/tokens.json. Do not edit; run scripts/build-tokens.py. */

:root, [data-theme="light"] {
  --brand-navy: #0d2673;
  --brand-yellow: #f2d500;
  --brand-orange: #db6200;
  --surface: #ffffff;
  --surface-muted: #f5f6fa;
  --surface-raised: #ffffff;
  --surface-inverse: #0d2673;
  --line: #dfe4f2;
  --line-strong: #747d99;
  --ink: #0d2673;
  --ink-muted: #5b6480;
  --ink-inverse: #ffffff;
  --primary: #0d2673;
  --primary-hover: #1a3590;
  --on-primary: #ffffff;
  --accent: #f2d500;
  --on-accent: #0d2673;
  --highlight: #db6200;
  --highlight-ink: #a84a00;
  --link: #0d2673;
  --focus-ring: #db6200;
  --success: #1e7a45;
  --success-soft: #e7f5ec;
  --warning: #8a4a00;
  --warning-soft: #fff4cc;
  --danger: #b3261e;
  --danger-soft: #fdecea;
  --info: #1d5fbf;
  --info-soft: #e8f0fc;
  --shadow-sm: 0 1px 2px #0d26730f, 0 1px 3px #0d26731a;
  --shadow-lg: 0 4px 8px #0d267314, 0 16px 32px -4px #0d267329;
}
[data-theme="dark"] {
  --surface: #08163f;
  --surface-muted: #0a1a4d;
  --surface-raised: #0d2673;
  --surface-inverse: #f5f6fa;
  --line: #243a80;
  --line-strong: #8590b2;
  --ink: #ffffff;
  --ink-muted: #b4bdd9;
  --ink-inverse: #0d2673;
  --primary: #f2d500;
  --primary-hover: #ffe433;
  --on-primary: #0d2673;
  --highlight: #ff9a3d;
  --highlight-ink: #ff9a3d;
  --link: #f2d500;
  --focus-ring: #ff9a3d;
  --success: #5ec48a;
  --success-soft: #0f3a2a;
  --warning: #f2d500;
  --warning-soft: #332c00;
  --danger: #ff8a80;
  --danger-soft: #4a1414;
  --info: #7fb2ff;
  --info-soft: #10275a;
  --shadow-sm: 0 1px 3px #00000080;
  --shadow-lg: 0 16px 32px -4px #000000b3;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 12px;
  --radius-full: 9999px;
  --control-sm: 32px;
  --control-md: 44px;
  --control-lg: 52px;
  --tap-min: 44px;
  --content-max: 1200px;
  --bp-sm: 640px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --font-display: Eurostile, "Eurostile LT Std", "Eurostile Next LT Pro", Arial, sans-serif;
  --font-sans: Arial, "Helvetica Neue", Helvetica, sans-serif;
  --font-extended: "Eurostile Extended", Eurostile, Arial, sans-serif;
  --font-condensed: "Eurostile Condensed", "Arial Narrow", Arial, sans-serif;
  --font-narrow: "Arial Narrow", Arial, sans-serif;
}
.display {
  font-family: var(--font-display);
  font-size: 56px;
  line-height: 56px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.heading-1 {
  font-family: var(--font-display);
  font-size: 40px;
  line-height: 44px;
  font-weight: 700;
}
.heading-2 {
  font-family: var(--font-display);
  font-size: 28px;
  line-height: 32px;
  font-weight: 700;
}
.heading-3 {
  font-family: var(--font-display);
  font-size: 20px;
  line-height: 24px;
  font-weight: 700;
}
.eyebrow {
  font-family: var(--font-display);
  font-size: 13px;
  line-height: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.score {
  font-family: var(--font-display);
  font-size: 44px;
  line-height: 44px;
  font-weight: 700;
}
.body-lg {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 28px;
  font-weight: 400;
}
.body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
}
.body-sm {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
}
.label {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
}
.caption {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
}
