/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --breakpoint-sm: 576px;
  --breakpoint-md: 769px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-2xl: 1366px;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-indigo-50: #eef2ff;
  --color-indigo-100: #e0e7ff;
  --color-indigo-200: #c7d2fe;
  --color-indigo-300: #a5b4fc;
  --color-indigo-400: #818cf8;
  --color-indigo-500: #6366f1;
  --color-indigo-600: #4f46e5;
  --color-indigo-700: #4338ca;
  --color-indigo-800: #3730a3;
  --color-indigo-900: #312e81;
  --color-indigo-950: #1e1b4b;
  --color-slate-50: #f8fafc;
  --color-slate-100: #f1f5f9;
  --color-slate-200: #e2e8f0;
  --color-slate-300: #cbd5e1;
  --color-slate-400: #94a3b8;
  --color-slate-500: #64748b;
  --color-slate-600: #475569;
  --color-slate-700: #334155;
  --color-slate-800: #1e293b;
  --color-slate-900: #0f172a;
  --color-slate-950: #020617;
  --color-emerald-50: #ecfdf5;
  --color-emerald-100: #d1fae5;
  --color-emerald-200: #a7f3d0;
  --color-emerald-300: #6ee7b7;
  --color-emerald-400: #34d399;
  --color-emerald-500: #10b981;
  --color-emerald-600: #059669;
  --color-emerald-700: #047857;
  --color-emerald-800: #065f46;
  --color-emerald-900: #064e3b;
  --color-emerald-950: #022c22;
  --color-green-50: #f0fdf4;
  --color-green-100: #dcfce7;
  --color-green-200: #bbf7d0;
  --color-green-300: #86efac;
  --color-green-400: #4ade80;
  --color-green-500: #22c55e;
  --color-green-600: #16a34a;
  --color-green-700: #15803d;
  --color-green-800: #166534;
  --color-green-900: #14532d;
  --color-green-950: #052e16;
  --color-amber-50: #fffbeb;
  --color-amber-100: #fef3c7;
  --color-amber-200: #fde68a;
  --color-amber-300: #fcd34d;
  --color-amber-400: #fbbf24;
  --color-amber-500: #f59e0b;
  --color-amber-600: #d97706;
  --color-amber-700: #b45309;
  --color-amber-800: #92400e;
  --color-amber-900: #78350f;
  --color-amber-950: #451a03;
  --color-red-50: #fef2f2;
  --color-red-100: #fee2e2;
  --color-red-200: #fecaca;
  --color-red-300: #fca5a5;
  --color-red-400: #f87171;
  --color-red-500: #ef4444;
  --color-red-600: #dc2626;
  --color-red-700: #b91c1c;
  --color-red-800: #991b1b;
  --color-red-900: #7f1d1d;
  --color-red-950: #450a0a;
  --color-blue-50: #eff6ff;
  --color-blue-100: #dbeafe;
  --color-blue-200: #bfdbfe;
  --color-blue-300: #93c5fd;
  --color-blue-400: #60a5fa;
  --color-blue-500: #3b82f6;
  --color-blue-600: #2563eb;
  --color-blue-700: #1d4ed8;
  --color-blue-800: #1e40af;
  --color-blue-900: #1e3a8a;
  --color-blue-950: #172554;
  --color-violet-50: #f5f3ff;
  --color-violet-100: #ede9fe;
  --color-violet-200: #ddd6fe;
  --color-violet-300: #c4b5fd;
  --color-violet-400: #a78bfa;
  --color-violet-500: #8b5cf6;
  --color-violet-600: #7c3aed;
  --color-violet-700: #6d28d9;
  --color-violet-800: #5b21b6;
  --color-violet-900: #4c1d95;
  --color-violet-950: #2e1065;
  --color-primary: #4f46e5; /** Brand primary. Indigo 600. The single action accent; every interactive affordance uses it. */
  --color-primary-light: #6366f1;
  --color-primary-dark: #4338ca;
  --color-primary-surface: #eef2ff;
  --color-secondary: #8b5cf6; /** Violet. Decorative accent only, never for interactive or action affordances. */
  --color-secondary-light: #a78bfa;
  --color-secondary-dark: #7c3aed;
  --color-secondary-surface: #f5f3ff;
  --color-success: #10b981;
  --color-success-strong: #059669; /** AA-safe green fill for a white glyph on the success color (emerald 500 is only 2.54:1 with white, below the 3:1 non-text floor). */
  --color-success-surface: #f0fdf4;
  --color-success-border: #bbf7d0;
  --color-success-text: #166534;
  --color-warning: #f59e0b;
  --color-warning-strong: #d97706; /** AA-safe amber fill for a white glyph on the warning color (amber 500 is only 2.15:1 with white; amber 600 #d97706 is ~3.18:1, clearing the 3:1 non-text floor). */
  --color-warning-surface: #fffbeb;
  --color-warning-border: #fde68a;
  --color-warning-text: #78350f;
  --color-error: #ef4444;
  --color-error-strong: #dc2626; /** AA-safe red fill for white text on buttons (red 500 is only 3.76:1 on white). */
  --color-error-surface: #fef2f2;
  --color-error-border: #fecaca;
  --color-error-text: #991b1b;
  --color-info: #3b82f6;
  --color-info-surface: #eff6ff;
  --color-info-border: #bfdbfe;
  --color-info-text: #1e40af;
  --color-text-heading: #0f172a;
  --color-text-strong: #1e293b;
  --color-text-secondary: #475569;
  --color-text-body: #334155; /** Reading body copy. Slate 700 for comfortable long-form contrast; muted stays at slate 500 (the AA floor). */
  --color-text-muted: #64748b;
  --color-text-disabled: #cbd5e1;
  --color-surface: #ffffff;
  --color-surface-secondary: #f8fafc;
  --color-surface-hover: #f1f5f9;
  --color-background: #f8fafc;
  --color-border: #e2e8f0;
  --color-border-light: #e2e8f0;
  --color-border-subtle: #f1f5f9;
  --color-focus: #4f46e5;
  --target-min: 2.75rem; /** 44px. Minimum touch target for any interactive control (mobile-first floor). */
  --target-floor: 1.5rem; /** 24px. Absolute WCAG 2.5.8 target-size floor, only for a documented exception. */
  --focus-ring-width: 0.125rem; /** 2px. Thickness of the focus indicator edge, matching the indigo edge of shadow.focus (WCAG 2.4.13 area). */
  --focus-ring-offset: 0.125rem; /** 2px. Gap between the control and the focus indicator edge, matching the white gap of shadow.focus. */
  --control-text-min: 1rem; /** 16px. Minimum font size of any text-entry control, so iOS Safari does not zoom on focus. */
  --scroll-margin: 2.75rem; /** Scroll margin for scrollIntoView of an active or focused item, so sticky or fixed bars never obscure it (WCAG 2.4.11). */
  --border-width-hairline: 1px; /** The one documented raw 1px hairline. Dividers and input outlines; never for focus or emphasis. */
  --icon-size-sm: 0.875rem; /** 14px. Small glyph box, for dense text and compact controls. */
  --icon-size-md: 1.25rem; /** 20px. Default glyph box, matching the 1.25em SJButton icon box. */
  --icon-size-lg: 1.5rem; /** 24px. Large glyph box, the native grid of the icon set. */
  --icon-stroke-width: 2; /** Stroke weight of every icon, in the 24-unit icon grid (the set's native weight). Themes thin it through the --sj-icon-stroke hook. */
  --duration-fast: 150ms;
  --duration-normal: 200ms;
  --duration-slow: 300ms;
  --easing-linear: cubic-bezier(0, 0, 1, 1);
  --easing-in: cubic-bezier(0.4, 0, 1, 1);
  --easing-out: cubic-bezier(0, 0, 0.2, 1);
  --easing-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --overlay-max-width: 24rem; /** 384px. Cap on the inline size of a popover, tooltip or listbox panel. */
  --overlay-max-height: 20rem; /** 320px. Cap on the block size of a listbox or popover panel before it scrolls. */
  --overlay-dialog-max-width: 32rem; /** 512px. Cap on the inline size of a modal dialog. */
  --overlay-viewport-margin: 1rem; /** 16px. Minimum distance an overlay keeps from the viewport edge. */
  --radius-none: 0; /** Square. Tables, full-bleed media, section dividers. */
  --radius-xs: 0.25rem; /** 4px. Nested inner corners, tight inline elements. */
  --radius-sm: 0.375rem; /** 6px. Signature control radius. Buttons, inputs, selects, small pressables. */
  --radius-md: 0.5rem; /** 8px. Comfortable controls, small badges, compact containers. */
  --radius-lg: 0.75rem; /** 12px. Cards, menus, popovers, dropdowns. */
  --radius-xl: 1rem; /** 16px. Modals, sheets, large surfaces. */
  --radius-2xl: 1.25rem; /** 20px. Hero panels, feature surfaces. */
  --radius-pill: 9999px; /** Fully rounded. ACCENT ONLY: chips, tags, avatars, toggles, icon buttons, one-line status. Never on wide buttons or cards. */
  --shadow-sm: 0 1px 2px 0 rgba(79, 70, 229, 0.06), 0 1px 3px 0 rgba(15, 23, 42, 0.04); /** Raised. Buttons and resting cards. A whisper of lift, not a drop shadow. */
  --shadow-md: 0 2px 4px -1px rgba(79, 70, 229, 0.06), 0 8px 16px -4px rgba(79, 70, 229, 0.10); /** Overlay. Dropdowns, popovers, menus. Two soft indigo layers, no pure black. */
  --shadow-lg: 0 4px 8px -2px rgba(79, 70, 229, 0.06), 0 16px 32px -8px rgba(79, 70, 229, 0.12); /** Floating. Modals, sheets, command palettes. The elevation ceiling. Nothing sits higher. */
  --shadow-focus: 0 0 0 2px #ffffff, 0 0 0 4px #4f46e5; /** Focus ring. Pairs with :focus-visible. A two-tone ring, a 2px white gap inside a 2px indigo edge, so one layer always clears 3:1 against the surface behind it, light or brand. Not an elevation level, never decorative. */
  --space-0: 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;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --state-hover: 0.08; /** State-layer opacity for hover. Pointer devices only, gate with @media (hover: hover). */
  --state-focus: 0.1; /** State-layer opacity for focus-visible (keyboard). */
  --state-pressed: 0.1; /** State-layer opacity for active/press. The universal base state, primary feedback on touch. */
  --state-dragged: 0.16; /** State-layer opacity while dragging. */
  --font-family-sans: Rubik, system-ui, sans-serif; /** Body and UI text. */
  --font-family-display: 'Red Hat Display', system-ui, sans-serif; /** Headings and display. */
  --font-family-alt: Roboto, system-ui, sans-serif; /** Fallback family. */
  --font-weight-thin: 100;
  --font-weight-extralight: 200;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-size-5xl: 3rem;
  --font-size-6xl: 3.75rem;
  --leading-none: 1;
  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-normal: 0em;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-fab: 400;
  --z-modal-backdrop: 500;
  --z-modal: 600;
  --z-popover: 700;
  --z-tooltip: 800;
  --z-toast: 900;
}
