/* Generated from docs/academy-review/v3/tokens.v3.json by scripts/review/build-tokens.mjs. Do not edit by hand.
   Light map on :root, dark map on [data-theme="dark"] (an attribute, never the OS setting).
   Legacy variable names (--ink, --muted, --bg and so on) are aliases declared by each stylesheet on the same
   selector as the dark block, so a dark subtree such as the navy staff header re-resolves them. */
:root {
  --color-surface-canvas: #F4F7F8;
  --color-surface-raised: #FFFFFF;
  --color-surface-subtle: #EDF2F5;
  --color-surface-selected: #EAF3F8;
  --color-surface-input: #FFFFFF;
  --color-surface-overlay: rgba(16,44,65,0.75);
  --color-surface-chrome: #0D1B2A;
  --color-ink-default: #0D1B2A;
  --color-ink-muted: #4A5D6B;
  --color-ink-disabled: #5A6B77;
  --color-ink-on-action: #FFFFFF;
  --color-ink-on-accent: #0D1B2A;
  --color-ink-on-chrome: #FFFFFF;
  --color-ink-on-chrome-muted: #CBD5E1;
  --color-brand-navy: #0D1B2A;
  --color-brand-orange: #F95300;
  --color-brand-teal: #0F6E56;
  --color-action-primary: #0F6E56;
  --color-action-primary-hover: #0B5744;
  --color-action-primary-disabled-bg: #D7E7E2;
  --color-action-primary-disabled-ink: #335A4E;
  --color-action-accent: #F95300;
  --color-action-accent-hover: #FF6A1A;
  --color-action-disabled-bg: #E3EBEE;
  --color-link: #175D82;
  --color-link-hover: #0F4A68;
  --color-focus-ring: #176EAE;
  --color-accent-text: #9C4504;
  --color-border-subtle: #DBE3E8;
  --color-border-control: #6F8594;
  --color-border-accent: #F95300;
  --color-chrome-hover-bg: rgba(255,255,255,0.08);
  --color-chrome-rule: #F95300;
  --color-success-ink: #0B5744;
  --color-success-bg: #E7F3EE;
  --color-success-border: #0F6E56;
  --color-warning-ink: #7A3A06;
  --color-warning-bg: #FFF4E8;
  --color-warning-border: #B45309;
  --color-danger-ink: #B3261E;
  --color-danger-bg: #FDECEA;
  --color-danger-border: #B3261E;
  --color-info-ink: #175D82;
  --color-info-bg: #EAF3F8;
  --color-info-border: #175D82;
  --font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-body: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'Source Code Pro', ui-monospace, monospace;
  --text-display-size: clamp(2.25rem, 4vw, 3.5rem);
  --text-display-weight: 800;
  --text-display-lh: 1.1;
  --text-display-tracking: -0.02em;
  --text-h1-size: clamp(1.75rem, 2.6vw, 2.25rem);
  --text-h1-weight: 700;
  --text-h1-lh: 1.2;
  --text-h1-tracking: -0.015em;
  --text-h2-size: 1.5rem;
  --text-h2-weight: 700;
  --text-h2-lh: 1.3;
  --text-h2-tracking: -0.01em;
  --text-h3-size: 1.25rem;
  --text-h3-weight: 700;
  --text-h3-lh: 1.4;
  --text-h3-tracking: 0;
  --text-body-lg-size: 1.25rem;
  --text-body-lg-weight: 400;
  --text-body-lg-lh: 1.5;
  --text-body-lg-tracking: 0;
  --text-body-size: 1.125rem;
  --text-body-weight: 400;
  --text-body-lh: 1.55;
  --text-body-tracking: 0;
  --text-body-sm-size: 1rem;
  --text-body-sm-weight: 400;
  --text-body-sm-lh: 1.5;
  --text-body-sm-tracking: 0;
  --text-caption-size: 0.875rem;
  --text-caption-weight: 400;
  --text-caption-lh: 1.45;
  --text-caption-tracking: 0;
  --text-label-lg-size: 1.125rem;
  --text-label-lg-weight: 600;
  --text-label-lg-lh: 1.35;
  --text-label-lg-tracking: 0;
  --text-label-size: 1rem;
  --text-label-weight: 600;
  --text-label-lh: 1.35;
  --text-label-tracking: 0;
  --text-cta-size: 1.25rem;
  --text-cta-weight: 700;
  --text-cta-lh: 1.2;
  --text-cta-tracking: 0;
  --text-eyebrow-size: 0.8125rem;
  --text-eyebrow-weight: 700;
  --text-eyebrow-lh: 1.4;
  --text-eyebrow-tracking: 0.12em;
  --text-eyebrow-transform: uppercase;
  --text-mono-size: 0.875rem;
  --text-mono-weight: 500;
  --text-mono-lh: 1.4;
  --text-mono-tracking: 0;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --control-min: 44px;
  --input-min: 48px;
  --control-box: 1.25rem;
  --text-eyebrow-staff-size: 0.875rem;
  --staff-header-min: 88px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 999px;
  --radius-circle: 50%;
  --border-hairline: 1px;
  --border-emphasis: 2px;
  --border-rule: 4px;
  --layout-shell: 1440px;
  --layout-gutter: 1.5rem;
  --layout-outline: 280px;
  --layout-records: 960px;
  --layout-measure: 90ch;
  --focus-ring-width: 3px;
  --focus-ring-offset: 2px;
  --motion-fast: 120ms;
  --motion-base: 200ms;
  --motion-cue: 2000ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --shadow-none: none;
  --shadow-raised: 0 1px 2px rgba(13,27,42,0.08), 0 4px 12px rgba(13,27,42,0.08);
  --shadow-overlay: 0 24px 64px rgba(13,27,42,0.30);
  --shadow-cue-halo: 0 0 0 8px rgba(249,83,0,0.25);
  --shadow-selected: inset 3px 0 0 var(--color-link);
  color-scheme: light;
  --color-decor-gold: #D4A852;
  --color-decor-gold-light: #E8C97A;
  --color-decor-teal-bright: #14A07A;
  --color-glass-bg: rgba(255, 255, 255, 0.05);
  --color-glass-border: rgba(255, 255, 255, 0.10);
}

[data-theme="dark"] {
  --color-surface-canvas: #0D1B2A;
  --color-surface-raised: #132336;
  --color-surface-subtle: #1A2E44;
  --color-surface-selected: #16324A;
  --color-surface-input: rgba(13,27,42,0.6);
  --color-surface-overlay: rgba(11,22,34,0.8);
  --color-surface-chrome: #0D1B2A;
  --color-ink-default: #F1F5F9;
  --color-ink-muted: #A8B5C4;
  --color-ink-disabled: #8696A8;
  --color-ink-on-action: #0D1B2A;
  --color-ink-on-accent: #0D1B2A;
  --color-ink-on-chrome: #FFFFFF;
  --color-ink-on-chrome-muted: #CBD5E1;
  --color-brand-navy: #0D1B2A;
  --color-brand-orange: #F95300;
  --color-brand-teal: #14A07A;
  --color-action-primary: #14A07A;
  --color-action-primary-hover: #2DB58C;
  --color-action-primary-disabled-bg: #1F3A3A;
  --color-action-primary-disabled-ink: #9FC4B8;
  --color-action-accent: #F95300;
  --color-action-accent-hover: #FF6A1A;
  --color-action-disabled-bg: #1A2E44;
  --color-link: #7CC4E8;
  --color-link-hover: #A8DCF2;
  --color-focus-ring: #5FD3AE;
  --color-accent-text: #FF8A4C;
  --color-border-subtle: #2B4057;
  --color-border-control: #6A86A2;
  --color-border-accent: #F95300;
  --color-chrome-hover-bg: rgba(255,255,255,0.08);
  --color-chrome-rule: #F95300;
  --color-success-ink: #4ADE80;
  --color-success-bg: #12332A;
  --color-success-border: #4ADE80;
  --color-warning-ink: #FBBF24;
  --color-warning-bg: #33270F;
  --color-warning-border: #FBBF24;
  --color-danger-ink: #FA8686;
  --color-danger-bg: #3A1A1C;
  --color-danger-border: #F87171;
  --color-info-ink: #7CC4E8;
  --color-info-bg: #16324A;
  --color-info-border: #7CC4E8;
  --shadow-none: none;
  --shadow-raised: 0 1px 2px rgba(0,0,0,0.4), 0 4px 12px rgba(0,0,0,0.3);
  --shadow-overlay: 0 30px 80px rgba(0,0,0,0.35);
  --shadow-cue-halo: 0 0 0 8px rgba(249,83,0,0.35);
  --shadow-selected: inset 3px 0 0 var(--color-link);
  color-scheme: dark;
}

@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}
