@ebtgames/theme 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/tokens/colors.ts","../src/tokens/typography.ts","../src/tokens/spacing.ts","../src/tokens/borders.ts","../src/tokens/shadows.ts","../src/tokens/zIndex.ts","../src/semanticTokens/colors.ts","../src/semanticTokens/shadows.ts","../src/semanticTokens/index.ts","../src/keyframes/animations.ts","../src/globalStyles.ts","../src/breakpoints.ts","../src/recipes/button.ts","../src/recipes/cell.ts","../src/recipes/timer.ts","../src/recipes/index.ts","../src/slotRecipes/modal.ts","../src/slotRecipes/victoryScreen.ts","../src/slotRecipes/index.ts"],"sourcesContent":["import { createSystem, defaultConfig } from '@chakra-ui/react'\nimport { colors } from './tokens/colors'\nimport { fonts, fontSizes, fontWeights, letterSpacings } from './tokens/typography'\nimport { spacing } from './tokens/spacing'\nimport { borderWidths, radii } from './tokens/borders'\nimport { shadows } from './tokens/shadows'\nimport { zIndex } from './tokens/zIndex'\nimport { semanticTokens } from './semanticTokens'\nimport { keyframes } from './keyframes/animations'\nimport { globalCss } from './globalStyles'\nimport { breakpoints } from './breakpoints'\nimport { recipes } from './recipes'\nimport { slotRecipes } from './slotRecipes'\n\nexport const system = createSystem(defaultConfig, {\n theme: {\n tokens: {\n colors,\n fonts,\n fontSizes,\n fontWeights,\n letterSpacings,\n spacing,\n borderWidths,\n radii,\n shadows,\n zIndex,\n },\n semanticTokens,\n keyframes,\n breakpoints,\n recipes,\n slotRecipes,\n },\n globalCss,\n})\n","import { defineTokens } from '@chakra-ui/react'\n\nexport const colors = defineTokens.colors({\n // Surface Colors (deep purple monochrome)\n surface: {\n 0: { value: '#1B0F26' }, // Base background - darkest\n 1: { value: '#24122F' }, // Elevated surfaces\n 2: { value: '#2B173A' }, // Cards/panels\n 3: { value: '#342046' }, // Raised/hover states\n },\n\n // Text Colors (WCAG AA verified)\n text: {\n primary: { value: '#F5F1FA' }, // 16.49:1 contrast\n secondary: { value: '#D8D0E3' }, // 12.29:1 contrast\n muted: { value: '#B9AEC9' }, // 8.72:1 contrast\n disabled: { value: '#9E92B4' }, // 6.32:1 contrast\n },\n\n // Primary (Purple - interactive)\n primary: {\n DEFAULT: { value: '#7C5BD6' },\n hover: { value: '#6F4FCB' },\n },\n\n // Utility (Teal - complementary)\n utility: {\n DEFAULT: { value: '#2AB9B0' },\n hover: { value: '#52D6CC' },\n },\n\n // Emphasis (Rose - sparingly)\n emphasis: {\n DEFAULT: { value: '#D86B9A' },\n },\n\n // Border Colors (neutral gray)\n border: {\n subtle: { value: '#3A3341' },\n strong: { value: '#4A4354' },\n },\n\n // Status Colors\n status: {\n success: { value: '#2AB9B0' }, // Use teal\n warning: { value: '#D9A24F' }, // Amber\n error: { value: '#D8524D' }, // Red\n },\n\n // Overlays (purple-based transparency)\n overlay: {\n subtle: { value: 'rgba(124, 91, 214, 0.05)' }, // Purple hover tint\n light: { value: 'rgba(124, 91, 214, 0.1)' }, // Purple selected\n medium: { value: 'rgba(124, 91, 214, 0.15)' }, // Purple active\n heavy: { value: 'rgba(124, 91, 214, 0.25)' }, // Purple emphasis\n error: { value: 'rgba(216, 82, 77, 0.12)' }, // Error tint\n backdrop: {\n light: { value: 'rgba(27, 15, 38, 0.8)' },\n heavy: { value: 'rgba(27, 15, 38, 0.95)' },\n },\n },\n})\n","import { defineTokens } from '@chakra-ui/react'\n\nexport const fonts = defineTokens.fonts({\n display: { value: \"'Courier New', 'Courier', monospace\" },\n heading: { value: \"'Courier New', 'Courier', monospace\" },\n body: { value: \"'Courier New', 'Courier', monospace\" },\n})\n\nexport const fontSizes = defineTokens.fontSizes({\n xs: { value: '0.75rem' }, // 12px - helper text\n sm: { value: '0.875rem' }, // 14px - secondary labels\n base: { value: '1rem' }, // 16px - body text\n md: { value: '1.125rem' }, // 18px - emphasized body\n lg: { value: '1.25rem' }, // 20px - section headings\n xl: { value: '1.5rem' }, // 24px - modal titles\n '2xl': { value: '2rem' }, // 32px - page titles\n '3xl': { value: '3rem' }, // 48px - hero text\n '4xl': { value: '4rem' }, // 64px - display text\n\n // Responsive sizes\n cell: { value: 'clamp(1rem, 3vw, 1.5rem)' },\n hero: { value: 'clamp(2.5rem, 8vw, 4rem)' },\n subtitle: { value: 'clamp(1rem, 3vw, 1.25rem)' },\n})\n\nexport const fontWeights = defineTokens.fontWeights({\n normal: { value: 400 },\n medium: { value: 600 },\n bold: { value: 700 },\n})\n\nexport const letterSpacings = defineTokens.letterSpacings({\n tight: { value: '0.05em' },\n normal: { value: '0.1em' },\n wide: { value: '0.2em' },\n})\n","import { defineTokens } from '@chakra-ui/react'\n\nexport const spacing = defineTokens.spacing({\n '2xs': { value: '0.125rem' }, // 2px - micro gaps\n xs: { value: '0.25rem' }, // 4px\n sm: { value: '0.5rem' }, // 8px\n md: { value: '1rem' }, // 16px\n lg: { value: '1.5rem' }, // 24px\n xl: { value: '2rem' }, // 32px\n '2xl': { value: '3rem' }, // 48px\n})\n","import { defineTokens } from '@chakra-ui/react'\n\nexport const borderWidths = defineTokens.borderWidths({\n thin: { value: '1px' },\n base: { value: '2px' },\n thick: { value: '3px' },\n})\n\nexport const radii = defineTokens.radii({\n sm: { value: '2px' },\n md: { value: '4px' },\n lg: { value: '6px' },\n})\n","import { defineTokens } from '@chakra-ui/react'\n\nexport const shadows = defineTokens.shadows({\n // Depth shadows (layered)\n xs: { value: '0 1px 2px rgba(0, 0, 0, 0.4)' },\n sm: { value: '0 2px 8px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.3)' },\n md: { value: '0 4px 16px rgba(0, 0, 0, 0.6), 0 2px 6px rgba(0, 0, 0, 0.4)' },\n lg: { value: '0 8px 24px rgba(0, 0, 0, 0.7), 0 4px 12px rgba(0, 0, 0, 0.5)' },\n xl: { value: '0 16px 48px rgba(0, 0, 0, 0.8), 0 8px 24px rgba(0, 0, 0, 0.6)' },\n\n // Glow shadows (primary - purple)\n glow: {\n primary: { value: '0 0 10px rgba(124, 91, 214, 0.4)' },\n 'primary-lg': { value: '0 0 20px rgba(124, 91, 214, 0.5), 0 0 40px rgba(124, 91, 214, 0.3)' },\n 'primary-xl': { value: '0 0 30px rgba(124, 91, 214, 0.6), 0 0 60px rgba(124, 91, 214, 0.4)' },\n\n // Utility (teal)\n utility: { value: '0 0 10px rgba(42, 185, 176, 0.3)' },\n 'utility-lg': { value: '0 0 20px rgba(42, 185, 176, 0.4), 0 0 40px rgba(42, 185, 176, 0.2)' },\n\n // Emphasis (rose)\n emphasis: { value: '0 0 10px rgba(216, 107, 154, 0.3)' },\n 'emphasis-lg': { value: '0 0 20px rgba(216, 107, 154, 0.4), 0 0 40px rgba(216, 107, 154, 0.2)' },\n\n // Error (red)\n error: { value: '0 0 10px rgba(216, 82, 77, 0.4)' },\n },\n\n // Inset shadows\n inset: {\n primary: { value: 'inset 0 0 10px rgba(124, 91, 214, 0.3)' },\n subtle: { value: 'inset 0 1px 3px rgba(0, 0, 0, 0.3)' },\n deep: { value: 'inset 0 2px 8px rgba(0, 0, 0, 0.5)' },\n },\n})\n","import { defineTokens } from '@chakra-ui/react'\n\nexport const zIndex = defineTokens.zIndex({\n base: { value: 1 },\n dropdown: { value: 100 },\n overlay: { value: 500 },\n modal: { value: 1000 },\n toast: { value: 1500 },\n fullscreen: { value: 2000 },\n})\n","import { defineSemanticTokens } from '@chakra-ui/react'\n\nexport const semanticColors = defineSemanticTokens.colors({\n // Background mappings\n bg: {\n base: { value: '{colors.surface.0}' },\n elevated: { value: '{colors.surface.1}' },\n card: { value: '{colors.surface.2}' },\n raised: { value: '{colors.surface.3}' },\n },\n\n // Interactive states\n interactive: {\n base: { value: '{colors.primary.DEFAULT}' },\n hover: { value: '{colors.primary.hover}' },\n },\n\n // Border (for buttons, inputs, cards)\n border: {\n subtle: { value: '{colors.border.subtle}' },\n strong: { value: '{colors.border.strong}' },\n },\n})\n","import { defineSemanticTokens } from '@chakra-ui/react'\n\nexport const semanticShadows = defineSemanticTokens.shadows({\n // Button shadows\n button: {\n base: { value: '{shadows.sm}, {shadows.inset.subtle}' },\n hover: { value: '{shadows.md}, {shadows.glow.primary-lg}' },\n },\n\n // Cell shadows (most complex - 4-layer stack for selected state)\n cell: {\n selected: {\n value:\n '{shadows.inset.primary}, 0 0 0 {borderWidths.base} rgba(124, 91, 214, 0.55), {shadows.glow.primary}, 0 4px 12px rgba(124, 91, 214, 0.2)',\n },\n conflict: {\n value: '{shadows.glow.error}, 0 2px 6px rgba(216, 82, 77, 0.3)',\n },\n },\n})\n","import { semanticColors } from './colors'\nimport { semanticShadows } from './shadows'\n\nexport const semanticTokens = {\n colors: semanticColors,\n shadows: semanticShadows,\n}\n","import { defineKeyframes } from '@chakra-ui/react'\n\nexport const keyframes = defineKeyframes({\n fadeIn: {\n from: { opacity: '0' },\n to: { opacity: '1' },\n },\n\n fadeOut: {\n from: { opacity: '1' },\n to: { opacity: '0' },\n },\n\n pulse: {\n '0%, 100%': {\n transform: 'scale(1)',\n opacity: '1',\n },\n '50%': {\n transform: 'scale(1.03)',\n opacity: '0.95',\n },\n },\n\n glow: {\n '0%, 100%': {\n boxShadow: '0 0 10px rgba(124, 91, 214, 0.4)',\n },\n '50%': {\n boxShadow: '0 0 20px rgba(124, 91, 214, 0.5), 0 0 40px rgba(124, 91, 214, 0.3)',\n },\n },\n\n glowHighlight: {\n '0%, 100%': {\n boxShadow: '0 0 10px rgba(216, 107, 154, 0.3)',\n },\n '50%': {\n boxShadow: '0 0 20px rgba(216, 107, 154, 0.4), 0 0 40px rgba(216, 107, 154, 0.2)',\n },\n },\n\n blink: {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.3' },\n },\n\n bounce: {\n '0%, 80%, 100%': {\n transform: 'scale(0)',\n opacity: '0.5',\n },\n '40%': {\n transform: 'scale(1)',\n opacity: '1',\n },\n },\n\n scaleIn: {\n from: {\n transform: 'scale(0.8)',\n opacity: '0',\n },\n to: {\n transform: 'scale(1)',\n opacity: '1',\n },\n },\n})\n","import { defineGlobalStyles } from '@chakra-ui/react'\n\nexport const globalCss = defineGlobalStyles({\n // Universal reset\n '*, *::before, *::after': {\n boxSizing: 'border-box',\n },\n\n // Body pseudo-elements for background effects\n 'body::before': {\n content: '\"\"',\n position: 'fixed',\n inset: 0,\n backgroundImage: `\n radial-gradient(circle at 20% 50%, rgba(124, 91, 214, 0.03) 0%, transparent 50%),\n radial-gradient(circle at 80% 80%, rgba(42, 185, 176, 0.02) 0%, transparent 50%)\n `,\n pointerEvents: 'none',\n zIndex: 0,\n },\n\n 'body::after': {\n content: '\"\"',\n position: 'fixed',\n inset: 0,\n backgroundImage: `url('data:image/svg+xml,%3Csvg viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cfilter id=\"noise\"%3E%3CfeTurbulence type=\"fractalNoise\" baseFrequency=\"0.9\" numOctaves=\"4\" stitchTiles=\"stitch\"/%3E%3C/filter%3E%3Crect width=\"100%25\" height=\"100%25\" filter=\"url(%23noise)\" opacity=\"0.03\"/%3E%3C/svg%3E')`,\n opacity: 0.03,\n pointerEvents: 'none',\n zIndex: 0,\n },\n\n // Custom scrollbar (webkit)\n '::-webkit-scrollbar': {\n width: '8px',\n height: '8px',\n },\n\n '::-webkit-scrollbar-track': {\n background: '{colors.surface.1}',\n },\n\n '::-webkit-scrollbar-thumb': {\n background: '{colors.utility.DEFAULT}',\n borderRadius: '{radii.sm}',\n },\n\n '::-webkit-scrollbar-thumb:hover': {\n background: '{colors.utility.hover}',\n },\n\n // Firefox scrollbar\n '*': {\n scrollbarWidth: 'thin',\n scrollbarColor: '{colors.utility.DEFAULT} {colors.surface.1}',\n },\n\n // Selection styling\n '::selection': {\n background: '{colors.primary.DEFAULT}',\n color: '{colors.text.primary}',\n },\n\n // Focus visible outline\n ':focus-visible': {\n outline: '2px solid {colors.primary.DEFAULT}',\n outlineOffset: '2px',\n },\n})\n","export const breakpoints = {\n mobile: '767px',\n tablet: '768px',\n desktop: '1024px',\n}\n","import { defineRecipe } from '@chakra-ui/react'\n\nexport const buttonRecipe = defineRecipe({\n className: 'button',\n base: {\n fontFamily: 'body',\n fontSize: 'base',\n px: 'lg',\n py: 'sm',\n borderWidth: 'base',\n borderStyle: 'solid',\n borderColor: 'border.strong',\n background: 'linear-gradient(145deg, var(--chakra-colors-surface-1), var(--chakra-colors-surface-0))',\n color: 'text.primary',\n cursor: 'pointer',\n pointerEvents: 'auto',\n userSelect: 'none',\n transition: 'all 200ms ease',\n textTransform: 'uppercase',\n letterSpacing: 'tight',\n fontWeight: 'medium',\n borderRadius: 'md',\n boxShadow: 'var(--chakra-shadows-sm), inset 0 1px 0 rgba(255, 255, 255, 0.05)',\n\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n\n _focusVisible: {\n outline: 'var(--chakra-border-widths-base) solid var(--chakra-colors-primary)',\n outlineOffset: 'var(--chakra-border-widths-base)',\n },\n },\n variants: {\n variant: {\n primary: {\n borderColor: 'primary',\n color: 'primary',\n\n _hover: {\n background: 'linear-gradient(145deg, var(--chakra-colors-primary-hover), var(--chakra-colors-primary))',\n color: 'surface.0',\n boxShadow: 'var(--chakra-shadows-md), var(--chakra-shadows-glow-primary-lg)',\n transform: 'translateY(-2px)',\n },\n\n _active: {\n transform: 'translateY(0)',\n boxShadow: 'var(--chakra-shadows-xs), var(--chakra-shadows-glow-primary)',\n },\n },\n secondary: {\n borderColor: 'utility',\n color: 'utility',\n\n _hover: {\n background: 'linear-gradient(145deg, var(--chakra-colors-utility), var(--chakra-colors-utility-hover))',\n color: 'surface.0',\n boxShadow: 'var(--chakra-shadows-md), var(--chakra-shadows-glow-utility-lg)',\n transform: 'translateY(-2px)',\n },\n\n _active: {\n transform: 'translateY(0)',\n boxShadow: 'var(--chakra-shadows-xs), var(--chakra-shadows-glow-utility)',\n },\n },\n danger: {\n borderColor: 'status.error',\n color: 'status.error',\n\n _hover: {\n background: 'linear-gradient(145deg, var(--chakra-colors-status-error), var(--chakra-colors-status-error))',\n color: 'surface.0',\n boxShadow: 'var(--chakra-shadows-md), var(--chakra-shadows-glow-error)',\n transform: 'translateY(-2px)',\n },\n\n _active: {\n transform: 'translateY(0)',\n boxShadow: 'var(--chakra-shadows-xs), var(--chakra-shadows-glow-error)',\n },\n },\n },\n },\n defaultVariants: {\n variant: 'primary',\n },\n})\n","import { defineRecipe } from '@chakra-ui/react'\n\nexport const cellRecipe = defineRecipe({\n className: 'ninefold-cell',\n base: {\n aspectRatio: '1',\n background: 'linear-gradient(145deg, {colors.surface.1}, {colors.surface.0})',\n borderWidth: 'thin',\n borderColor: 'border.subtle',\n borderStyle: 'solid',\n color: 'text.primary',\n fontFamily: 'body',\n fontSize: 'cell',\n cursor: 'pointer',\n transition: 'all var(--transition-fast) var(--ease-default)',\n p: 0,\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n boxShadow: '{shadows.inset.subtle}, 0 1px 2px rgba(0, 0, 0, 0.2)',\n _focusVisible: {\n outline: '{borderWidths.base} solid {colors.primary.DEFAULT}',\n outlineOffset: '-2px',\n zIndex: 'base',\n },\n },\n variants: {\n state: {\n normal: {\n _hover: {\n background: 'linear-gradient(145deg, {colors.surface.2}, {colors.surface.1})',\n borderColor: 'primary.hover',\n boxShadow:\n '{shadows.inset.subtle}, 0 2px 4px rgba(0, 0, 0, 0.3), {shadows.glow.primary}',\n transform: 'translateY(-1px)',\n },\n },\n given: {\n fontWeight: 'bold',\n background: 'linear-gradient(145deg, {colors.surface.2}, {colors.surface.1})',\n borderColor: 'border.strong',\n cursor: 'default',\n boxShadow: '{shadows.inset.subtle}, 0 2px 4px rgba(0, 0, 0, 0.3)',\n _hover: {\n background: 'linear-gradient(145deg, {colors.surface.2}, {colors.surface.1})',\n borderColor: 'border.strong',\n boxShadow: '{shadows.inset.subtle}, 0 2px 4px rgba(0, 0, 0, 0.3)',\n transform: 'none',\n },\n },\n selected: {\n background: 'linear-gradient(145deg, rgba(124, 91, 214, 0.2), rgba(124, 91, 214, 0.1))',\n borderColor: 'primary.DEFAULT',\n boxShadow: 'cell.selected',\n transform: 'translateY(-2px)',\n },\n conflict: {\n background: 'linear-gradient(145deg, rgba(216, 82, 77, 0.2), rgba(216, 82, 77, 0.1))',\n borderColor: 'status.error',\n color: 'status.error',\n boxShadow: 'cell.conflict',\n },\n selectedConflict: {\n background: 'linear-gradient(145deg, rgba(216, 82, 77, 0.2), rgba(216, 82, 77, 0.1))',\n borderColor: 'status.error',\n color: 'status.error',\n boxShadow: 'cell.conflict',\n transform: 'translateY(-2px)',\n },\n },\n },\n defaultVariants: {\n state: 'normal',\n },\n})\n","import { defineRecipe } from '@chakra-ui/react'\n\nexport const timerRecipe = defineRecipe({\n base: {\n display: 'flex',\n alignItems: 'center',\n gap: 'sm',\n fontFamily: 'body',\n fontSize: 'lg',\n color: 'primary',\n paddingY: 'sm',\n paddingX: 'md',\n borderWidth: 'base',\n borderStyle: 'solid',\n borderColor: 'border.strong',\n background: 'surface.1',\n justifyContent: 'center',\n },\n})\n","import { buttonRecipe } from './button'\nimport { cellRecipe } from './cell'\nimport { timerRecipe } from './timer'\n\nexport const recipes = {\n button: buttonRecipe,\n cell: cellRecipe,\n timer: timerRecipe,\n}\n","import { defineSlotRecipe } from '@chakra-ui/react'\n\nexport const modalSlotRecipe = defineSlotRecipe({\n className: 'modal',\n slots: ['backdrop', 'modal', 'header', 'title', 'content'],\n base: {\n backdrop: {\n position: 'fixed',\n inset: 0,\n background: '{colors.overlay.backdrop.heavy}',\n backdropFilter: 'blur(8px)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 'modal',\n padding: 'md',\n },\n modal: {\n background: 'linear-gradient(145deg, {colors.surface.2}, {colors.surface.1})',\n borderWidth: 'base',\n borderStyle: 'solid',\n borderColor: 'primary.DEFAULT',\n maxWidth: '500px',\n width: '100%',\n maxHeight: '90vh',\n overflowY: 'auto',\n boxShadow: '{shadows.xl}, {shadows.glow.primary-xl}, inset 0 1px 0 rgba(255, 255, 255, 0.1)',\n borderRadius: 'md',\n },\n header: {\n padding: 'lg',\n borderBottomWidth: 'thin',\n borderBottomStyle: 'solid',\n borderBottomColor: 'border.subtle',\n background: 'linear-gradient(180deg, {colors.overlay.light}, transparent)',\n },\n title: {\n margin: 0,\n fontFamily: 'display',\n fontSize: 'xl',\n color: 'text.primary',\n textTransform: 'uppercase',\n letterSpacing: 'tight',\n textShadow: '0 2px 4px rgba(0, 0, 0, 0.5)',\n },\n content: {\n padding: 'lg',\n },\n },\n})\n","import { defineSlotRecipe } from '@chakra-ui/react'\n\nexport const victoryScreenSlotRecipe = defineSlotRecipe({\n slots: ['overlay', 'content', 'title', 'stats', 'badge', 'actions'],\n base: {\n overlay: {\n position: 'fixed',\n inset: 0,\n background: 'overlay.backdrop.heavy',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 'overlay',\n padding: 'md',\n },\n content: {\n maxWidth: '400px',\n width: '100%',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: 'xl',\n padding: 'xl',\n borderWidth: 'thick',\n borderStyle: 'solid',\n borderColor: 'border.strong',\n background: 'surface.2',\n boxShadow: 'glow.primary-xl',\n },\n title: {\n fontFamily: 'display',\n fontSize: '3xl',\n color: 'text.primary',\n letterSpacing: 'wide',\n textShadow: 'glow.emphasis-lg',\n animation: 'pulse 2s ease-in-out infinite',\n },\n stats: {\n display: 'flex',\n flexDirection: 'column',\n gap: 'md',\n },\n badge: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 'sm',\n padding: 'md',\n borderWidth: 'base',\n borderStyle: 'solid',\n borderColor: 'emphasis',\n background: 'overlay.subtle',\n animation: 'glowHighlight 2s ease-in-out infinite',\n },\n actions: {\n display: 'flex',\n flexDirection: 'column',\n gap: 'md',\n },\n },\n})\n","import { modalSlotRecipe } from './modal'\nimport { victoryScreenSlotRecipe } from './victoryScreen'\n\nexport const slotRecipes = {\n modal: modalSlotRecipe,\n victoryScreen: victoryScreenSlotRecipe,\n}\n"],"mappings":"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","names":["defineTokens","defineTokens","defineTokens","defineTokens","defineTokens","defineSemanticTokens","defineRecipe","defineRecipe","defineSlotRecipe"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/tokens/colors.ts","../src/tokens/typography.ts","../src/tokens/spacing.ts","../src/tokens/borders.ts","../src/tokens/shadows.ts","../src/tokens/zIndex.ts","../src/semanticTokens/colors.ts","../src/semanticTokens/shadows.ts","../src/semanticTokens/index.ts","../src/keyframes/animations.ts","../src/globalStyles.ts","../src/cssVariables.ts","../src/breakpoints.ts","../src/recipes/button.ts","../src/recipes/cell.ts","../src/recipes/timer.ts","../src/recipes/loading.ts","../src/recipes/input.ts","../src/recipes/link.ts","../src/recipes/card.ts","../src/recipes/badge.ts","../src/recipes/index.ts","../src/slotRecipes/modal.ts","../src/slotRecipes/switch.ts","../src/slotRecipes/victoryScreen.ts","../src/slotRecipes/accordion.ts","../src/slotRecipes/radioGroup.ts","../src/slotRecipes/index.ts","../src/utils/contrast.ts"],"sourcesContent":["import { createSystem, defaultConfig } from '@chakra-ui/react'\nimport { colors } from './tokens/colors'\nimport {\n fonts,\n fontSizes,\n fontWeights,\n letterSpacings,\n} from './tokens/typography'\nimport { spacing } from './tokens/spacing'\nimport { borderWidths, radii } from './tokens/borders'\nimport { shadows } from './tokens/shadows'\nimport { zIndex } from './tokens/zIndex'\nimport { semanticTokens } from './semanticTokens'\nimport { keyframes } from './keyframes/animations'\nimport { globalCss } from './globalStyles'\nimport { breakpoints } from './breakpoints'\nimport { recipes } from './recipes'\nimport { slotRecipes } from './slotRecipes'\n\n// Export CSS variable utilities for non-Chakra code (WebGL, etc.)\nexport {\n allCssVariables,\n colorVariables,\n typographyVariables,\n spacingVariables,\n borderVariables,\n shadowVariables,\n zIndexVariables,\n timingVariables,\n breakpointVariables,\n getCssVariable,\n cssVar,\n generateCssVariablesString,\n} from './cssVariables'\nexport type { CssVariableName } from './cssVariables'\n\n// Export contrast utilities for accessibility verification\nexport {\n hexToRgb,\n relativeLuminance,\n contrastRatio,\n formatContrastRatio,\n getWcagLevel,\n getWcagDescription,\n meetsWcagAA,\n getContrastPairs,\n} from './utils/contrast'\nexport type { WcagLevel, ContrastPair } from './utils/contrast'\n\nexport const system = createSystem(defaultConfig, {\n theme: {\n tokens: {\n colors,\n fonts,\n fontSizes,\n fontWeights,\n letterSpacings,\n spacing,\n borderWidths,\n radii,\n shadows,\n zIndex,\n },\n semanticTokens,\n keyframes,\n breakpoints,\n recipes,\n slotRecipes,\n },\n globalCss,\n})\n","import { defineTokens } from '@chakra-ui/react'\n\n/**\n * Color tokens that reference CSS variables from cssVariables.ts\n * This ensures Chakra tokens stay in sync with CSS custom properties.\n */\nexport const colors = defineTokens.colors({\n // Surface Colors (deep purple monochrome)\n surface: {\n 0: { value: 'var(--color-surface-0)' }, // Base background - darkest\n 1: { value: 'var(--color-surface-1)' }, // Elevated surfaces\n 2: { value: 'var(--color-surface-2)' }, // Cards/panels\n 3: { value: 'var(--color-surface-3)' }, // Raised/hover states\n },\n\n // Text Colors (WCAG AA verified)\n text: {\n primary: { value: 'var(--color-text-primary)' }, // 16.49:1 contrast\n secondary: { value: 'var(--color-text-secondary)' }, // 12.29:1 contrast\n muted: { value: 'var(--color-text-muted)' }, // 8.72:1 contrast\n disabled: { value: 'var(--color-text-disabled)' }, // 6.32:1 contrast\n },\n\n // Primary (Purple - interactive)\n primary: {\n DEFAULT: { value: 'var(--color-interactive-primary)' },\n hover: { value: 'var(--color-interactive-primary-hover)' },\n },\n\n // Utility (Teal - complementary)\n utility: {\n DEFAULT: { value: 'var(--color-interactive-secondary)' },\n hover: { value: 'var(--color-interactive-secondary-hover)' },\n },\n\n // Emphasis (Rose - sparingly)\n emphasis: {\n DEFAULT: { value: 'var(--color-interactive-accent)' },\n },\n\n // Border Colors (neutral gray)\n border: {\n subtle: { value: 'var(--color-border-subtle)' },\n strong: { value: 'var(--color-border-strong)' },\n },\n\n // Status Colors\n status: {\n success: { value: 'var(--color-status-success)' },\n warning: { value: 'var(--color-status-warning)' },\n error: { value: 'var(--color-status-error)' },\n info: { value: 'var(--color-status-info)' },\n },\n\n // Overlays (purple-based transparency)\n overlay: {\n subtle: { value: 'var(--color-overlay-subtle)' }, // Hover tint\n light: { value: 'var(--color-overlay-light)' }, // Selected\n medium: { value: 'var(--color-overlay-medium)' }, // Active\n heavy: { value: 'var(--color-overlay-heavy)' }, // Emphasis\n error: { value: 'var(--color-overlay-error)' }, // Error tint\n backdrop: {\n light: { value: 'var(--color-overlay-backdrop-light)' },\n heavy: { value: 'var(--color-overlay-backdrop-heavy)' },\n },\n },\n})\n","import { defineTokens } from '@chakra-ui/react'\n\n/**\n * Typography tokens that reference CSS variables from cssVariables.ts\n */\nexport const fonts = defineTokens.fonts({\n display: { value: 'var(--font-display)' },\n heading: { value: 'var(--font-heading)' },\n body: { value: 'var(--font-body)' },\n})\n\nexport const fontSizes = defineTokens.fontSizes({\n xs: { value: 'var(--font-size-xs)' }, // 12px - helper text\n sm: { value: 'var(--font-size-sm)' }, // 14px - secondary labels\n base: { value: 'var(--font-size-base)' }, // 16px - body text\n md: { value: 'var(--font-size-md)' }, // 18px - emphasized body\n lg: { value: 'var(--font-size-lg)' }, // 20px - section headings\n xl: { value: 'var(--font-size-xl)' }, // 24px - modal titles\n '2xl': { value: 'var(--font-size-2xl)' }, // 32px - page titles\n '3xl': { value: 'var(--font-size-3xl)' }, // 48px - hero text\n '4xl': { value: 'var(--font-size-4xl)' }, // 64px - display text\n\n // Responsive sizes\n cell: { value: 'var(--font-size-cell)' },\n hero: { value: 'var(--font-size-hero)' },\n subtitle: { value: 'var(--font-size-subtitle)' },\n})\n\nexport const fontWeights = defineTokens.fontWeights({\n normal: { value: 'var(--font-weight-normal)' },\n medium: { value: 'var(--font-weight-medium)' },\n bold: { value: 'var(--font-weight-bold)' },\n})\n\nexport const letterSpacings = defineTokens.letterSpacings({\n tight: { value: 'var(--letter-spacing-tight)' },\n normal: { value: 'var(--letter-spacing-normal)' },\n wide: { value: 'var(--letter-spacing-wide)' },\n})\n","import { defineTokens } from '@chakra-ui/react'\n\n/**\n * Spacing tokens that reference CSS variables from cssVariables.ts\n */\nexport const spacing = defineTokens.spacing({\n '2xs': { value: 'var(--spacing-2xs)' }, // 2px - micro gaps\n xs: { value: 'var(--spacing-xs)' }, // 4px\n sm: { value: 'var(--spacing-sm)' }, // 8px\n md: { value: 'var(--spacing-md)' }, // 16px\n lg: { value: 'var(--spacing-lg)' }, // 24px\n xl: { value: 'var(--spacing-xl)' }, // 32px\n '2xl': { value: 'var(--spacing-2xl)' }, // 48px\n})\n","import { defineTokens } from '@chakra-ui/react'\n\n/**\n * Border tokens that reference CSS variables from cssVariables.ts\n */\nexport const borderWidths = defineTokens.borderWidths({\n thin: { value: 'var(--border-width-thin)' },\n base: { value: 'var(--border-width-base)' },\n thick: { value: 'var(--border-width-thick)' },\n})\n\nexport const radii = defineTokens.radii({\n sm: { value: 'var(--radius-sm)' },\n md: { value: 'var(--radius-md)' },\n lg: { value: 'var(--radius-lg)' },\n})\n","import { defineTokens } from '@chakra-ui/react'\n\n/**\n * Shadow tokens that reference CSS variables from cssVariables.ts\n */\nexport const shadows = defineTokens.shadows({\n // Depth shadows (layered)\n xs: { value: 'var(--shadow-xs)' },\n sm: { value: 'var(--shadow-sm)' },\n md: { value: 'var(--shadow-md)' },\n lg: { value: 'var(--shadow-lg)' },\n xl: { value: 'var(--shadow-xl)' },\n\n // Glow shadows (primary - purple)\n glow: {\n primary: { value: 'var(--shadow-glow-primary)' },\n 'primary-lg': { value: 'var(--shadow-glow-primary-lg)' },\n 'primary-xl': { value: 'var(--shadow-glow-primary-xl)' },\n\n // Secondary (teal)\n secondary: { value: 'var(--shadow-glow-secondary)' },\n 'secondary-lg': { value: 'var(--shadow-glow-secondary-lg)' },\n\n // Accent (rose)\n accent: { value: 'var(--shadow-glow-accent)' },\n 'accent-lg': { value: 'var(--shadow-glow-accent-lg)' },\n\n // Legacy aliases for backward compatibility\n utility: { value: 'var(--shadow-glow-secondary)' },\n 'utility-lg': { value: 'var(--shadow-glow-secondary-lg)' },\n emphasis: { value: 'var(--shadow-glow-accent)' },\n 'emphasis-lg': { value: 'var(--shadow-glow-accent-lg)' },\n\n // Error (red)\n error: { value: 'var(--shadow-glow-error)' },\n },\n\n // Inset shadows\n inset: {\n primary: { value: 'var(--shadow-inset-primary)' },\n subtle: { value: 'var(--shadow-inset-subtle)' },\n deep: { value: 'var(--shadow-inset-deep)' },\n },\n})\n","import { defineTokens } from '@chakra-ui/react'\n\n/**\n * Z-index tokens that reference CSS variables from cssVariables.ts\n */\nexport const zIndex = defineTokens.zIndex({\n base: { value: 'var(--z-index-base)' },\n dropdown: { value: 'var(--z-index-dropdown)' },\n overlay: { value: 'var(--z-index-overlay)' },\n modal: { value: 'var(--z-index-modal)' },\n toast: { value: 'var(--z-index-toast)' },\n fullscreen: { value: 'var(--z-index-fullscreen)' },\n})\n","import { defineSemanticTokens } from '@chakra-ui/react'\n\nexport const semanticColors = defineSemanticTokens.colors({\n // Background mappings\n bg: {\n base: { value: '{colors.surface.0}' },\n elevated: { value: '{colors.surface.1}' },\n card: { value: '{colors.surface.2}' },\n raised: { value: '{colors.surface.3}' },\n },\n\n // Interactive states\n interactive: {\n base: { value: '{colors.primary.DEFAULT}' },\n hover: { value: '{colors.primary.hover}' },\n },\n\n // Border (for buttons, inputs, cards)\n border: {\n subtle: { value: '{colors.border.subtle}' },\n strong: { value: '{colors.border.strong}' },\n },\n})\n","import { defineSemanticTokens } from '@chakra-ui/react'\n\nexport const semanticShadows = defineSemanticTokens.shadows({\n // Button shadows\n button: {\n base: { value: '{shadows.sm}, {shadows.inset.subtle}' },\n hover: { value: '{shadows.md}, {shadows.glow.primary-lg}' },\n },\n\n // Cell shadows (most complex - 4-layer stack for selected state)\n cell: {\n selected: {\n value:\n '{shadows.inset.primary}, 0 0 0 {borderWidths.base} rgba(124, 91, 214, 0.55), {shadows.glow.primary}, 0 4px 12px rgba(124, 91, 214, 0.2)',\n },\n conflict: {\n value: '{shadows.glow.error}, 0 2px 6px rgba(216, 82, 77, 0.3)',\n },\n },\n})\n","import { semanticColors } from './colors'\nimport { semanticShadows } from './shadows'\n\nexport const semanticTokens = {\n colors: semanticColors,\n shadows: semanticShadows,\n}\n","import { defineKeyframes } from '@chakra-ui/react'\n\n/**\n * Animation keyframes using CSS variables for theming.\n * CSS variable references (e.g., var(--shadow-glow-primary)) ensure\n * animations stay in sync with the design system.\n */\nexport const keyframes = defineKeyframes({\n fadeIn: {\n from: { opacity: '0' },\n to: { opacity: '1' },\n },\n\n fadeOut: {\n from: { opacity: '1' },\n to: { opacity: '0' },\n },\n\n pulse: {\n '0%, 100%': {\n transform: 'scale(1)',\n opacity: '1',\n },\n '50%': {\n transform: 'scale(1.03)',\n opacity: '0.95',\n },\n },\n\n glow: {\n '0%, 100%': {\n boxShadow: 'var(--shadow-glow-primary)',\n },\n '50%': {\n boxShadow: 'var(--shadow-glow-primary-lg)',\n },\n },\n\n glowSecondary: {\n '0%, 100%': {\n boxShadow: 'var(--shadow-glow-secondary)',\n },\n '50%': {\n boxShadow: 'var(--shadow-glow-secondary-lg)',\n },\n },\n\n glowAccent: {\n '0%, 100%': {\n boxShadow: 'var(--shadow-glow-accent)',\n },\n '50%': {\n boxShadow: 'var(--shadow-glow-accent-lg)',\n },\n },\n\n // Legacy alias for backward compatibility\n glowHighlight: {\n '0%, 100%': {\n boxShadow: 'var(--shadow-glow-accent)',\n },\n '50%': {\n boxShadow: 'var(--shadow-glow-accent-lg)',\n },\n },\n\n blink: {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.3' },\n },\n\n bounce: {\n '0%, 80%, 100%': {\n transform: 'scale(0)',\n opacity: '0.5',\n },\n '40%': {\n transform: 'scale(1)',\n opacity: '1',\n },\n },\n\n scaleIn: {\n from: {\n transform: 'scale(0.8)',\n opacity: '0',\n },\n to: {\n transform: 'scale(1)',\n opacity: '1',\n },\n },\n\n scaleOut: {\n from: {\n transform: 'scale(1)',\n opacity: '1',\n },\n to: {\n transform: 'scale(0.8)',\n opacity: '0',\n },\n },\n\n slideInUp: {\n from: {\n transform: 'translateY(10px)',\n opacity: '0',\n },\n to: {\n transform: 'translateY(0)',\n opacity: '1',\n },\n },\n\n slideInDown: {\n from: {\n transform: 'translateY(-10px)',\n opacity: '0',\n },\n to: {\n transform: 'translateY(0)',\n opacity: '1',\n },\n },\n\n spin: {\n from: {\n transform: 'rotate(0deg)',\n },\n to: {\n transform: 'rotate(360deg)',\n },\n },\n})\n","import { defineGlobalStyles } from '@chakra-ui/react'\nimport { allCssVariables } from './cssVariables'\n\n/**\n * Global CSS styles including:\n * - CSS variable injection into :root\n * - Background effects (gradients, noise texture)\n * - Scrollbar styling\n * - Selection styling\n * - Focus visible states\n */\nexport const globalCss = defineGlobalStyles({\n // Inject CSS variables into :root\n ':root': allCssVariables,\n\n // Universal reset\n '*, *::before, *::after': {\n boxSizing: 'border-box',\n },\n\n // Body base styles\n body: {\n backgroundColor: 'var(--color-surface-0)',\n color: 'var(--color-text-primary)',\n fontFamily: 'var(--font-body)',\n fontSize: 'var(--font-size-base)',\n lineHeight: '1.5',\n },\n\n // Body pseudo-elements for background effects\n 'body::before': {\n content: '\"\"',\n position: 'fixed',\n inset: 0,\n backgroundImage: `\n radial-gradient(circle at 20% 50%, rgba(124, 91, 214, 0.03) 0%, transparent 50%),\n radial-gradient(circle at 80% 80%, rgba(42, 185, 176, 0.02) 0%, transparent 50%)\n `,\n pointerEvents: 'none',\n zIndex: 0,\n },\n\n 'body::after': {\n content: '\"\"',\n position: 'fixed',\n inset: 0,\n backgroundImage: `url('data:image/svg+xml,%3Csvg viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cfilter id=\"noise\"%3E%3CfeTurbulence type=\"fractalNoise\" baseFrequency=\"0.9\" numOctaves=\"4\" stitchTiles=\"stitch\"/%3E%3C/filter%3E%3Crect width=\"100%25\" height=\"100%25\" filter=\"url(%23noise)\" opacity=\"0.03\"/%3E%3C/svg%3E')`,\n opacity: 0.03,\n pointerEvents: 'none',\n zIndex: 0,\n },\n\n // Custom scrollbar (webkit)\n '::-webkit-scrollbar': {\n width: '8px',\n height: '8px',\n },\n\n '::-webkit-scrollbar-track': {\n background: 'var(--color-surface-1)',\n },\n\n '::-webkit-scrollbar-thumb': {\n background: 'var(--color-interactive-secondary)',\n borderRadius: 'var(--radius-sm)',\n },\n\n '::-webkit-scrollbar-thumb:hover': {\n background: 'var(--color-interactive-secondary-hover)',\n },\n\n // Firefox scrollbar\n '*': {\n scrollbarWidth: 'thin',\n scrollbarColor: 'var(--color-interactive-secondary) var(--color-surface-1)',\n },\n\n // Selection styling\n '::selection': {\n background: 'var(--color-interactive-primary)',\n color: 'var(--color-text-primary)',\n },\n\n // Focus visible outline\n ':focus-visible': {\n outline: '2px solid var(--color-interactive-primary)',\n outlineOffset: '2px',\n },\n})\n","/**\n * CSS Variables - Single Source of Truth\n *\n * This file defines all design tokens as CSS custom properties.\n * Chakra tokens reference these variables, ensuring consistency\n * between Chakra components and non-Chakra code (WebGL, etc.)\n *\n * Token naming: --{category}-{semantic}-{variant}\n * Examples: --color-surface-0, --color-text-primary, --shadow-glow-primary\n */\n\n// ============================================================================\n// COLOR TOKENS\n// ============================================================================\n\nexport const colorVariables = {\n // Surface Colors (deep purple monochrome)\n '--color-surface-0': '#1B0F26', // Base background - darkest\n '--color-surface-1': '#24122F', // Elevated surfaces\n '--color-surface-2': '#2B173A', // Cards/panels\n '--color-surface-3': '#342046', // Raised/hover states\n\n // Text Colors (WCAG AA verified against surface-0)\n '--color-text-primary': '#F5F1FA', // 16.49:1 contrast\n '--color-text-secondary': '#D8D0E3', // 12.29:1 contrast\n '--color-text-muted': '#B9AEC9', // 8.72:1 contrast\n '--color-text-disabled': '#9E92B4', // 6.32:1 contrast\n\n // Interactive - Primary (Purple)\n '--color-interactive-primary': '#7C5BD6',\n '--color-interactive-primary-hover': '#6F4FCB',\n\n // Interactive - Secondary (Teal)\n '--color-interactive-secondary': '#2AB9B0',\n '--color-interactive-secondary-hover': '#52D6CC',\n\n // Interactive - Accent (Rose)\n '--color-interactive-accent': '#D86B9A',\n\n // Border Colors\n '--color-border-subtle': '#3A3341',\n '--color-border-strong': '#4A4354',\n\n // Status Colors\n '--color-status-success': '#2AB9B0', // Teal\n '--color-status-warning': '#D9A24F', // Amber\n '--color-status-error': '#D8524D', // Red\n '--color-status-info': '#7C5BD6', // Purple\n\n // Overlay Colors (purple-based transparency)\n '--color-overlay-subtle': 'rgba(124, 91, 214, 0.05)', // Hover tint\n '--color-overlay-light': 'rgba(124, 91, 214, 0.1)', // Selected\n '--color-overlay-medium': 'rgba(124, 91, 214, 0.15)', // Active\n '--color-overlay-heavy': 'rgba(124, 91, 214, 0.25)', // Emphasis\n '--color-overlay-error': 'rgba(216, 82, 77, 0.12)', // Error tint\n '--color-overlay-backdrop-light': 'rgba(27, 15, 38, 0.8)',\n '--color-overlay-backdrop-heavy': 'rgba(27, 15, 38, 0.95)',\n} as const\n\n// ============================================================================\n// TYPOGRAPHY TOKENS\n// ============================================================================\n\nexport const typographyVariables = {\n // Font Families\n '--font-display': \"'Courier New', 'Courier', monospace\",\n '--font-heading': \"'Courier New', 'Courier', monospace\",\n '--font-body': \"'Courier New', 'Courier', monospace\",\n\n // Font Sizes (static scale)\n '--font-size-xs': '0.75rem', // 12px\n '--font-size-sm': '0.875rem', // 14px\n '--font-size-base': '1rem', // 16px\n '--font-size-md': '1.125rem', // 18px\n '--font-size-lg': '1.25rem', // 20px\n '--font-size-xl': '1.5rem', // 24px\n '--font-size-2xl': '2rem', // 32px\n '--font-size-3xl': '3rem', // 48px\n '--font-size-4xl': '4rem', // 64px\n\n // Font Sizes (responsive)\n '--font-size-cell': 'clamp(1rem, 3vw, 1.5rem)',\n '--font-size-hero': 'clamp(2.5rem, 8vw, 4rem)',\n '--font-size-subtitle': 'clamp(1rem, 3vw, 1.25rem)',\n\n // Font Weights\n '--font-weight-normal': '400',\n '--font-weight-medium': '600',\n '--font-weight-bold': '700',\n\n // Letter Spacing\n '--letter-spacing-tight': '0.05em',\n '--letter-spacing-normal': '0.1em',\n '--letter-spacing-wide': '0.2em',\n} as const\n\n// ============================================================================\n// SPACING TOKENS\n// ============================================================================\n\nexport const spacingVariables = {\n '--spacing-2xs': '0.125rem', // 2px\n '--spacing-xs': '0.25rem', // 4px\n '--spacing-sm': '0.5rem', // 8px\n '--spacing-md': '1rem', // 16px\n '--spacing-lg': '1.5rem', // 24px\n '--spacing-xl': '2rem', // 32px\n '--spacing-2xl': '3rem', // 48px\n} as const\n\n// ============================================================================\n// BORDER TOKENS\n// ============================================================================\n\nexport const borderVariables = {\n // Border Widths\n '--border-width-thin': '1px',\n '--border-width-base': '2px',\n '--border-width-thick': '3px',\n\n // Border Radii\n '--radius-sm': '2px',\n '--radius-md': '4px',\n '--radius-lg': '6px',\n} as const\n\n// ============================================================================\n// SHADOW TOKENS\n// ============================================================================\n\nexport const shadowVariables = {\n // Depth shadows (layered)\n '--shadow-xs': '0 1px 2px rgba(0, 0, 0, 0.4)',\n '--shadow-sm': '0 2px 8px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.3)',\n '--shadow-md': '0 4px 16px rgba(0, 0, 0, 0.6), 0 2px 6px rgba(0, 0, 0, 0.4)',\n '--shadow-lg': '0 8px 24px rgba(0, 0, 0, 0.7), 0 4px 12px rgba(0, 0, 0, 0.5)',\n '--shadow-xl':\n '0 16px 48px rgba(0, 0, 0, 0.8), 0 8px 24px rgba(0, 0, 0, 0.6)',\n\n // Glow shadows - Primary (Purple)\n '--shadow-glow-primary': '0 0 10px rgba(124, 91, 214, 0.4)',\n '--shadow-glow-primary-lg':\n '0 0 20px rgba(124, 91, 214, 0.5), 0 0 40px rgba(124, 91, 214, 0.3)',\n '--shadow-glow-primary-xl':\n '0 0 30px rgba(124, 91, 214, 0.6), 0 0 60px rgba(124, 91, 214, 0.4)',\n\n // Glow shadows - Secondary (Teal)\n '--shadow-glow-secondary': '0 0 10px rgba(42, 185, 176, 0.3)',\n '--shadow-glow-secondary-lg':\n '0 0 20px rgba(42, 185, 176, 0.4), 0 0 40px rgba(42, 185, 176, 0.2)',\n\n // Glow shadows - Accent (Rose)\n '--shadow-glow-accent': '0 0 10px rgba(216, 107, 154, 0.3)',\n '--shadow-glow-accent-lg':\n '0 0 20px rgba(216, 107, 154, 0.4), 0 0 40px rgba(216, 107, 154, 0.2)',\n\n // Glow shadows - Error\n '--shadow-glow-error': '0 0 10px rgba(216, 82, 77, 0.4)',\n\n // Inset shadows\n '--shadow-inset-primary': 'inset 0 0 10px rgba(124, 91, 214, 0.3)',\n '--shadow-inset-subtle': 'inset 0 1px 3px rgba(0, 0, 0, 0.3)',\n '--shadow-inset-deep': 'inset 0 2px 8px rgba(0, 0, 0, 0.5)',\n} as const\n\n// ============================================================================\n// Z-INDEX TOKENS\n// ============================================================================\n\nexport const zIndexVariables = {\n '--z-index-base': '1',\n '--z-index-dropdown': '100',\n '--z-index-overlay': '500',\n '--z-index-modal': '1000',\n '--z-index-toast': '1500',\n '--z-index-fullscreen': '2000',\n} as const\n\n// ============================================================================\n// TIMING TOKENS\n// ============================================================================\n\nexport const timingVariables = {\n // Durations\n '--timing-fast': '150ms',\n '--timing-base': '200ms',\n '--timing-slow': '300ms',\n\n // Easing functions\n '--easing-default': 'ease',\n '--easing-out': 'ease-out',\n '--easing-in-out': 'ease-in-out',\n} as const\n\n// ============================================================================\n// BREAKPOINT TOKENS (for JS reference)\n// ============================================================================\n\nexport const breakpointVariables = {\n '--breakpoint-mobile': '767px',\n '--breakpoint-tablet': '768px',\n '--breakpoint-desktop': '1024px',\n} as const\n\n// ============================================================================\n// BACKWARD COMPATIBILITY ALIASES\n// ============================================================================\n\n/**\n * Aliases for legacy CSS variable names used in ninefold/wordtrace.\n * These ensure existing code continues to work during migration.\n */\nexport const legacyAliases = {\n // Color aliases\n '--color-primary': 'var(--color-interactive-primary)',\n '--color-primary-hover': 'var(--color-interactive-primary-hover)',\n '--color-utility': 'var(--color-interactive-secondary)',\n '--color-utility-hover': 'var(--color-interactive-secondary-hover)',\n '--color-emphasis': 'var(--color-interactive-accent)',\n '--color-success': 'var(--color-status-success)',\n '--color-warning': 'var(--color-status-warning)',\n '--color-error': 'var(--color-status-error)',\n\n // Shadow glow aliases\n '--shadow-glow-utility': 'var(--shadow-glow-secondary)',\n '--shadow-glow-utility-lg': 'var(--shadow-glow-secondary-lg)',\n '--shadow-glow-emphasis': 'var(--shadow-glow-accent)',\n '--shadow-glow-emphasis-lg': 'var(--shadow-glow-accent-lg)',\n\n // Border radius aliases\n '--border-radius-sm': 'var(--radius-sm)',\n '--border-radius-md': 'var(--radius-md)',\n '--border-radius-lg': 'var(--radius-lg)',\n\n // Timing aliases\n '--transition-fast': 'var(--timing-fast)',\n '--transition-base': 'var(--timing-base)',\n '--transition-slow': 'var(--timing-slow)',\n '--ease-default': 'var(--easing-default)',\n '--ease-out': 'var(--easing-out)',\n} as const\n\n// ============================================================================\n// ALL VARIABLES COMBINED\n// ============================================================================\n\nexport const allCssVariables = {\n ...colorVariables,\n ...typographyVariables,\n ...spacingVariables,\n ...borderVariables,\n ...shadowVariables,\n ...zIndexVariables,\n ...timingVariables,\n ...breakpointVariables,\n ...legacyAliases,\n} as const\n\n// Type for CSS variable names\nexport type CssVariableName = keyof typeof allCssVariables\n\n// Helper to get CSS variable value\nexport function getCssVariable(name: CssVariableName): string {\n return allCssVariables[name]\n}\n\n// Helper to create var() reference\nexport function cssVar(name: CssVariableName): string {\n return `var(${name})`\n}\n\n// CSS string for :root injection (used in globalStyles)\nexport function generateCssVariablesString(): string {\n return Object.entries(allCssVariables)\n .map(([key, value]) => `${key}: ${value};`)\n .join('\\n ')\n}\n","export const breakpoints = {\n mobile: '767px',\n tablet: '768px',\n desktop: '1024px',\n}\n","import { defineRecipe } from '@chakra-ui/react'\n\nexport const buttonRecipe = defineRecipe({\n className: 'button',\n base: {\n fontFamily: 'body',\n fontSize: 'base',\n px: 'lg',\n py: 'sm',\n borderWidth: 'base',\n borderStyle: 'solid',\n borderColor: 'border.strong',\n background: 'linear-gradient(145deg, var(--chakra-colors-surface-1), var(--chakra-colors-surface-0))',\n color: 'text.primary',\n cursor: 'pointer',\n pointerEvents: 'auto',\n userSelect: 'none',\n transition: 'all 200ms ease',\n textTransform: 'uppercase',\n letterSpacing: 'tight',\n fontWeight: 'medium',\n borderRadius: 'md',\n boxShadow: 'var(--chakra-shadows-sm), inset 0 1px 0 rgba(255, 255, 255, 0.05)',\n\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n\n _focusVisible: {\n outline: 'var(--chakra-border-widths-base) solid var(--chakra-colors-primary)',\n outlineOffset: 'var(--chakra-border-widths-base)',\n },\n },\n variants: {\n variant: {\n primary: {\n borderColor: 'primary',\n color: 'primary',\n\n _hover: {\n background: 'linear-gradient(145deg, var(--chakra-colors-primary-hover), var(--chakra-colors-primary))',\n color: 'surface.0',\n boxShadow: 'var(--chakra-shadows-md), var(--chakra-shadows-glow-primary-lg)',\n transform: 'translateY(-2px)',\n },\n\n _active: {\n transform: 'translateY(0)',\n boxShadow: 'var(--chakra-shadows-xs), var(--chakra-shadows-glow-primary)',\n },\n },\n secondary: {\n borderColor: 'utility',\n color: 'utility',\n\n _hover: {\n background: 'linear-gradient(145deg, var(--chakra-colors-utility), var(--chakra-colors-utility-hover))',\n color: 'surface.0',\n boxShadow: 'var(--chakra-shadows-md), var(--chakra-shadows-glow-utility-lg)',\n transform: 'translateY(-2px)',\n },\n\n _active: {\n transform: 'translateY(0)',\n boxShadow: 'var(--chakra-shadows-xs), var(--chakra-shadows-glow-utility)',\n },\n },\n danger: {\n borderColor: 'status.error',\n color: 'status.error',\n\n _hover: {\n background: 'linear-gradient(145deg, var(--chakra-colors-status-error), var(--chakra-colors-status-error))',\n color: 'surface.0',\n boxShadow: 'var(--chakra-shadows-md), var(--chakra-shadows-glow-error)',\n transform: 'translateY(-2px)',\n },\n\n _active: {\n transform: 'translateY(0)',\n boxShadow: 'var(--chakra-shadows-xs), var(--chakra-shadows-glow-error)',\n },\n },\n },\n },\n defaultVariants: {\n variant: 'primary',\n },\n})\n","import { defineRecipe } from '@chakra-ui/react'\n\nexport const cellRecipe = defineRecipe({\n className: 'ninefold-cell',\n base: {\n aspectRatio: '1',\n background: 'linear-gradient(145deg, {colors.surface.1}, {colors.surface.0})',\n borderWidth: 'thin',\n borderColor: 'border.subtle',\n borderStyle: 'solid',\n color: 'text.primary',\n fontFamily: 'body',\n fontSize: 'cell',\n cursor: 'pointer',\n transition: 'all var(--transition-fast) var(--ease-default)',\n p: 0,\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n boxShadow: '{shadows.inset.subtle}, 0 1px 2px rgba(0, 0, 0, 0.2)',\n _focusVisible: {\n outline: '{borderWidths.base} solid {colors.primary.DEFAULT}',\n outlineOffset: '-2px',\n zIndex: 'base',\n },\n },\n variants: {\n state: {\n normal: {\n _hover: {\n background: 'linear-gradient(145deg, {colors.surface.2}, {colors.surface.1})',\n borderColor: 'primary.hover',\n boxShadow:\n '{shadows.inset.subtle}, 0 2px 4px rgba(0, 0, 0, 0.3), {shadows.glow.primary}',\n transform: 'translateY(-1px)',\n },\n },\n given: {\n fontWeight: 'bold',\n background: 'linear-gradient(145deg, {colors.surface.2}, {colors.surface.1})',\n borderColor: 'border.strong',\n cursor: 'default',\n boxShadow: '{shadows.inset.subtle}, 0 2px 4px rgba(0, 0, 0, 0.3)',\n _hover: {\n background: 'linear-gradient(145deg, {colors.surface.2}, {colors.surface.1})',\n borderColor: 'border.strong',\n boxShadow: '{shadows.inset.subtle}, 0 2px 4px rgba(0, 0, 0, 0.3)',\n transform: 'none',\n },\n },\n selected: {\n background: 'linear-gradient(145deg, rgba(124, 91, 214, 0.2), rgba(124, 91, 214, 0.1))',\n borderColor: 'primary.DEFAULT',\n boxShadow: 'cell.selected',\n transform: 'translateY(-2px)',\n },\n conflict: {\n background: 'linear-gradient(145deg, rgba(216, 82, 77, 0.2), rgba(216, 82, 77, 0.1))',\n borderColor: 'status.error',\n color: 'status.error',\n boxShadow: 'cell.conflict',\n },\n selectedConflict: {\n background: 'linear-gradient(145deg, rgba(216, 82, 77, 0.2), rgba(216, 82, 77, 0.1))',\n borderColor: 'status.error',\n color: 'status.error',\n boxShadow: 'cell.conflict',\n transform: 'translateY(-2px)',\n },\n },\n },\n defaultVariants: {\n state: 'normal',\n },\n})\n","import { defineRecipe } from '@chakra-ui/react'\n\nexport const timerRecipe = defineRecipe({\n base: {\n display: 'flex',\n alignItems: 'center',\n gap: 'sm',\n fontFamily: 'body',\n fontSize: 'lg',\n color: 'primary',\n paddingY: 'sm',\n paddingX: 'md',\n borderWidth: 'base',\n borderStyle: 'solid',\n borderColor: 'border.strong',\n background: 'surface.1',\n borderRadius: 'md',\n boxShadow: 'var(--chakra-shadows-sm), inset 0 1px 0 rgba(255, 255, 255, 0.05)',\n justifyContent: 'center',\n },\n})\n","import { defineRecipe } from '@chakra-ui/react'\n\n/**\n * Loading dots recipe\n * Animated bouncing dots for loading states\n */\nexport const loadingRecipe = defineRecipe({\n className: 'loading',\n base: {\n display: 'inline-block',\n width: '12px',\n height: '12px',\n backgroundColor: 'primary.DEFAULT',\n borderRadius: '50%',\n animation: 'bounce 1.4s infinite ease-in-out both',\n },\n variants: {\n size: {\n sm: {\n width: '8px',\n height: '8px',\n },\n md: {\n width: '12px',\n height: '12px',\n },\n lg: {\n width: '16px',\n height: '16px',\n },\n },\n color: {\n primary: {\n backgroundColor: 'primary.DEFAULT',\n },\n secondary: {\n backgroundColor: 'utility.DEFAULT',\n },\n accent: {\n backgroundColor: 'emphasis.DEFAULT',\n },\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'primary',\n },\n})\n","import { defineRecipe } from '@chakra-ui/react'\n\n/**\n * Input recipe for text inputs and textareas\n */\nexport const inputRecipe = defineRecipe({\n className: 'input',\n base: {\n fontFamily: 'body',\n fontSize: 'base',\n color: 'text.primary',\n backgroundColor: 'surface.0',\n borderWidth: 'thin',\n borderStyle: 'solid',\n borderColor: 'border.subtle',\n borderRadius: 'md',\n padding: 'sm',\n width: '100%',\n transition: 'all var(--timing-base) var(--easing-default)',\n\n _placeholder: {\n color: 'text.muted',\n },\n\n _hover: {\n borderColor: 'border.strong',\n },\n\n _focus: {\n borderColor: 'primary.DEFAULT',\n boxShadow: 'var(--shadow-glow-primary)',\n outline: 'none',\n },\n\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n backgroundColor: 'surface.1',\n },\n\n _invalid: {\n borderColor: 'status.error',\n boxShadow: 'var(--shadow-glow-error)',\n },\n },\n variants: {\n size: {\n sm: {\n fontSize: 'sm',\n padding: 'xs',\n borderRadius: 'sm',\n },\n md: {\n fontSize: 'base',\n padding: 'sm',\n borderRadius: 'md',\n },\n lg: {\n fontSize: 'md',\n padding: 'md',\n borderRadius: 'md',\n },\n },\n variant: {\n outline: {\n backgroundColor: 'transparent',\n borderColor: 'border.subtle',\n },\n filled: {\n backgroundColor: 'surface.1',\n borderColor: 'transparent',\n _hover: {\n backgroundColor: 'surface.2',\n },\n _focus: {\n backgroundColor: 'surface.0',\n borderColor: 'primary.DEFAULT',\n },\n },\n },\n },\n defaultVariants: {\n size: 'md',\n variant: 'outline',\n },\n})\n","import { defineRecipe } from '@chakra-ui/react'\n\n/**\n * Link recipe for text links\n */\nexport const linkRecipe = defineRecipe({\n className: 'link',\n base: {\n color: 'primary.DEFAULT',\n textDecoration: 'none',\n cursor: 'pointer',\n transition: 'all var(--timing-fast) var(--easing-default)',\n\n _hover: {\n color: 'primary.hover',\n textDecoration: 'underline',\n },\n\n _active: {\n color: 'primary.hover',\n },\n\n _focusVisible: {\n outline: '2px solid var(--color-interactive-primary)',\n outlineOffset: '2px',\n borderRadius: 'sm',\n },\n },\n variants: {\n variant: {\n primary: {\n color: 'primary.DEFAULT',\n _hover: {\n color: 'primary.hover',\n },\n },\n secondary: {\n color: 'utility.DEFAULT',\n _hover: {\n color: 'utility.hover',\n },\n },\n muted: {\n color: 'text.muted',\n _hover: {\n color: 'text.primary',\n },\n },\n },\n underline: {\n always: {\n textDecoration: 'underline',\n },\n hover: {\n textDecoration: 'none',\n _hover: {\n textDecoration: 'underline',\n },\n },\n none: {\n textDecoration: 'none',\n _hover: {\n textDecoration: 'none',\n },\n },\n },\n },\n defaultVariants: {\n variant: 'primary',\n underline: 'hover',\n },\n})\n","import { defineRecipe } from '@chakra-ui/react'\n\n/**\n * Card recipe for container panels\n */\nexport const cardRecipe = defineRecipe({\n className: 'card',\n base: {\n background: 'linear-gradient(145deg, var(--color-surface-2), var(--color-surface-1))',\n borderWidth: 'thin',\n borderStyle: 'solid',\n borderColor: 'border.subtle',\n borderRadius: 'md',\n padding: 'lg',\n boxShadow: 'var(--shadow-sm)',\n },\n variants: {\n variant: {\n subtle: {\n background: 'surface.1',\n borderColor: 'border.subtle',\n boxShadow: 'none',\n },\n elevated: {\n background: 'linear-gradient(145deg, var(--color-surface-2), var(--color-surface-1))',\n borderColor: 'border.strong',\n boxShadow: 'var(--shadow-md)',\n },\n outline: {\n background: 'transparent',\n borderColor: 'border.strong',\n boxShadow: 'none',\n },\n glow: {\n background: 'linear-gradient(145deg, var(--color-surface-2), var(--color-surface-1))',\n borderColor: 'primary.DEFAULT',\n boxShadow: 'var(--shadow-md), var(--shadow-glow-primary)',\n },\n },\n size: {\n sm: {\n padding: 'sm',\n borderRadius: 'sm',\n },\n md: {\n padding: 'md',\n borderRadius: 'md',\n },\n lg: {\n padding: 'lg',\n borderRadius: 'lg',\n },\n },\n },\n defaultVariants: {\n variant: 'elevated',\n size: 'md',\n },\n})\n","import { defineRecipe } from '@chakra-ui/react'\n\n/**\n * Badge recipe for labels and tags\n */\nexport const badgeRecipe = defineRecipe({\n className: 'badge',\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontFamily: 'body',\n fontSize: 'xs',\n fontWeight: 'medium',\n textTransform: 'uppercase',\n letterSpacing: 'tight',\n borderRadius: 'sm',\n whiteSpace: 'nowrap',\n },\n variants: {\n variant: {\n solid: {\n color: 'surface.0',\n },\n subtle: {\n borderWidth: 'thin',\n borderStyle: 'solid',\n },\n outline: {\n backgroundColor: 'transparent',\n borderWidth: 'thin',\n borderStyle: 'solid',\n },\n },\n colorScheme: {\n primary: {},\n secondary: {},\n accent: {},\n success: {},\n warning: {},\n error: {},\n },\n size: {\n sm: {\n fontSize: 'xs',\n paddingX: 'xs',\n paddingY: '2xs',\n },\n md: {\n fontSize: 'xs',\n paddingX: 'sm',\n paddingY: 'xs',\n },\n lg: {\n fontSize: 'sm',\n paddingX: 'md',\n paddingY: 'xs',\n },\n },\n },\n compoundVariants: [\n // Solid variants\n {\n variant: 'solid',\n colorScheme: 'primary',\n css: {\n backgroundColor: 'primary.DEFAULT',\n color: 'surface.0',\n },\n },\n {\n variant: 'solid',\n colorScheme: 'secondary',\n css: {\n backgroundColor: 'utility.DEFAULT',\n color: 'surface.0',\n },\n },\n {\n variant: 'solid',\n colorScheme: 'accent',\n css: {\n backgroundColor: 'emphasis.DEFAULT',\n color: 'surface.0',\n },\n },\n {\n variant: 'solid',\n colorScheme: 'success',\n css: {\n backgroundColor: 'status.success',\n color: 'surface.0',\n },\n },\n {\n variant: 'solid',\n colorScheme: 'warning',\n css: {\n backgroundColor: 'status.warning',\n color: 'surface.0',\n },\n },\n {\n variant: 'solid',\n colorScheme: 'error',\n css: {\n backgroundColor: 'status.error',\n color: 'surface.0',\n },\n },\n // Subtle variants\n {\n variant: 'subtle',\n colorScheme: 'primary',\n css: {\n backgroundColor: 'overlay.light',\n color: 'primary.DEFAULT',\n borderColor: 'primary.DEFAULT',\n },\n },\n {\n variant: 'subtle',\n colorScheme: 'secondary',\n css: {\n backgroundColor: 'rgba(42, 185, 176, 0.1)',\n color: 'utility.DEFAULT',\n borderColor: 'utility.DEFAULT',\n },\n },\n {\n variant: 'subtle',\n colorScheme: 'accent',\n css: {\n backgroundColor: 'rgba(216, 107, 154, 0.1)',\n color: 'emphasis.DEFAULT',\n borderColor: 'emphasis.DEFAULT',\n },\n },\n {\n variant: 'subtle',\n colorScheme: 'success',\n css: {\n backgroundColor: 'rgba(42, 185, 176, 0.1)',\n color: 'status.success',\n borderColor: 'status.success',\n },\n },\n {\n variant: 'subtle',\n colorScheme: 'warning',\n css: {\n backgroundColor: 'rgba(217, 162, 79, 0.1)',\n color: 'status.warning',\n borderColor: 'status.warning',\n },\n },\n {\n variant: 'subtle',\n colorScheme: 'error',\n css: {\n backgroundColor: 'overlay.error',\n color: 'status.error',\n borderColor: 'status.error',\n },\n },\n // Outline variants\n {\n variant: 'outline',\n colorScheme: 'primary',\n css: {\n color: 'primary.DEFAULT',\n borderColor: 'primary.DEFAULT',\n },\n },\n {\n variant: 'outline',\n colorScheme: 'secondary',\n css: {\n color: 'utility.DEFAULT',\n borderColor: 'utility.DEFAULT',\n },\n },\n {\n variant: 'outline',\n colorScheme: 'accent',\n css: {\n color: 'emphasis.DEFAULT',\n borderColor: 'emphasis.DEFAULT',\n },\n },\n {\n variant: 'outline',\n colorScheme: 'success',\n css: {\n color: 'status.success',\n borderColor: 'status.success',\n },\n },\n {\n variant: 'outline',\n colorScheme: 'warning',\n css: {\n color: 'status.warning',\n borderColor: 'status.warning',\n },\n },\n {\n variant: 'outline',\n colorScheme: 'error',\n css: {\n color: 'status.error',\n borderColor: 'status.error',\n },\n },\n ],\n defaultVariants: {\n variant: 'subtle',\n colorScheme: 'primary',\n size: 'md',\n },\n})\n","import { buttonRecipe } from './button'\nimport { cellRecipe } from './cell'\nimport { timerRecipe } from './timer'\nimport { loadingRecipe } from './loading'\nimport { inputRecipe } from './input'\nimport { linkRecipe } from './link'\nimport { cardRecipe } from './card'\nimport { badgeRecipe } from './badge'\n\nexport const recipes = {\n button: buttonRecipe,\n cell: cellRecipe,\n timer: timerRecipe,\n loading: loadingRecipe,\n input: inputRecipe,\n link: linkRecipe,\n card: cardRecipe,\n badge: badgeRecipe,\n}\n","import { defineSlotRecipe } from '@chakra-ui/react'\n\nexport const modalSlotRecipe = defineSlotRecipe({\n className: 'modal',\n slots: ['backdrop', 'modal', 'header', 'title', 'content'],\n base: {\n backdrop: {\n position: 'fixed',\n inset: 0,\n background: '{colors.overlay.backdrop.heavy}',\n backdropFilter: 'blur(8px)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 'modal',\n padding: 'md',\n },\n modal: {\n background: 'linear-gradient(145deg, {colors.surface.2}, {colors.surface.1})',\n borderWidth: 'base',\n borderStyle: 'solid',\n borderColor: 'primary.DEFAULT',\n maxWidth: '500px',\n width: '100%',\n maxHeight: '90vh',\n overflowY: 'auto',\n boxShadow: '{shadows.xl}, {shadows.glow.primary-xl}, inset 0 1px 0 rgba(255, 255, 255, 0.1)',\n borderRadius: 'md',\n },\n header: {\n padding: 'lg',\n borderBottomWidth: 'thin',\n borderBottomStyle: 'solid',\n borderBottomColor: 'border.subtle',\n background: 'linear-gradient(180deg, {colors.overlay.light}, transparent)',\n },\n title: {\n margin: 0,\n fontFamily: 'display',\n fontSize: 'xl',\n color: 'text.primary',\n textTransform: 'uppercase',\n letterSpacing: 'tight',\n textShadow: '0 2px 4px rgba(0, 0, 0, 0.5)',\n },\n content: {\n padding: 'lg',\n },\n },\n})\n","import { defineSlotRecipe } from '@chakra-ui/react'\n\nexport const switchSlotRecipe = defineSlotRecipe({\n className: 'switch',\n slots: ['root', 'label', 'control', 'thumb', 'indicator'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: 'sm',\n position: 'relative',\n '--switch-width': 'sizes.10',\n '--switch-height': 'sizes.5',\n '--switch-diff': 'calc(var(--switch-width) - var(--switch-height))',\n '--switch-x': {\n base: 'var(--switch-diff)',\n _rtl: 'calc(var(--switch-diff) * -1)',\n },\n },\n label: {\n fontFamily: 'body',\n fontSize: 'xs',\n color: 'text.primary',\n textTransform: 'uppercase',\n letterSpacing: 'wide',\n textShadow: '0 1px 2px rgba(0, 0, 0, 0.4)',\n userSelect: 'none',\n },\n control: {\n display: 'inline-flex',\n alignItems: 'center',\n position: 'relative',\n width: 'var(--switch-width)',\n height: 'var(--switch-height)',\n borderRadius: 'full',\n borderWidth: 'base',\n borderStyle: 'solid',\n borderColor: 'border.strong',\n background:\n 'linear-gradient(140deg, {colors.surface.2}, {colors.surface.1} 50%, {colors.surface.0})',\n boxShadow: '{shadows.sm}, inset 0 1px 0 rgba(255, 255, 255, 0.06)',\n transition: 'all 200ms ease',\n _checked: {\n borderColor: 'primary.DEFAULT',\n background:\n 'linear-gradient(140deg, {colors.primary.hover}, {colors.primary.DEFAULT})',\n boxShadow: '{shadows.md}, {shadows.glow.primary}, inset 0 1px 0 rgba(255, 255, 255, 0.1)',\n },\n },\n thumb: {\n width: 'var(--switch-height)',\n height: 'var(--switch-height)',\n borderRadius: 'full',\n background: 'surface.0',\n boxShadow: '{shadows.sm}',\n transitionProperty: 'translate',\n transitionDuration: 'fast',\n _checked: {\n translate: 'var(--switch-x) 0',\n background: 'surface.0',\n },\n },\n },\n})\n","import { defineSlotRecipe } from '@chakra-ui/react'\n\nexport const victoryScreenSlotRecipe = defineSlotRecipe({\n slots: ['overlay', 'content', 'title', 'stats', 'badge', 'actions'],\n base: {\n overlay: {\n position: 'fixed',\n inset: 0,\n background: 'overlay.backdrop.heavy',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 'overlay',\n padding: 'md',\n },\n content: {\n maxWidth: '400px',\n width: '100%',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: 'xl',\n padding: 'xl',\n borderWidth: 'thick',\n borderStyle: 'solid',\n borderColor: 'border.strong',\n background: 'surface.2',\n boxShadow: 'glow.primary-xl',\n },\n title: {\n fontFamily: 'display',\n fontSize: '3xl',\n color: 'text.primary',\n letterSpacing: 'wide',\n textShadow: 'glow.emphasis-lg',\n animation: 'pulse 2s ease-in-out infinite',\n },\n stats: {\n display: 'flex',\n flexDirection: 'column',\n gap: 'md',\n },\n badge: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 'sm',\n padding: 'md',\n borderWidth: 'base',\n borderStyle: 'solid',\n borderColor: 'emphasis',\n background: 'overlay.subtle',\n animation: 'glowHighlight 2s ease-in-out infinite',\n },\n actions: {\n display: 'flex',\n flexDirection: 'column',\n gap: 'md',\n },\n },\n})\n","import { defineSlotRecipe } from '@chakra-ui/react'\n\n/**\n * Accordion slot recipe for collapsible sections\n * Based on ninefold ControlPanel patterns\n */\nexport const accordionSlotRecipe = defineSlotRecipe({\n className: 'accordion',\n slots: ['root', 'item', 'trigger', 'icon', 'content'],\n base: {\n root: {\n width: '100%',\n },\n item: {\n borderWidth: 'thin',\n borderStyle: 'solid',\n borderColor: 'border.subtle',\n borderRadius: 'md',\n overflow: 'hidden',\n marginBottom: 'sm',\n\n _last: {\n marginBottom: 0,\n },\n },\n trigger: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n padding: 'sm',\n backgroundColor: 'surface.0',\n borderWidth: 0,\n borderBottomWidth: 'thin',\n borderStyle: 'solid',\n borderColor: 'transparent',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'sm',\n fontWeight: 'medium',\n color: 'primary.DEFAULT',\n textTransform: 'uppercase',\n letterSpacing: 'wide',\n transition: 'all var(--timing-base) var(--easing-default)',\n boxShadow: 'inset 0 1px 0 rgba(255, 255, 255, 0.06)',\n\n _hover: {\n backgroundColor: 'surface.1',\n },\n\n _expanded: {\n borderBottomColor: 'border.subtle',\n backgroundColor: 'surface.1',\n },\n },\n icon: {\n transition: 'transform var(--timing-base) var(--easing-default)',\n color: 'text.muted',\n\n _expanded: {\n transform: 'rotate(180deg)',\n },\n },\n content: {\n padding: 'md',\n backgroundColor: 'surface.1',\n },\n },\n variants: {\n variant: {\n subtle: {\n item: {\n borderColor: 'border.subtle',\n },\n trigger: {\n backgroundColor: 'surface.0',\n },\n content: {\n backgroundColor: 'surface.1',\n },\n },\n outline: {\n item: {\n borderColor: 'border.strong',\n },\n trigger: {\n backgroundColor: 'transparent',\n _hover: {\n backgroundColor: 'overlay.subtle',\n },\n },\n content: {\n backgroundColor: 'transparent',\n },\n },\n solid: {\n item: {\n borderColor: 'primary.DEFAULT',\n boxShadow: 'var(--shadow-glow-primary)',\n },\n trigger: {\n backgroundColor: 'surface.1',\n borderBottomColor: 'primary.DEFAULT',\n },\n content: {\n backgroundColor: 'surface.0',\n },\n },\n },\n size: {\n sm: {\n trigger: {\n padding: 'xs',\n fontSize: 'xs',\n },\n content: {\n padding: 'sm',\n },\n },\n md: {\n trigger: {\n padding: 'sm',\n fontSize: 'sm',\n },\n content: {\n padding: 'md',\n },\n },\n lg: {\n trigger: {\n padding: 'md',\n fontSize: 'base',\n },\n content: {\n padding: 'lg',\n },\n },\n },\n },\n defaultVariants: {\n variant: 'subtle',\n size: 'md',\n },\n})\n","import { defineSlotRecipe } from '@chakra-ui/react'\n\n/**\n * RadioGroup slot recipe for selection groups\n * Based on ninefold SettingsModal patterns\n */\nexport const radioGroupSlotRecipe = defineSlotRecipe({\n className: 'radioGroup',\n slots: ['root', 'label', 'group', 'item', 'indicator', 'text', 'description'],\n base: {\n root: {\n width: '100%',\n },\n label: {\n fontFamily: 'body',\n fontSize: 'base',\n fontWeight: 'medium',\n color: 'primary.DEFAULT',\n textTransform: 'uppercase',\n letterSpacing: 'tight',\n marginBottom: 'md',\n },\n group: {\n display: 'flex',\n flexDirection: 'column',\n gap: 'sm',\n },\n item: {\n display: 'flex',\n alignItems: 'flex-start',\n gap: 'sm',\n padding: 'sm',\n borderWidth: 'thin',\n borderStyle: 'solid',\n borderColor: 'border.subtle',\n borderRadius: 'md',\n backgroundColor: 'transparent',\n cursor: 'pointer',\n transition: 'all var(--timing-base) var(--easing-default)',\n\n _hover: {\n borderColor: 'primary.DEFAULT',\n backgroundColor: 'overlay.subtle',\n },\n\n _checked: {\n borderColor: 'primary.DEFAULT',\n backgroundColor: 'overlay.light',\n },\n\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n _hover: {\n borderColor: 'border.subtle',\n backgroundColor: 'transparent',\n },\n },\n },\n indicator: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '18px',\n height: '18px',\n borderWidth: 'base',\n borderStyle: 'solid',\n borderColor: 'border.strong',\n borderRadius: '50%',\n backgroundColor: 'surface.0',\n flexShrink: 0,\n marginTop: '2px',\n transition: 'all var(--timing-fast) var(--easing-default)',\n\n _checked: {\n borderColor: 'primary.DEFAULT',\n backgroundColor: 'primary.DEFAULT',\n\n _after: {\n content: '\"\"',\n display: 'block',\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n backgroundColor: 'surface.0',\n },\n },\n },\n text: {\n fontSize: 'base',\n fontWeight: 'medium',\n color: 'text.primary',\n },\n description: {\n fontSize: 'sm',\n color: 'text.muted',\n marginTop: '2xs',\n },\n },\n variants: {\n variant: {\n outline: {\n item: {\n backgroundColor: 'transparent',\n },\n },\n subtle: {\n item: {\n backgroundColor: 'surface.1',\n _hover: {\n backgroundColor: 'surface.2',\n },\n _checked: {\n backgroundColor: 'overlay.light',\n },\n },\n },\n cards: {\n item: {\n padding: 'md',\n borderRadius: 'md',\n boxShadow: 'var(--shadow-xs)',\n _checked: {\n boxShadow: 'var(--shadow-sm), var(--shadow-glow-primary)',\n },\n },\n },\n },\n orientation: {\n vertical: {\n group: {\n flexDirection: 'column',\n },\n },\n horizontal: {\n group: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n item: {\n flex: '1 1 auto',\n },\n },\n },\n size: {\n sm: {\n item: {\n padding: 'xs',\n },\n indicator: {\n width: '14px',\n height: '14px',\n _checked: {\n _after: {\n width: '6px',\n height: '6px',\n },\n },\n },\n text: {\n fontSize: 'sm',\n },\n description: {\n fontSize: 'xs',\n },\n },\n md: {\n item: {\n padding: 'sm',\n },\n indicator: {\n width: '18px',\n height: '18px',\n },\n text: {\n fontSize: 'base',\n },\n description: {\n fontSize: 'sm',\n },\n },\n lg: {\n item: {\n padding: 'md',\n },\n indicator: {\n width: '22px',\n height: '22px',\n _checked: {\n _after: {\n width: '10px',\n height: '10px',\n },\n },\n },\n text: {\n fontSize: 'md',\n },\n description: {\n fontSize: 'base',\n },\n },\n },\n },\n defaultVariants: {\n variant: 'outline',\n orientation: 'vertical',\n size: 'md',\n },\n})\n","import { modalSlotRecipe } from './modal'\nimport { switchSlotRecipe } from './switch'\nimport { victoryScreenSlotRecipe } from './victoryScreen'\nimport { accordionSlotRecipe } from './accordion'\nimport { radioGroupSlotRecipe } from './radioGroup'\n\nexport const slotRecipes = {\n modal: modalSlotRecipe,\n switch: switchSlotRecipe,\n victoryScreen: victoryScreenSlotRecipe,\n accordion: accordionSlotRecipe,\n radioGroup: radioGroupSlotRecipe,\n}\n","/**\n * WCAG Contrast Ratio Utilities\n *\n * Provides functions to calculate and verify contrast ratios\n * between colors for accessibility compliance.\n */\n\n/**\n * Parse a hex color string to RGB values\n */\nexport function hexToRgb(hex: string): { r: number; g: number; b: number } {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n if (!result) {\n throw new Error(`Invalid hex color: ${hex}`)\n }\n return {\n r: parseInt(result[1]!, 16),\n g: parseInt(result[2]!, 16),\n b: parseInt(result[3]!, 16),\n }\n}\n\n/**\n * Calculate relative luminance of a color\n * Based on WCAG 2.1 definition: https://www.w3.org/TR/WCAG21/#dfn-relative-luminance\n */\nexport function relativeLuminance(r: number, g: number, b: number): number {\n const [rs, gs, bs] = [r, g, b].map((c) => {\n const sRGB = c / 255\n return sRGB <= 0.03928\n ? sRGB / 12.92\n : Math.pow((sRGB + 0.055) / 1.055, 2.4)\n })\n return 0.2126 * rs! + 0.7152 * gs! + 0.0722 * bs!\n}\n\n/**\n * Calculate contrast ratio between two colors\n * Returns a value between 1 and 21\n */\nexport function contrastRatio(color1: string, color2: string): number {\n const rgb1 = hexToRgb(color1)\n const rgb2 = hexToRgb(color2)\n\n const l1 = relativeLuminance(rgb1.r, rgb1.g, rgb1.b)\n const l2 = relativeLuminance(rgb2.r, rgb2.g, rgb2.b)\n\n const lighter = Math.max(l1, l2)\n const darker = Math.min(l1, l2)\n\n return (lighter + 0.05) / (darker + 0.05)\n}\n\n/**\n * Format contrast ratio for display (e.g., \"16.49:1\")\n */\nexport function formatContrastRatio(ratio: number): string {\n return `${ratio.toFixed(2)}:1`\n}\n\n/**\n * WCAG compliance levels\n */\nexport type WcagLevel = 'AAA' | 'AA' | 'AA-large' | 'fail'\n\n/**\n * Check WCAG compliance level for a contrast ratio\n * @param ratio - The contrast ratio\n * @param isLargeText - Whether the text is considered \"large\" (14pt bold or 18pt regular)\n */\nexport function getWcagLevel(ratio: number, isLargeText = false): WcagLevel {\n if (isLargeText) {\n if (ratio >= 4.5) return 'AAA'\n if (ratio >= 3) return 'AA'\n return 'fail'\n } else {\n if (ratio >= 7) return 'AAA'\n if (ratio >= 4.5) return 'AA'\n if (ratio >= 3) return 'AA-large'\n return 'fail'\n }\n}\n\n/**\n * Get a human-readable description of WCAG compliance\n */\nexport function getWcagDescription(level: WcagLevel): string {\n switch (level) {\n case 'AAA':\n return 'Enhanced accessibility (AAA)'\n case 'AA':\n return 'Minimum accessibility (AA)'\n case 'AA-large':\n return 'Large text only (AA)'\n case 'fail':\n return 'Does not meet WCAG standards'\n }\n}\n\n/**\n * Check if a contrast ratio meets minimum WCAG AA requirements\n */\nexport function meetsWcagAA(ratio: number, isLargeText = false): boolean {\n const level = getWcagLevel(ratio, isLargeText)\n return level === 'AAA' || level === 'AA'\n}\n\n/**\n * Get all color pairs with their contrast ratios\n * Useful for building contrast grids\n */\nexport interface ContrastPair {\n foreground: string\n background: string\n ratio: number\n level: WcagLevel\n}\n\nexport function getContrastPairs(\n foregrounds: Record<string, string>,\n backgrounds: Record<string, string>\n): ContrastPair[] {\n const pairs: ContrastPair[] = []\n\n for (const [fgName, fgColor] of Object.entries(foregrounds)) {\n for (const [bgName, bgColor] of Object.entries(backgrounds)) {\n const ratio = contrastRatio(fgColor, bgColor)\n pairs.push({\n foreground: fgName,\n background: bgName,\n ratio,\n level: getWcagLevel(ratio),\n })\n }\n }\n\n return pairs\n}\n"],"mappings":";AAAA,SAAS,cAAc,qBAAqB;;;ACA5C,SAAS,oBAAoB;AAMtB,IAAM,SAAS,aAAa,OAAO;AAAA;AAAA,EAExC,SAAS;AAAA,IACP,GAAG,EAAE,OAAO,yBAAyB;AAAA;AAAA,IACrC,GAAG,EAAE,OAAO,yBAAyB;AAAA;AAAA,IACrC,GAAG,EAAE,OAAO,yBAAyB;AAAA;AAAA,IACrC,GAAG,EAAE,OAAO,yBAAyB;AAAA;AAAA,EACvC;AAAA;AAAA,EAGA,MAAM;AAAA,IACJ,SAAS,EAAE,OAAO,4BAA4B;AAAA;AAAA,IAC9C,WAAW,EAAE,OAAO,8BAA8B;AAAA;AAAA,IAClD,OAAO,EAAE,OAAO,0BAA0B;AAAA;AAAA,IAC1C,UAAU,EAAE,OAAO,6BAA6B;AAAA;AAAA,EAClD;AAAA;AAAA,EAGA,SAAS;AAAA,IACP,SAAS,EAAE,OAAO,mCAAmC;AAAA,IACrD,OAAO,EAAE,OAAO,yCAAyC;AAAA,EAC3D;AAAA;AAAA,EAGA,SAAS;AAAA,IACP,SAAS,EAAE,OAAO,qCAAqC;AAAA,IACvD,OAAO,EAAE,OAAO,2CAA2C;AAAA,EAC7D;AAAA;AAAA,EAGA,UAAU;AAAA,IACR,SAAS,EAAE,OAAO,kCAAkC;AAAA,EACtD;AAAA;AAAA,EAGA,QAAQ;AAAA,IACN,QAAQ,EAAE,OAAO,6BAA6B;AAAA,IAC9C,QAAQ,EAAE,OAAO,6BAA6B;AAAA,EAChD;AAAA;AAAA,EAGA,QAAQ;AAAA,IACN,SAAS,EAAE,OAAO,8BAA8B;AAAA,IAChD,SAAS,EAAE,OAAO,8BAA8B;AAAA,IAChD,OAAO,EAAE,OAAO,4BAA4B;AAAA,IAC5C,MAAM,EAAE,OAAO,2BAA2B;AAAA,EAC5C;AAAA;AAAA,EAGA,SAAS;AAAA,IACP,QAAQ,EAAE,OAAO,8BAA8B;AAAA;AAAA,IAC/C,OAAO,EAAE,OAAO,6BAA6B;AAAA;AAAA,IAC7C,QAAQ,EAAE,OAAO,8BAA8B;AAAA;AAAA,IAC/C,OAAO,EAAE,OAAO,6BAA6B;AAAA;AAAA,IAC7C,OAAO,EAAE,OAAO,6BAA6B;AAAA;AAAA,IAC7C,UAAU;AAAA,MACR,OAAO,EAAE,OAAO,sCAAsC;AAAA,MACtD,OAAO,EAAE,OAAO,sCAAsC;AAAA,IACxD;AAAA,EACF;AACF,CAAC;;;AClED,SAAS,gBAAAA,qBAAoB;AAKtB,IAAM,QAAQA,cAAa,MAAM;AAAA,EACtC,SAAS,EAAE,OAAO,sBAAsB;AAAA,EACxC,SAAS,EAAE,OAAO,sBAAsB;AAAA,EACxC,MAAM,EAAE,OAAO,mBAAmB;AACpC,CAAC;AAEM,IAAM,YAAYA,cAAa,UAAU;AAAA,EAC9C,IAAI,EAAE,OAAO,sBAAsB;AAAA;AAAA,EACnC,IAAI,EAAE,OAAO,sBAAsB;AAAA;AAAA,EACnC,MAAM,EAAE,OAAO,wBAAwB;AAAA;AAAA,EACvC,IAAI,EAAE,OAAO,sBAAsB;AAAA;AAAA,EACnC,IAAI,EAAE,OAAO,sBAAsB;AAAA;AAAA,EACnC,IAAI,EAAE,OAAO,sBAAsB;AAAA;AAAA,EACnC,OAAO,EAAE,OAAO,uBAAuB;AAAA;AAAA,EACvC,OAAO,EAAE,OAAO,uBAAuB;AAAA;AAAA,EACvC,OAAO,EAAE,OAAO,uBAAuB;AAAA;AAAA;AAAA,EAGvC,MAAM,EAAE,OAAO,wBAAwB;AAAA,EACvC,MAAM,EAAE,OAAO,wBAAwB;AAAA,EACvC,UAAU,EAAE,OAAO,4BAA4B;AACjD,CAAC;AAEM,IAAM,cAAcA,cAAa,YAAY;AAAA,EAClD,QAAQ,EAAE,OAAO,4BAA4B;AAAA,EAC7C,QAAQ,EAAE,OAAO,4BAA4B;AAAA,EAC7C,MAAM,EAAE,OAAO,0BAA0B;AAC3C,CAAC;AAEM,IAAM,iBAAiBA,cAAa,eAAe;AAAA,EACxD,OAAO,EAAE,OAAO,8BAA8B;AAAA,EAC9C,QAAQ,EAAE,OAAO,+BAA+B;AAAA,EAChD,MAAM,EAAE,OAAO,6BAA6B;AAC9C,CAAC;;;ACtCD,SAAS,gBAAAC,qBAAoB;AAKtB,IAAM,UAAUA,cAAa,QAAQ;AAAA,EAC1C,OAAO,EAAE,OAAO,qBAAqB;AAAA;AAAA,EACrC,IAAI,EAAE,OAAO,oBAAoB;AAAA;AAAA,EACjC,IAAI,EAAE,OAAO,oBAAoB;AAAA;AAAA,EACjC,IAAI,EAAE,OAAO,oBAAoB;AAAA;AAAA,EACjC,IAAI,EAAE,OAAO,oBAAoB;AAAA;AAAA,EACjC,IAAI,EAAE,OAAO,oBAAoB;AAAA;AAAA,EACjC,OAAO,EAAE,OAAO,qBAAqB;AAAA;AACvC,CAAC;;;ACbD,SAAS,gBAAAC,qBAAoB;AAKtB,IAAM,eAAeA,cAAa,aAAa;AAAA,EACpD,MAAM,EAAE,OAAO,2BAA2B;AAAA,EAC1C,MAAM,EAAE,OAAO,2BAA2B;AAAA,EAC1C,OAAO,EAAE,OAAO,4BAA4B;AAC9C,CAAC;AAEM,IAAM,QAAQA,cAAa,MAAM;AAAA,EACtC,IAAI,EAAE,OAAO,mBAAmB;AAAA,EAChC,IAAI,EAAE,OAAO,mBAAmB;AAAA,EAChC,IAAI,EAAE,OAAO,mBAAmB;AAClC,CAAC;;;ACfD,SAAS,gBAAAC,qBAAoB;AAKtB,IAAM,UAAUA,cAAa,QAAQ;AAAA;AAAA,EAE1C,IAAI,EAAE,OAAO,mBAAmB;AAAA,EAChC,IAAI,EAAE,OAAO,mBAAmB;AAAA,EAChC,IAAI,EAAE,OAAO,mBAAmB;AAAA,EAChC,IAAI,EAAE,OAAO,mBAAmB;AAAA,EAChC,IAAI,EAAE,OAAO,mBAAmB;AAAA;AAAA,EAGhC,MAAM;AAAA,IACJ,SAAS,EAAE,OAAO,6BAA6B;AAAA,IAC/C,cAAc,EAAE,OAAO,gCAAgC;AAAA,IACvD,cAAc,EAAE,OAAO,gCAAgC;AAAA;AAAA,IAGvD,WAAW,EAAE,OAAO,+BAA+B;AAAA,IACnD,gBAAgB,EAAE,OAAO,kCAAkC;AAAA;AAAA,IAG3D,QAAQ,EAAE,OAAO,4BAA4B;AAAA,IAC7C,aAAa,EAAE,OAAO,+BAA+B;AAAA;AAAA,IAGrD,SAAS,EAAE,OAAO,+BAA+B;AAAA,IACjD,cAAc,EAAE,OAAO,kCAAkC;AAAA,IACzD,UAAU,EAAE,OAAO,4BAA4B;AAAA,IAC/C,eAAe,EAAE,OAAO,+BAA+B;AAAA;AAAA,IAGvD,OAAO,EAAE,OAAO,2BAA2B;AAAA,EAC7C;AAAA;AAAA,EAGA,OAAO;AAAA,IACL,SAAS,EAAE,OAAO,8BAA8B;AAAA,IAChD,QAAQ,EAAE,OAAO,6BAA6B;AAAA,IAC9C,MAAM,EAAE,OAAO,2BAA2B;AAAA,EAC5C;AACF,CAAC;;;AC3CD,SAAS,gBAAAC,qBAAoB;AAKtB,IAAM,SAASA,cAAa,OAAO;AAAA,EACxC,MAAM,EAAE,OAAO,sBAAsB;AAAA,EACrC,UAAU,EAAE,OAAO,0BAA0B;AAAA,EAC7C,SAAS,EAAE,OAAO,yBAAyB;AAAA,EAC3C,OAAO,EAAE,OAAO,uBAAuB;AAAA,EACvC,OAAO,EAAE,OAAO,uBAAuB;AAAA,EACvC,YAAY,EAAE,OAAO,4BAA4B;AACnD,CAAC;;;ACZD,SAAS,4BAA4B;AAE9B,IAAM,iBAAiB,qBAAqB,OAAO;AAAA;AAAA,EAExD,IAAI;AAAA,IACF,MAAM,EAAE,OAAO,qBAAqB;AAAA,IACpC,UAAU,EAAE,OAAO,qBAAqB;AAAA,IACxC,MAAM,EAAE,OAAO,qBAAqB;AAAA,IACpC,QAAQ,EAAE,OAAO,qBAAqB;AAAA,EACxC;AAAA;AAAA,EAGA,aAAa;AAAA,IACX,MAAM,EAAE,OAAO,2BAA2B;AAAA,IAC1C,OAAO,EAAE,OAAO,yBAAyB;AAAA,EAC3C;AAAA;AAAA,EAGA,QAAQ;AAAA,IACN,QAAQ,EAAE,OAAO,yBAAyB;AAAA,IAC1C,QAAQ,EAAE,OAAO,yBAAyB;AAAA,EAC5C;AACF,CAAC;;;ACtBD,SAAS,wBAAAC,6BAA4B;AAE9B,IAAM,kBAAkBA,sBAAqB,QAAQ;AAAA;AAAA,EAE1D,QAAQ;AAAA,IACN,MAAM,EAAE,OAAO,uCAAuC;AAAA,IACtD,OAAO,EAAE,OAAO,0CAA0C;AAAA,EAC5D;AAAA;AAAA,EAGA,MAAM;AAAA,IACJ,UAAU;AAAA,MACR,OACE;AAAA,IACJ;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,IACT;AAAA,EACF;AACF,CAAC;;;AChBM,IAAM,iBAAiB;AAAA,EAC5B,QAAQ;AAAA,EACR,SAAS;AACX;;;ACNA,SAAS,uBAAuB;AAOzB,IAAM,YAAY,gBAAgB;AAAA,EACvC,QAAQ;AAAA,IACN,MAAM,EAAE,SAAS,IAAI;AAAA,IACrB,IAAI,EAAE,SAAS,IAAI;AAAA,EACrB;AAAA,EAEA,SAAS;AAAA,IACP,MAAM,EAAE,SAAS,IAAI;AAAA,IACrB,IAAI,EAAE,SAAS,IAAI;AAAA,EACrB;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,MAAM;AAAA,IACJ,YAAY;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,OAAO;AAAA,MACL,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,eAAe;AAAA,IACb,YAAY;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,OAAO;AAAA,MACL,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,YAAY;AAAA,IACV,YAAY;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,OAAO;AAAA,MACL,WAAW;AAAA,IACb;AAAA,EACF;AAAA;AAAA,EAGA,eAAe;AAAA,IACb,YAAY;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,OAAO;AAAA,MACL,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,YAAY,EAAE,SAAS,IAAI;AAAA,IAC3B,OAAO,EAAE,SAAS,MAAM;AAAA,EAC1B;AAAA,EAEA,QAAQ;AAAA,IACN,iBAAiB;AAAA,MACf,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,SAAS;AAAA,IACP,MAAM;AAAA,MACJ,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,IAAI;AAAA,MACF,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,IAAI;AAAA,MACF,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,WAAW;AAAA,IACT,MAAM;AAAA,MACJ,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,IAAI;AAAA,MACF,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,aAAa;AAAA,IACX,MAAM;AAAA,MACJ,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,IAAI;AAAA,MACF,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,IACA,IAAI;AAAA,MACF,WAAW;AAAA,IACb;AAAA,EACF;AACF,CAAC;;;ACtID,SAAS,0BAA0B;;;ACe5B,IAAM,iBAAiB;AAAA;AAAA,EAE5B,qBAAqB;AAAA;AAAA,EACrB,qBAAqB;AAAA;AAAA,EACrB,qBAAqB;AAAA;AAAA,EACrB,qBAAqB;AAAA;AAAA;AAAA,EAGrB,wBAAwB;AAAA;AAAA,EACxB,0BAA0B;AAAA;AAAA,EAC1B,sBAAsB;AAAA;AAAA,EACtB,yBAAyB;AAAA;AAAA;AAAA,EAGzB,+BAA+B;AAAA,EAC/B,qCAAqC;AAAA;AAAA,EAGrC,iCAAiC;AAAA,EACjC,uCAAuC;AAAA;AAAA,EAGvC,8BAA8B;AAAA;AAAA,EAG9B,yBAAyB;AAAA,EACzB,yBAAyB;AAAA;AAAA,EAGzB,0BAA0B;AAAA;AAAA,EAC1B,0BAA0B;AAAA;AAAA,EAC1B,wBAAwB;AAAA;AAAA,EACxB,uBAAuB;AAAA;AAAA;AAAA,EAGvB,0BAA0B;AAAA;AAAA,EAC1B,yBAAyB;AAAA;AAAA,EACzB,0BAA0B;AAAA;AAAA,EAC1B,yBAAyB;AAAA;AAAA,EACzB,yBAAyB;AAAA;AAAA,EACzB,kCAAkC;AAAA,EAClC,kCAAkC;AACpC;AAMO,IAAM,sBAAsB;AAAA;AAAA,EAEjC,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,eAAe;AAAA;AAAA,EAGf,kBAAkB;AAAA;AAAA,EAClB,kBAAkB;AAAA;AAAA,EAClB,oBAAoB;AAAA;AAAA,EACpB,kBAAkB;AAAA;AAAA,EAClB,kBAAkB;AAAA;AAAA,EAClB,kBAAkB;AAAA;AAAA,EAClB,mBAAmB;AAAA;AAAA,EACnB,mBAAmB;AAAA;AAAA,EACnB,mBAAmB;AAAA;AAAA;AAAA,EAGnB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,wBAAwB;AAAA;AAAA,EAGxB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA;AAAA,EAGtB,0BAA0B;AAAA,EAC1B,2BAA2B;AAAA,EAC3B,yBAAyB;AAC3B;AAMO,IAAM,mBAAmB;AAAA,EAC9B,iBAAiB;AAAA;AAAA,EACjB,gBAAgB;AAAA;AAAA,EAChB,gBAAgB;AAAA;AAAA,EAChB,gBAAgB;AAAA;AAAA,EAChB,gBAAgB;AAAA;AAAA,EAChB,gBAAgB;AAAA;AAAA,EAChB,iBAAiB;AAAA;AACnB;AAMO,IAAM,kBAAkB;AAAA;AAAA,EAE7B,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,wBAAwB;AAAA;AAAA,EAGxB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AACjB;AAMO,IAAM,kBAAkB;AAAA;AAAA,EAE7B,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eACE;AAAA;AAAA,EAGF,yBAAyB;AAAA,EACzB,4BACE;AAAA,EACF,4BACE;AAAA;AAAA,EAGF,2BAA2B;AAAA,EAC3B,8BACE;AAAA;AAAA,EAGF,wBAAwB;AAAA,EACxB,2BACE;AAAA;AAAA,EAGF,uBAAuB;AAAA;AAAA,EAGvB,0BAA0B;AAAA,EAC1B,yBAAyB;AAAA,EACzB,uBAAuB;AACzB;AAMO,IAAM,kBAAkB;AAAA,EAC7B,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,wBAAwB;AAC1B;AAMO,IAAM,kBAAkB;AAAA;AAAA,EAE7B,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA;AAAA,EAGjB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,mBAAmB;AACrB;AAMO,IAAM,sBAAsB;AAAA,EACjC,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,wBAAwB;AAC1B;AAUO,IAAM,gBAAgB;AAAA;AAAA,EAE3B,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA;AAAA,EAGjB,yBAAyB;AAAA,EACzB,4BAA4B;AAAA,EAC5B,0BAA0B;AAAA,EAC1B,6BAA6B;AAAA;AAAA,EAG7B,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA;AAAA,EAGtB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,cAAc;AAChB;AAMO,IAAM,kBAAkB;AAAA,EAC7B,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAMO,SAAS,eAAe,MAA+B;AAC5D,SAAO,gBAAgB,IAAI;AAC7B;AAGO,SAAS,OAAO,MAA+B;AACpD,SAAO,OAAO,IAAI;AACpB;AAGO,SAAS,6BAAqC;AACnD,SAAO,OAAO,QAAQ,eAAe,EAClC,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,GAAG,KAAK,KAAK,GAAG,EACzC,KAAK,MAAM;AAChB;;;ADzQO,IAAM,YAAY,mBAAmB;AAAA;AAAA,EAE1C,SAAS;AAAA;AAAA,EAGT,0BAA0B;AAAA,IACxB,WAAW;AAAA,EACb;AAAA;AAAA,EAGA,MAAM;AAAA,IACJ,iBAAiB;AAAA,IACjB,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,EACd;AAAA;AAAA,EAGA,gBAAgB;AAAA,IACd,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,iBAAiB;AAAA;AAAA;AAAA;AAAA,IAIjB,eAAe;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EAEA,eAAe;AAAA,IACb,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,eAAe;AAAA,IACf,QAAQ;AAAA,EACV;AAAA;AAAA,EAGA,uBAAuB;AAAA,IACrB,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EAEA,6BAA6B;AAAA,IAC3B,YAAY;AAAA,EACd;AAAA,EAEA,6BAA6B;AAAA,IAC3B,YAAY;AAAA,IACZ,cAAc;AAAA,EAChB;AAAA,EAEA,mCAAmC;AAAA,IACjC,YAAY;AAAA,EACd;AAAA;AAAA,EAGA,KAAK;AAAA,IACH,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,EAClB;AAAA;AAAA,EAGA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA;AAAA,EAGA,kBAAkB;AAAA,IAChB,SAAS;AAAA,IACT,eAAe;AAAA,EACjB;AACF,CAAC;;;AExFM,IAAM,cAAc;AAAA,EACzB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AACX;;;ACJA,SAAS,oBAAoB;AAEtB,IAAM,eAAe,aAAa;AAAA,EACvC,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,WAAW;AAAA,IAEX,WAAW;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IAEA,eAAe;AAAA,MACb,SAAS;AAAA,MACT,eAAe;AAAA,IACjB;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP,aAAa;AAAA,QACb,OAAO;AAAA,QAEP,QAAQ;AAAA,UACN,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,WAAW;AAAA,UACX,WAAW;AAAA,QACb;AAAA,QAEA,SAAS;AAAA,UACP,WAAW;AAAA,UACX,WAAW;AAAA,QACb;AAAA,MACF;AAAA,MACA,WAAW;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QAEP,QAAQ;AAAA,UACN,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,WAAW;AAAA,UACX,WAAW;AAAA,QACb;AAAA,QAEA,SAAS;AAAA,UACP,WAAW;AAAA,UACX,WAAW;AAAA,QACb;AAAA,MACF;AAAA,MACA,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,OAAO;AAAA,QAEP,QAAQ;AAAA,UACN,YAAY;AAAA,UACZ,OAAO;AAAA,UACP,WAAW;AAAA,UACX,WAAW;AAAA,QACb;AAAA,QAEA,SAAS;AAAA,UACP,WAAW;AAAA,UACX,WAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC;;;ACzFD,SAAS,gBAAAC,qBAAoB;AAEtB,IAAM,aAAaA,cAAa;AAAA,EACrC,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,aAAa;AAAA,IACb,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,GAAG;AAAA,IACH,UAAU;AAAA,IACV,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,eAAe;AAAA,MACb,SAAS;AAAA,MACT,eAAe;AAAA,MACf,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,MACL,QAAQ;AAAA,QACN,QAAQ;AAAA,UACN,YAAY;AAAA,UACZ,aAAa;AAAA,UACb,WACE;AAAA,UACF,WAAW;AAAA,QACb;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,QAAQ;AAAA,UACN,YAAY;AAAA,UACZ,aAAa;AAAA,UACb,WAAW;AAAA,UACX,WAAW;AAAA,QACb;AAAA,MACF;AAAA,MACA,UAAU;AAAA,QACR,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,WAAW;AAAA,QACX,WAAW;AAAA,MACb;AAAA,MACA,UAAU;AAAA,QACR,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,OAAO;AAAA,QACP,WAAW;AAAA,MACb;AAAA,MACA,kBAAkB;AAAA,QAChB,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,OAAO;AAAA,QACP,WAAW;AAAA,QACX,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,EACT;AACF,CAAC;;;AC3ED,SAAS,gBAAAC,qBAAoB;AAEtB,IAAM,cAAcA,cAAa;AAAA,EACtC,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO;AAAA,IACP,UAAU;AAAA,IACV,UAAU;AAAA,IACV,aAAa;AAAA,IACb,aAAa;AAAA,IACb,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,WAAW;AAAA,IACX,gBAAgB;AAAA,EAClB;AACF,CAAC;;;ACpBD,SAAS,gBAAAC,qBAAoB;AAMtB,IAAM,gBAAgBA,cAAa;AAAA,EACxC,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,cAAc;AAAA,IACd,WAAW;AAAA,EACb;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,QACF,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA,QACF,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,MACA,IAAI;AAAA,QACF,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,QACP,iBAAiB;AAAA,MACnB;AAAA,MACA,WAAW;AAAA,QACT,iBAAiB;AAAA,MACnB;AAAA,MACA,QAAQ;AAAA,QACN,iBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AACF,CAAC;;;AC/CD,SAAS,gBAAAC,qBAAoB;AAKtB,IAAM,cAAcA,cAAa;AAAA,EACtC,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO;AAAA,IACP,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,aAAa;AAAA,IACb,aAAa;AAAA,IACb,cAAc;AAAA,IACd,SAAS;AAAA,IACT,OAAO;AAAA,IACP,YAAY;AAAA,IAEZ,cAAc;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IAEA,QAAQ;AAAA,MACN,aAAa;AAAA,IACf;AAAA,IAEA,QAAQ;AAAA,MACN,aAAa;AAAA,MACb,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,iBAAiB;AAAA,IACnB;AAAA,IAEA,UAAU;AAAA,MACR,aAAa;AAAA,MACb,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,QACF,UAAU;AAAA,QACV,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA,IAAI;AAAA,QACF,UAAU;AAAA,QACV,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA,IAAI;AAAA,QACF,UAAU;AAAA,QACV,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,QACP,iBAAiB;AAAA,QACjB,aAAa;AAAA,MACf;AAAA,MACA,QAAQ;AAAA,QACN,iBAAiB;AAAA,QACjB,aAAa;AAAA,QACb,QAAQ;AAAA,UACN,iBAAiB;AAAA,QACnB;AAAA,QACA,QAAQ;AAAA,UACN,iBAAiB;AAAA,UACjB,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAC;;;ACrFD,SAAS,gBAAAC,qBAAoB;AAKtB,IAAM,aAAaA,cAAa;AAAA,EACrC,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,YAAY;AAAA,IAEZ,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,gBAAgB;AAAA,IAClB;AAAA,IAEA,SAAS;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IAEA,eAAe;AAAA,MACb,SAAS;AAAA,MACT,eAAe;AAAA,MACf,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP,OAAO;AAAA,QACP,QAAQ;AAAA,UACN,OAAO;AAAA,QACT;AAAA,MACF;AAAA,MACA,WAAW;AAAA,QACT,OAAO;AAAA,QACP,QAAQ;AAAA,UACN,OAAO;AAAA,QACT;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,UACN,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,QACN,gBAAgB;AAAA,MAClB;AAAA,MACA,OAAO;AAAA,QACL,gBAAgB;AAAA,QAChB,QAAQ;AAAA,UACN,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ,gBAAgB;AAAA,QAChB,QAAQ;AAAA,UACN,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,WAAW;AAAA,EACb;AACF,CAAC;;;ACvED,SAAS,gBAAAC,qBAAoB;AAKtB,IAAM,aAAaA,cAAa;AAAA,EACrC,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,aAAa;AAAA,IACb,cAAc;AAAA,IACd,SAAS;AAAA,IACT,WAAW;AAAA,EACb;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,QAAQ;AAAA,QACN,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,WAAW;AAAA,MACb;AAAA,MACA,UAAU;AAAA,QACR,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,WAAW;AAAA,MACb;AAAA,MACA,SAAS;AAAA,QACP,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,WAAW;AAAA,MACb;AAAA,MACA,MAAM;AAAA,QACJ,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,QACF,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA,IAAI;AAAA,QACF,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,MACA,IAAI;AAAA,QACF,SAAS;AAAA,QACT,cAAc;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACF,CAAC;;;AC1DD,SAAS,gBAAAC,qBAAoB;AAKtB,IAAM,cAAcA,cAAa;AAAA,EACtC,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA,IACf,cAAc;AAAA,IACd,YAAY;AAAA,EACd;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,OAAO;AAAA,QACL,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,aAAa;AAAA,MACf;AAAA,MACA,SAAS;AAAA,QACP,iBAAiB;AAAA,QACjB,aAAa;AAAA,QACb,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,SAAS,CAAC;AAAA,MACV,WAAW,CAAC;AAAA,MACZ,QAAQ,CAAC;AAAA,MACT,SAAS,CAAC;AAAA,MACV,SAAS,CAAC;AAAA,MACV,OAAO,CAAC;AAAA,IACV;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,QACF,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,MACZ;AAAA,MACA,IAAI;AAAA,QACF,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,MACZ;AAAA,MACA,IAAI;AAAA,QACF,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA;AAAA,IAEhB;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,MACT;AAAA,IACF;AAAA;AAAA,IAEA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,iBAAiB;AAAA,QACjB,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA;AAAA,IAEA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IACA;AAAA,MACE,SAAS;AAAA,MACT,aAAa;AAAA,MACb,KAAK;AAAA,QACH,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,aAAa;AAAA,IACb,MAAM;AAAA,EACR;AACF,CAAC;;;ACnNM,IAAM,UAAU;AAAA,EACrB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AACT;;;AClBA,SAAS,wBAAwB;AAE1B,IAAM,kBAAkB,iBAAiB;AAAA,EAC9C,WAAW;AAAA,EACX,OAAO,CAAC,YAAY,SAAS,UAAU,SAAS,SAAS;AAAA,EACzD,MAAM;AAAA,IACJ,UAAU;AAAA,MACR,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,UAAU;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,IACA,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,YAAY;AAAA,IACd;AAAA,IACA,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,OAAO;AAAA,MACP,eAAe;AAAA,MACf,eAAe;AAAA,MACf,YAAY;AAAA,IACd;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,IACX;AAAA,EACF;AACF,CAAC;;;ACjDD,SAAS,oBAAAC,yBAAwB;AAE1B,IAAM,mBAAmBA,kBAAiB;AAAA,EAC/C,WAAW;AAAA,EACX,OAAO,CAAC,QAAQ,SAAS,WAAW,SAAS,WAAW;AAAA,EACxD,MAAM;AAAA,IACJ,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,UAAU;AAAA,MACV,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,OAAO;AAAA,MACP,eAAe;AAAA,MACf,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,YAAY;AAAA,IACd;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YACE;AAAA,MACF,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,UAAU;AAAA,QACR,aAAa;AAAA,QACb,YACE;AAAA,QACF,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,UAAU;AAAA,QACR,WAAW;AAAA,QACX,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;AC/DD,SAAS,oBAAAC,yBAAwB;AAE1B,IAAM,0BAA0BA,kBAAiB;AAAA,EACtD,OAAO,CAAC,WAAW,WAAW,SAAS,SAAS,SAAS,SAAS;AAAA,EAClE,MAAM;AAAA,IACJ,SAAS;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,SAAS;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,MACT,eAAe;AAAA,MACf,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,IACA,OAAO;AAAA,MACL,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,OAAO;AAAA,MACP,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,MACT,eAAe;AAAA,MACf,KAAK;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,MACT,eAAe;AAAA,MACf,KAAK;AAAA,IACP;AAAA,EACF;AACF,CAAC;;;AC5DD,SAAS,oBAAAC,yBAAwB;AAM1B,IAAM,sBAAsBA,kBAAiB;AAAA,EAClD,WAAW;AAAA,EACX,OAAO,CAAC,QAAQ,QAAQ,WAAW,QAAQ,SAAS;AAAA,EACpD,MAAM;AAAA,IACJ,MAAM;AAAA,MACJ,OAAO;AAAA,IACT;AAAA,IACA,MAAM;AAAA,MACJ,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,cAAc;AAAA,MACd,UAAU;AAAA,MACV,cAAc;AAAA,MAEd,OAAO;AAAA,QACL,cAAc;AAAA,MAChB;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,aAAa;AAAA,MACb,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,eAAe;AAAA,MACf,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,WAAW;AAAA,MAEX,QAAQ;AAAA,QACN,iBAAiB;AAAA,MACnB;AAAA,MAEA,WAAW;AAAA,QACT,mBAAmB;AAAA,QACnB,iBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,YAAY;AAAA,MACZ,OAAO;AAAA,MAEP,WAAW;AAAA,QACT,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,MACT,iBAAiB;AAAA,IACnB;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,QAAQ;AAAA,QACN,MAAM;AAAA,UACJ,aAAa;AAAA,QACf;AAAA,QACA,SAAS;AAAA,UACP,iBAAiB;AAAA,QACnB;AAAA,QACA,SAAS;AAAA,UACP,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,MACA,SAAS;AAAA,QACP,MAAM;AAAA,UACJ,aAAa;AAAA,QACf;AAAA,QACA,SAAS;AAAA,UACP,iBAAiB;AAAA,UACjB,QAAQ;AAAA,YACN,iBAAiB;AAAA,UACnB;AAAA,QACF;AAAA,QACA,SAAS;AAAA,UACP,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACL,MAAM;AAAA,UACJ,aAAa;AAAA,UACb,WAAW;AAAA,QACb;AAAA,QACA,SAAS;AAAA,UACP,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,QACrB;AAAA,QACA,SAAS;AAAA,UACP,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,QACF,SAAS;AAAA,UACP,SAAS;AAAA,UACT,UAAU;AAAA,QACZ;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,IAAI;AAAA,QACF,SAAS;AAAA,UACP,SAAS;AAAA,UACT,UAAU;AAAA,QACZ;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,IAAI;AAAA,QACF,SAAS;AAAA,UACP,SAAS;AAAA,UACT,UAAU;AAAA,QACZ;AAAA,QACA,SAAS;AAAA,UACP,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACF,CAAC;;;AC/ID,SAAS,oBAAAC,yBAAwB;AAM1B,IAAM,uBAAuBA,kBAAiB;AAAA,EACnD,WAAW;AAAA,EACX,OAAO,CAAC,QAAQ,SAAS,SAAS,QAAQ,aAAa,QAAQ,aAAa;AAAA,EAC5E,MAAM;AAAA,IACJ,MAAM;AAAA,MACJ,OAAO;AAAA,IACT;AAAA,IACA,OAAO;AAAA,MACL,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,eAAe;AAAA,MACf,eAAe;AAAA,MACf,cAAc;AAAA,IAChB;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,MACT,eAAe;AAAA,MACf,KAAK;AAAA,IACP;AAAA,IACA,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,KAAK;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,YAAY;AAAA,MAEZ,QAAQ;AAAA,QACN,aAAa;AAAA,QACb,iBAAiB;AAAA,MACnB;AAAA,MAEA,UAAU;AAAA,QACR,aAAa;AAAA,QACb,iBAAiB;AAAA,MACnB;AAAA,MAEA,WAAW;AAAA,QACT,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,UACN,aAAa;AAAA,UACb,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,YAAY;AAAA,MAEZ,UAAU;AAAA,QACR,aAAa;AAAA,QACb,iBAAiB;AAAA,QAEjB,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,SAAS;AAAA,UACT,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA,aAAa;AAAA,MACX,UAAU;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAM;AAAA,UACJ,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,UACJ,iBAAiB;AAAA,UACjB,QAAQ;AAAA,YACN,iBAAiB;AAAA,UACnB;AAAA,UACA,UAAU;AAAA,YACR,iBAAiB;AAAA,UACnB;AAAA,QACF;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACL,MAAM;AAAA,UACJ,SAAS;AAAA,UACT,cAAc;AAAA,UACd,WAAW;AAAA,UACX,UAAU;AAAA,YACR,WAAW;AAAA,UACb;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,UAAU;AAAA,QACR,OAAO;AAAA,UACL,eAAe;AAAA,QACjB;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV,OAAO;AAAA,UACL,eAAe;AAAA,UACf,UAAU;AAAA,QACZ;AAAA,QACA,MAAM;AAAA,UACJ,MAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,QACF,MAAM;AAAA,UACJ,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,YACR,QAAQ;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,UAAU;AAAA,QACZ;AAAA,QACA,aAAa;AAAA,UACX,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,MACA,IAAI;AAAA,QACF,MAAM;AAAA,UACJ,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,OAAO;AAAA,UACP,QAAQ;AAAA,QACV;AAAA,QACA,MAAM;AAAA,UACJ,UAAU;AAAA,QACZ;AAAA,QACA,aAAa;AAAA,UACX,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,MACA,IAAI;AAAA,QACF,MAAM;AAAA,UACJ,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,YACR,QAAQ;AAAA,cACN,OAAO;AAAA,cACP,QAAQ;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,UAAU;AAAA,QACZ;AAAA,QACA,aAAa;AAAA,UACX,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,aAAa;AAAA,IACb,MAAM;AAAA,EACR;AACF,CAAC;;;AC3MM,IAAM,cAAc;AAAA,EACzB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,WAAW;AAAA,EACX,YAAY;AACd;;;ACFO,SAAS,SAAS,KAAkD;AACzE,QAAM,SAAS,4CAA4C,KAAK,GAAG;AACnE,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,MAAM,sBAAsB,GAAG,EAAE;AAAA,EAC7C;AACA,SAAO;AAAA,IACL,GAAG,SAAS,OAAO,CAAC,GAAI,EAAE;AAAA,IAC1B,GAAG,SAAS,OAAO,CAAC,GAAI,EAAE;AAAA,IAC1B,GAAG,SAAS,OAAO,CAAC,GAAI,EAAE;AAAA,EAC5B;AACF;AAMO,SAAS,kBAAkB,GAAW,GAAW,GAAmB;AACzE,QAAM,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM;AACxC,UAAM,OAAO,IAAI;AACjB,WAAO,QAAQ,UACX,OAAO,QACP,KAAK,KAAK,OAAO,SAAS,OAAO,GAAG;AAAA,EAC1C,CAAC;AACD,SAAO,SAAS,KAAM,SAAS,KAAM,SAAS;AAChD;AAMO,SAAS,cAAc,QAAgB,QAAwB;AACpE,QAAM,OAAO,SAAS,MAAM;AAC5B,QAAM,OAAO,SAAS,MAAM;AAE5B,QAAM,KAAK,kBAAkB,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AACnD,QAAM,KAAK,kBAAkB,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEnD,QAAM,UAAU,KAAK,IAAI,IAAI,EAAE;AAC/B,QAAM,SAAS,KAAK,IAAI,IAAI,EAAE;AAE9B,UAAQ,UAAU,SAAS,SAAS;AACtC;AAKO,SAAS,oBAAoB,OAAuB;AACzD,SAAO,GAAG,MAAM,QAAQ,CAAC,CAAC;AAC5B;AAYO,SAAS,aAAa,OAAe,cAAc,OAAkB;AAC1E,MAAI,aAAa;AACf,QAAI,SAAS,IAAK,QAAO;AACzB,QAAI,SAAS,EAAG,QAAO;AACvB,WAAO;AAAA,EACT,OAAO;AACL,QAAI,SAAS,EAAG,QAAO;AACvB,QAAI,SAAS,IAAK,QAAO;AACzB,QAAI,SAAS,EAAG,QAAO;AACvB,WAAO;AAAA,EACT;AACF;AAKO,SAAS,mBAAmB,OAA0B;AAC3D,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,EACX;AACF;AAKO,SAAS,YAAY,OAAe,cAAc,OAAgB;AACvE,QAAM,QAAQ,aAAa,OAAO,WAAW;AAC7C,SAAO,UAAU,SAAS,UAAU;AACtC;AAaO,SAAS,iBACd,aACA,aACgB;AAChB,QAAM,QAAwB,CAAC;AAE/B,aAAW,CAAC,QAAQ,OAAO,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC3D,eAAW,CAAC,QAAQ,OAAO,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC3D,YAAM,QAAQ,cAAc,SAAS,OAAO;AAC5C,YAAM,KAAK;AAAA,QACT,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ;AAAA,QACA,OAAO,aAAa,KAAK;AAAA,MAC3B,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;;;A7BxFO,IAAM,SAAS,aAAa,eAAe;AAAA,EAChD,OAAO;AAAA,IACL,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AACF,CAAC;","names":["defineTokens","defineTokens","defineTokens","defineTokens","defineTokens","defineSemanticTokens","defineRecipe","defineRecipe","defineRecipe","defineRecipe","defineRecipe","defineRecipe","defineRecipe","defineSlotRecipe","defineSlotRecipe","defineSlotRecipe","defineSlotRecipe"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ebtgames/theme",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -26,6 +26,8 @@
26
26
  },
27
27
  "devDependencies": {
28
28
  "@chakra-ui/react": "^3.32.0",
29
+ "@storybook/addon-a11y": "^8.6.15",
30
+ "@storybook/addon-essentials": "^8.6.15",
29
31
  "@storybook/react": "^8.4.7",
30
32
  "@storybook/react-vite": "^8.4.7",
31
33
  "react": "^19.2.0",