/* Generated from design/design-tokens.json by scripts/build_design_tokens.py. Do not edit by hand.
   Usage rules: DESIGN.md. Palette is locked: values must match :root in v5.css. */
:root {
  --color-bg-page: #F7F5F0;
  --color-bg-surface: #FFFFFF;
  --color-bg-sidebar: #163528;
  --color-bg-subtle: #F0EDE6;
  --color-text-primary: #111318;
  --color-text-secondary: #3C4048;
  --color-text-muted: #6B7079;
  --color-text-on-accent: #FFFFFF;
  --color-icon-faint: #9AA0A8;
  --color-border-default: #E6E1D6;
  --color-border-subtle: #EEEAE2;
  --color-accent-default: #1F5C3E;
  --color-accent-hover: #1A4731;
  --color-accent-secondary: #2F7A54;
  --color-status-success-bg: #EDF6F0;
  --color-status-success-text: #1E5439;
  --color-status-success-border: #D0E5D6;
  --color-status-warning-bg: #FEF7EA;
  --color-status-warning-text: #784F09;
  --color-status-warning-border: #FAE1B8;
  --color-status-danger-bg: #FDF2F1;
  --color-status-danger-text: #8A2720;
  --color-status-danger-border: #F6CBC7;
  --color-status-info-bg: #EEF6FC;
  --color-status-info-text: #1D4E79;
  --color-status-info-border: #D4E6F4;
  --color-status-processing-bg: #F2F5F8;
  --color-status-processing-text: #2B4764;
  --color-status-processing-border: #DCE4EC;
  --color-course-0-fg: #2563EB;
  --color-course-0-accent: #38BDF8;
  --color-course-0-bg: #EAF1FE;
  --color-course-1-fg: #0F766E;
  --color-course-1-accent: #14B8A6;
  --color-course-1-bg: #E9F7F5;
  --color-course-2-fg: #B34E08;
  --color-course-2-accent: #F59E0B;
  --color-course-2-bg: #FFF4E8;
  --color-course-3-fg: #7C3AED;
  --color-course-3-accent: #C084FC;
  --color-course-3-bg: #F3EDFE;
  --color-course-4-fg: #BE185D;
  --color-course-4-accent: #F472B6;
  --color-course-4-bg: #FDEEF5;
  --color-course-5-fg: #4338CA;
  --color-course-5-accent: #818CF8;
  --color-course-5-bg: #EEF0FE;
  --color-sidebar-text: #F4F1EA;
  --color-sidebar-text-secondary: #D8DED5;
  --color-sidebar-muted: #9DB1A4;
  --color-sidebar-active: #21493A;
  --color-sidebar-line: rgba(255,255,255,0.10);
  --color-brass-default: #D2B27E;
  --color-brass-on: #1F1A10;
  --font-family-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-family-heading: "Host Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-family-text: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --type-page-title-size: 36px;
  --type-page-title-line-height: 1.1;
  --type-page-title-weight: 700;
  --type-page-title-letter-spacing: -0.03em;
  --type-page-title-mobile-size: 28px;
  --type-page-title-mobile-line-height: 1.1;
  --type-page-title-mobile-weight: 700;
  --type-page-title-mobile-letter-spacing: -0.03em;
  --type-section-title-size: 20px;
  --type-section-title-line-height: 1.2;
  --type-section-title-weight: 600;
  --type-section-title-letter-spacing: 0;
  --type-card-title-size: 16px;
  --type-card-title-line-height: 1.5;
  --type-card-title-weight: 600;
  --type-card-title-letter-spacing: 0;
  --type-body-lg-size: 15px;
  --type-body-lg-line-height: 1.5;
  --type-body-lg-weight: 400;
  --type-body-lg-letter-spacing: 0;
  --type-body-size: 14px;
  --type-body-line-height: 1.5;
  --type-body-weight: 400;
  --type-body-letter-spacing: 0;
  --type-body-sm-size: 13px;
  --type-body-sm-line-height: 1.5;
  --type-body-sm-weight: 400;
  --type-body-sm-letter-spacing: 0;
  --type-caption-size: 12px;
  --type-caption-line-height: 1.5;
  --type-caption-weight: 400;
  --type-caption-letter-spacing: 0;
  --type-label-size: 11px;
  --type-label-line-height: 1.5;
  --type-label-weight: 600;
  --type-label-letter-spacing: 0.04em;
  --space-0-5: 2px;
  --space-1: 4px;
  --space-1-5: 6px;
  --space-2: 8px;
  --space-2-5: 10px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --radius-2xs: 4px;
  --radius-xs: 6px;
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius-xl: 14px;
  --radius-2xl: 16px;
  --radius-sheet: 20px;
  --radius-full: 999px;
  --shadow-xs: 0 1px 2px rgba(17, 19, 24, 0.08);
  --shadow-card: 0 1px 2px rgba(17, 19, 24, 0.05), 0 4px 12px -2px rgba(17, 19, 24, 0.05);
  --shadow-widget: 0 1px 2px rgba(17, 19, 24, 0.04), 0 8px 24px rgba(17, 19, 24, 0.07);
  --shadow-float: 0 1px 2px rgba(17, 19, 24, 0.06), 0 16px 40px -6px rgba(17, 19, 24, 0.14);
  --shadow-drag: 0 2px 4px rgba(17, 19, 24, 0.08), 0 18px 40px -6px rgba(17, 19, 24, 0.16);
  --shadow-focus: 0 0 0 3px #1F5C3E22;
  --size-sidebar: 232px;
  --size-content-max: 952px;
  --size-settings-max: 760px;
  --size-hit-target: 44px;
  --size-hit-target-popup: 32px;
  --size-popup-width: 360px;
  --size-popup-max-height: 600px;
  --size-panel-width: 380px;
  --size-icon-xs: 12px;
  --size-icon-sm: 16px;
  --size-icon-md: 20px;
  --size-icon-lg: 24px;
  --breakpoint-phone-design: 375px;
  --breakpoint-sm: 640px;
  --breakpoint-md: 900px;
  --breakpoint-lg: 1200px;
  --breakpoint-desktop-design: 1280px;
  --motion-duration-hover: 150ms;
  --motion-duration-press: 160ms;
  --motion-duration-base: 200ms;
  --motion-duration-slow: 400ms;
  --motion-easing-out: cubic-bezier(.23, 1, .32, 1);
}
