/* Equestrianism Design System — generated from tokens.json */
:root, [data-theme="light"] {
  --parchment-50: #faf6ee;
  --parchment-100: #f4eee0;
  --parchment-200: #eae1cd;
  --parchment-300: #dacdb2;
  --stone-400: #938770;
  --stone-500: #766955;
  --stone-600: #5f5645;
  --ink-700: #3a342a;
  --ink-800: #262019;
  --ink-900: #17130e;
  --racing-900: #0a2a1f;
  --racing-800: #0e3a2b;
  --racing-700: #14503b;
  --racing-500: #1e6e4f;
  --racing-300: #6fa98e;
  --oxblood-800: #4a141a;
  --oxblood-600: #6e1f27;
  --oxblood-400: #9a4048;
  --oxblood-300: #c4767e;
  --oxblood-200: #d79aa1;
  --cognac-700: #8a4a22;
  --cognac-500: #a95f2e;
  --cognac-300: #c98a55;
  --brass-600: #886421;
  --brass-500: #b8894b;
  --brass-400: #c99e5e;
  --brass-300: #dec088;
  --navy-800: #16283a;
  --navy-600: #24425e;
  --navy-400: #4a6c8c;
  --signal-600: #a81f26;
  --signal-500: #c4292f;
  --bg-page: var(--parchment-50);
  --bg-surface: #ffffff;
  --bg-sunken: var(--parchment-100);
  --bg-inverse: var(--ink-900);
  --bg-inverse-2: var(--ink-800);
  --text-primary: var(--ink-900);
  --text-secondary: var(--stone-600);
  --text-muted: var(--stone-500);
  --text-on-dark: var(--parchment-100);
  --text-on-dark-muted: #9e937c;
  --brand: var(--racing-700);
  --brand-strong: var(--racing-900);
  --brand-alt: var(--oxblood-600);
  --accent: var(--brass-600);
  --accent-on-dark: var(--brass-300);
  --leather: var(--cognac-500);
  --info: var(--navy-600);
  --border-hairline: var(--parchment-300);
  --border-strong: #a99c84;
  --border-control: var(--stone-400);
  --border-control-hover: var(--stone-500);
  --border-on-dark: rgba(222,192,136,0.22);
  --focus-ring: var(--brass-600);
  --label-engraved: var(--brass-600);
  --status-success: var(--racing-500);
  --status-success-bg: #e4eee6;
  --status-success-fg: var(--racing-700);
  --status-warning: var(--cognac-500);
  --status-warning-bg: #f4e6d5;
  --status-warning-fg: var(--cognac-700);
  --status-danger: var(--signal-500);
  --status-danger-bg: #f5e0df;
  --status-danger-fg: var(--signal-600);
  --status-info: var(--navy-600);
  --status-info-bg: #e1e8ee;
  --status-info-fg: var(--navy-600);
  --tag-bg: var(--bg-surface);
  --tag-fg: var(--text-secondary);
  --tag-bd: var(--border-hairline);
  --tag-brand-bg: #eaf0ec;
  --tag-brand-fg: var(--racing-700);
  --tag-brand-bd: rgba(20,80,59,.30);
  --tag-gilt-bg: #f6efdf;
  --tag-gilt-fg: var(--brass-600);
  --tag-gilt-bd: rgba(184,137,75,.40);
  --tag-oxblood-bg: #f5e7e7;
  --tag-oxblood-fg: var(--oxblood-600);
  --tag-oxblood-bd: rgba(110,31,39,.28);
  --state-queued: var(--stone-400);
  --state-queued-bg: var(--parchment-100);
  --state-queued-fg: var(--stone-600);
  --state-queued-bd: var(--border-hairline);
  --state-running: var(--racing-500);
  --state-running-bg: var(--tag-brand-bg);
  --state-running-fg: var(--racing-700);
  --state-running-bd: var(--tag-brand-bd);
  --state-needs-input: var(--brass-600);
  --state-needs-input-bg: var(--tag-gilt-bg);
  --state-needs-input-fg: var(--brass-600);
  --state-needs-input-bd: var(--tag-gilt-bd);
  --state-needs-review: var(--oxblood-600);
  --state-needs-review-bg: var(--tag-oxblood-bg);
  --state-needs-review-fg: var(--oxblood-600);
  --state-needs-review-bd: var(--tag-oxblood-bd);
  --state-done: var(--stone-500);
  --state-done-fg: var(--text-muted);
  --state-done-bd: var(--border-hairline);
  --state-failed: var(--signal-500);
  --state-failed-bg: var(--status-danger-bg);
  --state-failed-fg: var(--signal-600);
  --state-failed-bd: rgba(196,41,47,.30);
  --decision-pending: var(--state-needs-input);
  --decision-pending-bg: var(--state-needs-input-bg);
  --decision-pending-fg: var(--state-needs-input-fg);
  --decision-pending-bd: var(--state-needs-input-bd);
  --decision-approved: var(--state-running);
  --decision-approved-bg: var(--state-running-bg);
  --decision-approved-fg: var(--state-running-fg);
  --decision-approved-bd: var(--state-running-bd);
  --decision-denied: var(--state-needs-review);
  --decision-denied-bg: var(--state-needs-review-bg);
  --decision-denied-fg: var(--state-needs-review-fg);
  --decision-denied-bd: var(--state-needs-review-bd);
  --decision-expired: var(--stone-400);
  --decision-expired-fg: var(--text-muted);
  --decision-expired-bd: var(--border-hairline);
  --edge-gilt: rgba(154,117,52,0.55);
  --scrim: rgba(23,19,14,0.50);
  --nav-bg: var(--bg-page);
  --code-inline-bg: var(--parchment-200);
  --code-inline-fg: var(--oxblood-600);
  --shadow-xs: 0 1px 2px rgba(23,19,14,0.06);
  --shadow-sm: 0 2px 6px rgba(23,19,14,0.07);
  --shadow-md: 0 6px 20px rgba(23,19,14,0.10);
  --shadow-lg: 0 18px 46px rgba(23,19,14,0.16);
  --shadow-inset: inset 0 1px 3px rgba(23,19,14,0.10);
  --keyline-brass: 0 0 0 1px rgba(184,137,75,0.45);
  --focus-shadow: 0 0 0 2px #886421;
}
[data-theme="dark"] {
  --bg-page: #15110b;
  --bg-surface: #1f1810;
  --bg-sunken: #0f0c07;
  --bg-inverse: #0b0906;
  --bg-inverse-2: #151009;
  --text-primary: #f1eadb;
  --text-secondary: #b7ac93;
  --text-muted: #8e826b;
  --text-on-dark: var(--parchment-100);
  --text-on-dark-muted: #9e937c;
  --brand: var(--racing-300);
  --brand-strong: #8fc0a6;
  --brand-alt: var(--oxblood-300);
  --accent: var(--brass-400);
  --accent-on-dark: var(--brass-300);
  --leather: var(--cognac-300);
  --info: var(--navy-400);
  --border-hairline: #2c2417;
  --border-strong: #463a26;
  --border-control: #736650;
  --border-control-hover: var(--text-muted);
  --border-on-dark: rgba(222,192,136,0.22);
  --focus-ring: var(--brass-400);
  --label-engraved: var(--brass-300);
  --status-success: var(--racing-300);
  --status-success-bg: #16281e;
  --status-success-fg: #7fb79a;
  --status-warning: var(--cognac-300);
  --status-warning-bg: #2c1e10;
  --status-warning-fg: #d19a66;
  --status-danger: var(--signal-500);
  --status-danger-bg: #2e1414;
  --status-danger-fg: #e08789;
  --status-info: var(--navy-400);
  --status-info-bg: #152430;
  --status-info-fg: #8fb0cb;
  --tag-bg: #221b12;
  --tag-fg: var(--text-secondary);
  --tag-bd: var(--border-hairline);
  --tag-brand-bg: #16281e;
  --tag-brand-fg: #7fb79a;
  --tag-brand-bd: rgba(111,169,142,.30);
  --tag-gilt-bg: #2a2110;
  --tag-gilt-fg: var(--brass-300);
  --tag-gilt-bd: rgba(222,192,136,.30);
  --tag-oxblood-bg: #2a1416;
  --tag-oxblood-fg: var(--oxblood-200);
  --tag-oxblood-bd: rgba(154,64,72,.35);
  --state-queued: var(--stone-400);
  --state-queued-bg: #221b12;
  --state-queued-fg: var(--text-secondary);
  --state-queued-bd: var(--border-hairline);
  --state-running: var(--racing-300);
  --state-running-bg: #16281e;
  --state-running-fg: #7fb79a;
  --state-running-bd: rgba(111,169,142,.30);
  --state-needs-input: var(--brass-400);
  --state-needs-input-bg: #2a2110;
  --state-needs-input-fg: var(--brass-300);
  --state-needs-input-bd: rgba(222,192,136,.30);
  --state-needs-review: var(--oxblood-300);
  --state-needs-review-bg: #2a1416;
  --state-needs-review-fg: var(--oxblood-200);
  --state-needs-review-bd: rgba(154,64,72,.35);
  --state-done: var(--stone-500);
  --state-done-fg: var(--text-muted);
  --state-done-bd: var(--border-hairline);
  --state-failed: var(--signal-500);
  --state-failed-bg: #2e1414;
  --state-failed-fg: #e08789;
  --state-failed-bd: rgba(224,135,137,.32);
  --decision-pending: var(--state-needs-input);
  --decision-pending-bg: var(--state-needs-input-bg);
  --decision-pending-fg: var(--state-needs-input-fg);
  --decision-pending-bd: var(--state-needs-input-bd);
  --decision-approved: var(--state-running);
  --decision-approved-bg: var(--state-running-bg);
  --decision-approved-fg: var(--state-running-fg);
  --decision-approved-bd: var(--state-running-bd);
  --decision-denied: var(--state-needs-review);
  --decision-denied-bg: var(--state-needs-review-bg);
  --decision-denied-fg: var(--state-needs-review-fg);
  --decision-denied-bd: var(--state-needs-review-bd);
  --decision-expired: var(--stone-400);
  --decision-expired-fg: var(--text-muted);
  --decision-expired-bd: var(--border-hairline);
  --edge-gilt: rgba(222,192,136,0.38);
  --scrim: rgba(6,4,2,0.66);
  --nav-bg: var(--bg-page);
  --code-inline-bg: #241c12;
  --code-inline-fg: var(--cognac-300);
  --focus-shadow: 0 0 0 2px #c99e5e;
}
:root {
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;
  --app-topbar-h: 52px;
  --app-rail-w: 220px;
  --control-h: 34px;
  --control-h-sm: 28px;
  --control-px: 10px;
  --app-gap: 12px;
  --app-pad: 16px;
  --app-page-pad: 24px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-pill: 999px;
  --measure: 68ch;
  --container: 1180px;
  --container-wide: 1360px;
  --gutter: 32px;
  --border-width: 1px;
  --border-width-heavy: 1.5px;
  --text-display-1: 76px;
  --text-display-2: 56px;
  --text-h1: 42px;
  --text-h2: 32px;
  --text-h3: 24px;
  --text-h4: 19px;
  --text-body-lg: 17px;
  --text-body: 15px;
  --text-body-sm: 13.5px;
  --text-caption: 12px;
  --text-micro: 10.5px;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --lh-tight: 1.04;
  --lh-snug: 1.2;
  --lh-normal: 1.62;
  --lh-relaxed: 1.75;
  --lh-ui: 1.5;
  --lh-ui-tight: 1.35;
  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-wide: 0.06em;
  --tracking-wider: 0.14em;
  --tracking-plate: 0.22em;
  --numeric-tabular: tabular-nums;
  --numeric-proportional: proportional-nums;
  --font-display: 'Cormorant Garamond', 'Hoefler Text', Georgia, 'Times New Roman', serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', 'Cascadia Mono', Menlo, Consolas, monospace;
  --font-sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
.display-1 { font-family: var(--font-display); font-size: 76px; font-weight: 600; line-height: 1.04; letter-spacing: -0.01em; }
.display-2 { font-family: var(--font-display); font-size: 56px; font-weight: 600; line-height: 1.04; letter-spacing: -0.01em; }
.heading-1 { font-family: var(--font-display); font-size: 42px; font-weight: 600; line-height: 1.2; }
.heading-2 { font-family: var(--font-display); font-size: 32px; font-weight: 600; line-height: 1.2; }
.heading-3 { font-family: var(--font-display); font-size: 24px; font-weight: 600; line-height: 1.2; }
.heading-4-mono { font-family: var(--font-mono); font-size: 19px; font-weight: 600; line-height: 1.2; }
.body-lg { font-family: var(--font-mono); font-size: 17px; font-weight: 400; line-height: 1.62; }
.body-md { font-family: var(--font-mono); font-size: 15px; font-weight: 400; line-height: 1.62; }
.body-sm { font-family: var(--font-mono); font-size: 13.5px; font-weight: 400; line-height: 1.62; }
.caption-label { font-family: var(--font-mono); font-size: 12px; font-weight: 500; }
.table-header { font-family: var(--font-mono); font-size: 10.5px; font-weight: 600; letter-spacing: 0.06em; }
.ui-text { font-family: var(--font-sans); font-size: 13.5px; font-weight: 400; line-height: 1.5; }
.ui-row { font-family: var(--font-sans); font-size: 13.5px; font-weight: 400; line-height: 1.35; }
.ui-caption { font-family: var(--font-sans); font-size: 12px; font-weight: 400; line-height: 1.5; }
