/* GENERATED by scripts/design-tokens.mjs from design/lsdm-design-system-v2/tokens.json. Do not edit. */
/* LSDM v2 v2 — themes: light, navy. Fonts: Montserrat 900, Karla 700, Work Sans 400/600 (Google Fonts). */
:root, [data-theme="light"] {
  --cream: #faf2f0;
  --navy: #031e4a;
  --coral: #f98680;
  --amber: #fba919;
  --teal: #3cc4ba;
  --green: #37a35a;
  --blue: #1c79fa;
  --white: #ffffff;
  --grey-666: #666666;
  --grey-e5: #e5e5e5;
  --coral-deep: #9d5451;
  --amber-deep: #92620e;
  --teal-deep: #247670;
  --green-deep: #287541;
  --coral-tint: #fee9e8;
  --amber-tint: #fef0d6;
  --teal-tint: #dcf4f3;
  --green-tint: #dbeee1;
  --navy-tint: #e6e8ed;
  --red-600: #b4232f;
  --red-tint: #f8e9ea;
  --red-300: #ff9b9b;
  --navy-raised: #0d2c5e;
  --navy-line: #2b4878;
  --slate-300: #b8c1d1;
  --slate-500: #8592b0;
  --surface: var(--cream);
  --surface-raised: var(--white);
  --surface-muted: #f3e7e3;
  --ink: var(--navy);
  --ink-muted: var(--grey-666);
  --ink-inverse: var(--cream);
  --line: var(--grey-e5);
  --border-control: var(--grey-666);
  --action-fill: var(--amber);
  --action-fill-hover: #e39200;
  --action-fill-pressed: #d98b00;
  --action-ink: var(--navy);
  --action-outline: var(--navy);
  --link: var(--navy);
  --focus-ring: var(--blue);
  --danger: var(--red-600);
  --danger-tint: var(--red-tint);
  --danger-hover: #951c27;
  --on-danger: var(--white);
  --success: var(--green-deep);
  --success-tint: var(--green-tint);
  --notice: var(--amber-deep);
  --notice-tint: var(--amber-tint);
  --dance: var(--coral);
  --dance-ink: var(--coral-deep);
  --dance-tint: var(--coral-tint);
  --music: var(--teal);
  --music-ink: var(--teal-deep);
  --music-tint: var(--teal-tint);
  --camp: var(--green);
  --camp-ink: var(--green-deep);
  --camp-tint: var(--green-tint);
  --trial-tint: var(--amber-tint);
  --event-tint: var(--navy-tint);
  --scrim: rgba(3,30,74,0.55);
  --chrome-ground: #eef0f2;
  --chrome-panel: #ffffff;
  --chrome-line: #d9dce1;
  --chrome-hover: #f3f4f6;
  --chrome-ink: #1d2430;
  --chrome-muted: #5b6472;
  --chrome-select: #2563c9;
  --chrome-select-tint: #e8f0fc;
  --staff-canvas: var(--chrome-ground);
  --staff-panel: var(--white);
  --status-off: var(--chrome-muted);
  --status-off-tint: var(--chrome-hover);
  --shadow-float: 0 8px 24px rgba(3,30,74,0.18);
  --shadow-sheet: 0 -8px 32px rgba(3,30,74,0.16);
  --shadow-bar: 0 -2px 12px rgba(3,30,74,0.08);
  --shadow-toast: 0 6px 20px rgba(3,30,74,0.16);
  --shadow-menu: 0 10px 25px rgba(3,30,74,0.12);
}
[data-theme="navy"] {
  --surface: var(--navy);
  --surface-raised: var(--navy-raised);
  --surface-muted: #0a2654;
  --ink: var(--cream);
  --ink-muted: var(--slate-300);
  --ink-inverse: var(--navy);
  --line: var(--navy-line);
  --border-control: var(--slate-500);
  --action-fill: var(--amber);
  --action-fill-hover: #e39200;
  --action-fill-pressed: #d98b00;
  --action-ink: var(--navy);
  --action-outline: var(--cream);
  --link: var(--cream);
  --focus-ring: var(--blue);
  --danger: var(--red-300);
  --danger-tint: #3a1f3a;
  --danger-hover: #ffb3b3;
  --on-danger: var(--navy);
  --success: #7fd49a;
  --success-tint: #123a3a;
  --notice: var(--amber);
  --notice-tint: #2a2a44;
  --dance: var(--coral);
  --dance-ink: var(--coral);
  --dance-tint: #3b2c4f;
  --music: var(--teal);
  --music-ink: var(--teal);
  --music-tint: #0b3a55;
  --camp: var(--green);
  --camp-ink: #7fd49a;
  --camp-tint: #0f3a40;
  --trial-tint: #2e2f45;
  --event-tint: #1a3a6e;
  --scrim: rgba(0,8,24,0.7);
  --shadow-float: 0 8px 24px rgba(0,0,0,0.45);
  --shadow-sheet: 0 -8px 32px rgba(0,0,0,0.5);
  --shadow-bar: 0 -2px 12px rgba(0,0,0,0.4);
  --shadow-toast: 0 6px 20px rgba(0,0,0,0.45);
  --shadow-menu: 0 10px 25px rgba(0,0,0,0.45);
}
:root {
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 96px;
  --radius-none: 0px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --radius-circle: 50%;
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 450ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-exit: cubic-bezier(0.3, 0, 1, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --tap-target: 44px;
  --control-height: 48px;
  --control-height-sm: 36px;
  --header-height: 56px;
  --action-bar-height: 80px;
  --ui-text-xs: 12px;
  --ui-text-sm: 13px;
  --ui-text-md: 14px;
  --ui-text-lg: 16px;
  --ui-text-xl: 20px;
  --staff-rail: 64px;
  --staff-nav: 232px;
  --staff-topbar: 56px;
  --container-content: 1200px;
  --container-narrow: 800px;
  --container-reading: 680px;
  --container-sheet: 560px;
  --gutter-mobile: 16px;
  --gutter-desktop: 24px;
  --bp-tablet: 768px;
  --bp-desktop: 1024px;
  --icon-xs: 16px;
  --icon-sm: 20px;
  --icon-md: 24px;
  --icon-lg: 32px;
  --icon-xl: 48px;
  --z-header: 20;
  --z-floating: 30;
  --z-scrim: 40;
  --z-sheet: 50;
  --z-toast: 60;
  --opacity-disabled: 0.4;
  --font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --font-sub: "Karla", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Work Sans", "Segoe UI", Tahoma, sans-serif;
  --font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.hero-m { font-family: var(--font-display); font-size: 40px; line-height: 1.05; font-weight: 900; letter-spacing: -0.5px; }
.h1-m { font-family: var(--font-display); font-size: 32px; line-height: 1.1; font-weight: 900; letter-spacing: -0.3px; }
.h2-m { font-family: var(--font-display); font-size: 26px; line-height: 1.15; font-weight: 900; }
.h3-m { font-family: var(--font-display); font-size: 22px; line-height: 1.25; font-weight: 900; }
.hero { font-family: var(--font-display); font-size: 72px; line-height: 1.05; font-weight: 900; letter-spacing: -0.5px; }
.h1 { font-family: var(--font-display); font-size: 48px; line-height: 1.1; font-weight: 900; letter-spacing: -0.5px; }
.h2 { font-family: var(--font-display); font-size: 36px; line-height: 1.2; font-weight: 900; letter-spacing: -0.3px; }
.h3 { font-family: var(--font-display); font-size: 28px; line-height: 1.3; font-weight: 900; }
.h4-m { font-family: var(--font-sub); font-size: 20px; line-height: 1.3; font-weight: 700; }
.h5-m { font-family: var(--font-sub); font-size: 18px; line-height: 1.35; font-weight: 700; }
.h6-m { font-family: var(--font-sub); font-size: 16px; line-height: 1.4; font-weight: 700; letter-spacing: 0.2px; }
.h4 { font-family: var(--font-sub); font-size: 24px; line-height: 1.3; font-weight: 700; }
.h5 { font-family: var(--font-sub); font-size: 20px; line-height: 1.4; font-weight: 700; letter-spacing: 0.2px; }
.h6 { font-family: var(--font-sub); font-size: 18px; line-height: 1.4; font-weight: 700; letter-spacing: 0.3px; }
.button { font-family: var(--font-sub); font-size: 16px; line-height: 1; font-weight: 700; letter-spacing: 0.2px; }
.button-sm { font-family: var(--font-sub); font-size: 14px; line-height: 1; font-weight: 700; letter-spacing: 0.3px; }
.label { font-family: var(--font-sub); font-size: 16px; line-height: 1.4; font-weight: 700; }
.chip { font-family: var(--font-sub); font-size: 14px; line-height: 1.2; font-weight: 700; }
.eyebrow { font-family: var(--font-sub); font-size: 13px; line-height: 1.3; font-weight: 700; letter-spacing: 1px; }
.body-lg { font-family: var(--font-body); font-size: 18px; line-height: 1.6; font-weight: 400; }
.body { font-family: var(--font-body); font-size: 16px; line-height: 1.6; font-weight: 400; }
.body-strong { font-family: var(--font-body); font-size: 16px; line-height: 1.5; font-weight: 600; }
.body-sm { font-family: var(--font-body); font-size: 14px; line-height: 1.5; font-weight: 400; }
.caption { font-family: var(--font-body); font-size: 13px; line-height: 1.4; font-weight: 400; letter-spacing: 0.2px; }
.date-day { font-family: var(--font-display); font-size: 24px; line-height: 1; font-weight: 900; }
@media (prefers-reduced-motion: reduce) {
  :root { --duration-fast: 0ms; --duration-base: 0ms; --duration-slow: 0ms; }
}
