/* ============================================================
   illi design tokens — AUTO-GENERATED by tokens/generate.mjs
   Do NOT edit this file. Edit primitives.json / semantic.json,
   then run:  node tokens/generate.mjs

   VENDORED COPY of code/tokens/tokens.generated.css. Regenerate there
   (node tokens/generate.mjs) and re-copy here; see tokens/README.md runbook.
   Do not hand-edit.
   ============================================================ */

:host, :root {
  /* Runtime — overridden per-platform at runtime by computeColors() */
  --illi-brand: #FF0000;

  /* Primitives */
  --illi-bone-50: #FAF8F5;
  --illi-bone-100: #F5F2EE;
  --illi-bone-200: #F0EDE8;
  --illi-bone-300: #EBE7E2;
  --illi-bone-400: #E4DED6;
  --illi-bone-500: #D8D0C6;
  --illi-bone-600: #C8BFB3;
  --illi-bone-700: #B5AA9D;
  --illi-bone-800: #9E9285;
  --illi-bone-900: #857869;
  --illi-bone-950: #7B6D5D;
  --illi-gray-50: #F5F5F5;
  --illi-gray-100: #E8E8E8;
  --illi-gray-200: #D4D4D4;
  --illi-gray-300: #C5C5C5;
  --illi-gray-400: #9E9E9E;
  --illi-gray-500: #6E6E6E;
  --illi-gray-600: #484848;
  --illi-gray-700: #333333;
  --illi-gray-750: #222222;
  --illi-gray-800: #1A1A1A;
  --illi-gray-900: #0A0A0A;
  --illi-red-50: #FEF2F2;
  --illi-red-100: #FEE2E2;
  --illi-red-200: #FECACA;
  --illi-red-300: #FCA5A5;
  --illi-red-400: #F87171;
  --illi-red-500: #EF4444;
  --illi-red-600: #DC2626;
  --illi-red-650: #CD2222;
  --illi-red-700: #B91C1C;
  --illi-red-800: #991B1B;
  --illi-red-900: #7F1D1D;
  --illi-cyan-50: #ECFEFF;
  --illi-cyan-100: #CFFAFE;
  --illi-cyan-200: #A5F3FC;
  --illi-cyan-300: #67E8F9;
  --illi-cyan-400: #22D3EE;
  --illi-cyan-500: #06B6D4;
  --illi-cyan-600: #0891B2;
  --illi-cyan-700: #0E7490;
  --illi-cyan-800: #155E75;
  --illi-cyan-900: #164E63;
  --illi-purple-50: #FAF5FF;
  --illi-purple-100: #F3E8FF;
  --illi-purple-200: #E9D5FF;
  --illi-purple-300: #D8B4FE;
  --illi-purple-400: #C084FC;
  --illi-purple-500: #A855F7;
  --illi-purple-600: #9333EA;
  --illi-purple-700: #7E22CE;
  --illi-purple-800: #6B21A8;
  --illi-purple-900: #581C87;
  --illi-blue-50: #EFF6FF;
  --illi-blue-100: #DBEAFE;
  --illi-blue-200: #BFDBFE;
  --illi-blue-300: #93C5FD;
  --illi-blue-400: #60A5FA;
  --illi-blue-500: #3B82F6;
  --illi-blue-600: #2563EB;
  --illi-blue-700: #1D4ED8;
  --illi-blue-800: #1E40AF;
  --illi-blue-900: #1E3A8A;
  --illi-teal-50: #F0FDFA;
  --illi-teal-100: #CCFBF1;
  --illi-teal-200: #99F6E4;
  --illi-teal-300: #5EEAD4;
  --illi-teal-400: #2DD4BF;
  --illi-teal-500: #14B8A6;
  --illi-teal-600: #0D9488;
  --illi-teal-700: #0F766E;
  --illi-teal-800: #115E59;
  --illi-teal-900: #134E4A;
  --illi-yellow-50: #FEFCE8;
  --illi-yellow-100: #FEF9C3;
  --illi-yellow-200: #FEF08A;
  --illi-yellow-300: #FDE047;
  --illi-yellow-400: #FACC15;
  --illi-yellow-500: #EAB308;
  --illi-yellow-600: #CA8A04;
  --illi-yellow-700: #A16207;
  --illi-yellow-800: #854D0E;
  --illi-yellow-900: #713F12;
  --illi-green-50: #F0FDF4;
  --illi-green-100: #DCFCE7;
  --illi-green-200: #BBF7D0;
  --illi-green-300: #86EFAC;
  --illi-green-400: #4ADE80;
  --illi-green-500: #22C55E;
  --illi-green-600: #16A34A;
  --illi-green-700: #15803D;
  --illi-green-800: #166534;
  --illi-green-900: #14532D;
  --illi-amber-50: #FFFBEB;
  --illi-amber-100: #FEF3C7;
  --illi-amber-200: #FDE68A;
  --illi-amber-300: #FCD34D;
  --illi-amber-400: #FBBF24;
  --illi-amber-500: #F59E0B;
  --illi-amber-600: #D97706;
  --illi-amber-700: #B45309;
  --illi-amber-800: #92400E;
  --illi-amber-900: #78350F;
  --illi-platform-youtube: #FF0000;
  --illi-platform-vimeo: #1AB7EA;
  --illi-platform-udemy: #A435F0;
  --illi-platform-coursera: #0056D2;
  --illi-platform-khan: #14BF96;
  --illi-white: #FFFFFF;
  --illi-black: #000000;
  --illi-font-primary: Inter;
  --illi-font-display: Sora;
  --illi-font-script: Caveat;
  --illi-weight-regular: 400;
  --illi-weight-medium: 500;
  --illi-weight-semibold: 600;
  --illi-weight-bold: 700;
  --illi-space-xs: 4px;
  --illi-space-sm: 8px;
  --illi-space-md: 12px;
  --illi-space-lg: 16px;
  --illi-space-xl: 24px;
  --illi-space-2xl: 32px;
  --illi-space-3xl: 48px;
  --illi-space-4xl: 64px;
  --illi-space-5xl: 96px;
  --illi-space-6xl: 128px;
  --illi-space-7xl: 192px;
  --illi-space-8xl: 256px;
  --illi-shape-sm: 4px;
  --illi-shape-md: 8px;
  --illi-shape-lg: 12px;
  --illi-shape-xl: 16px;
  --illi-shape-full: 9999px;
  --illi-shape-circle: 50%;

  /* Semantic — color */
  --illi-surface-card: var(--illi-bone-50);
  --illi-surface-raised: var(--illi-white);
  --illi-surface-sunken: var(--illi-bone-100);
  --illi-surface-chip: var(--illi-bone-200);
  --illi-surface-control: var(--illi-gray-100);
  --illi-surface-notice: var(--illi-bone-200);
  --illi-surface-inverse: var(--illi-gray-500);
  --illi-text-primary: var(--illi-gray-800);
  --illi-text-heading: var(--illi-gray-700);
  --illi-text-secondary: var(--illi-gray-500);
  --illi-text-muted: var(--illi-gray-500);
  --illi-text-field: var(--illi-gray-600);
  --illi-text-section-label: var(--illi-gray-500);
  --illi-text-title: var(--illi-bone-950);
  --illi-text-on-brand: #FFFFFFEB;
  --illi-text-on-brand-muted: #FFFFFF8C;
  --illi-text-on-brand-faint: #FFFFFF7A;
  --illi-border-default: var(--illi-gray-200);
  --illi-border-strong: var(--illi-gray-300);
  --illi-border-divider: var(--illi-gray-200);
  --illi-border-field: var(--illi-bone-400);
  --illi-accent-default: var(--illi-red-500);
  --illi-accent-secondary: var(--illi-bone-950);
  --illi-accent-tint: var(--illi-red-100);
  --illi-accent-knob: var(--illi-red-50);
  --illi-accent-hub: var(--illi-brand);
  --illi-accent-cta: var(--illi-red-600);
  --illi-status-success: var(--illi-green-600);
  --illi-status-success-tint: var(--illi-green-100);
  --illi-status-warning: var(--illi-amber-600);
  --illi-status-warning-tint: var(--illi-amber-100);
  --illi-status-danger: var(--illi-red-700);
  --illi-status-danger-tint: var(--illi-red-100);
  --illi-scrim-light: rgba(20,18,16,0.55);
  --illi-scrim-heavy: rgba(10,9,8,0.78);
  --illi-on-accent: var(--illi-white);
  --illi-warning: var(--illi-amber-500);
  --illi-warning-tint: var(--illi-amber-100);
  --illi-warning-border: var(--illi-amber-300);
  --illi-success: var(--illi-green-500);

  /* Semantic — shadow */
  --illi-shadow-field: inset 0 1px 2px #0000000A;
  --illi-shadow-raise-sm: 0 2px 8px rgba(26,26,26,0.06);
  --illi-shadow-raise-md: 0 8px 24px rgba(26,26,26,0.10);
  --illi-shadow-raise-lg: 0 16px 48px rgba(26,26,26,0.14);
  --illi-shadow-neo-raised: -6px -6px 6px rgba(255,255,255,0.60), 6px 6px 6px rgba(0,0,0,0.08);
  --illi-shadow-neo-pressed: inset 3px 3px 3px rgba(0,0,0,0.05), inset -3px -3px 3px rgba(255,255,255,0.45);
  --illi-shadow-cta: 0 2px 8px rgba(220,38,38,0.25);
  --illi-shadow-toast: 0 2px 10px rgba(26,26,26,0.08);

  /* Semantic — typography */
  --illi-type-display-size: 56px;
  --illi-type-display-line: 1.1;
  --illi-type-display-family: var(--illi-font-display);
  --illi-type-display-weight: var(--illi-weight-bold);
  --illi-type-h1-size: 40px;
  --illi-type-h1-line: 1.2;
  --illi-type-h1-family: var(--illi-font-display);
  --illi-type-h1-weight: var(--illi-weight-bold);
  --illi-type-h2-size: 28px;
  --illi-type-h2-line: 1.3;
  --illi-type-h2-family: var(--illi-font-display);
  --illi-type-h2-weight: var(--illi-weight-semibold);
  --illi-type-h3-size: 21px;
  --illi-type-h3-line: 1.4;
  --illi-type-h3-family: var(--illi-font-primary);
  --illi-type-h3-weight: var(--illi-weight-semibold);
  --illi-type-body-size: 16px;
  --illi-type-body-line: 1.5;
  --illi-type-body-family: var(--illi-font-primary);
  --illi-type-body-weight: var(--illi-weight-regular);
  --illi-type-body-sm-size: 14px;
  --illi-type-body-sm-line: 1.4;
  --illi-type-body-sm-family: var(--illi-font-primary);
  --illi-type-body-sm-weight: var(--illi-weight-regular);
  --illi-type-label-size: 14px;
  --illi-type-label-line: 1.4;
  --illi-type-label-family: var(--illi-font-primary);
  --illi-type-label-weight: var(--illi-weight-medium);
  --illi-type-button-size: 16px;
  --illi-type-button-line: 1.2;
  --illi-type-button-family: var(--illi-font-primary);
  --illi-type-button-weight: var(--illi-weight-semibold);
  --illi-type-caption-size: 13px;
  --illi-type-caption-line: 1.4;
  --illi-type-caption-family: var(--illi-font-primary);
  --illi-type-caption-weight: var(--illi-weight-regular);
  --illi-type-small-size: 12px;
  --illi-type-small-line: 1.4;
  --illi-type-small-family: var(--illi-font-primary);
  --illi-type-small-weight: var(--illi-weight-regular);
  --illi-type-xs-size: 11px;
  --illi-type-xs-line: 1.35;
  --illi-type-xs-family: var(--illi-font-primary);
  --illi-type-xs-weight: var(--illi-weight-regular);

  /* Semantic — motion */
  --illi-motion-fast: 150ms;
  --illi-motion-base: 240ms;
  --illi-motion-slow: 400ms;
  --illi-motion-ease: cubic-bezier(0.2, 0, 0, 1);

  /* Semantic — focus */
  --illi-focus-ring: 0 0 0 2px var(--illi-surface-card), 0 0 0 4px var(--illi-red-600);

  /* Semantic — breakpoint */
  --illi-breakpoint-compact: 800px;
  --illi-breakpoint-mobile: 480px;
}
