{"version":3,"file":"index.cjs","sources":["../src/tokens/colors.ts","../src/tokens/typography.ts","../src/tokens/elevation.ts","../src/tokens/shape.ts","../src/tokens/motion.ts","../src/tokens/index.ts","../src/theme/light.ts","../src/theme/dark.ts","../src/theme/index.ts","../src/components/button/index.ts","../src/components/card/index.ts","../src/components/text-field/index.ts","../src/components/dialog/index.ts","../src/components/snackbar/index.ts","../src/components/checkbox/index.ts","../src/components/radio/index.ts","../src/components/switch/index.ts","../src/components/tabs/index.ts","../src/components/navigation-drawer/index.ts","../src/components/app-bar/index.ts","../src/components/list/index.ts","../src/components/chip/index.ts","../src/components/badge/index.ts","../src/components/progress/index.ts","../src/components/tooltip/index.ts","../src/components/bottom-sheet/index.ts","../src/components/menu/index.ts","../src/tailwind.config.ts","../src/plugin.ts","../src/components/button/styles.ts","../src/components/card/styles.ts","../src/components/text-field/styles.ts"],"sourcesContent":["/**\n * Material Design 3 Color Tokens\n * Based on https://m3.material.io/styles/color/the-color-system/key-colors-tones\n */\n\nexport interface ColorRole {\n  light: string;\n  dark: string;\n}\n\nexport interface ColorTokens {\n  // Primary colors\n  primary: ColorRole;\n  onPrimary: ColorRole;\n  primaryContainer: ColorRole;\n  onPrimaryContainer: ColorRole;\n  inversePrimary: ColorRole;\n\n  // Secondary colors\n  secondary: ColorRole;\n  onSecondary: ColorRole;\n  secondaryContainer: ColorRole;\n  onSecondaryContainer: ColorRole;\n\n  // Tertiary colors\n  tertiary: ColorRole;\n  onTertiary: ColorRole;\n  tertiaryContainer: ColorRole;\n  onTertiaryContainer: ColorRole;\n\n  // Error colors\n  error: ColorRole;\n  onError: ColorRole;\n  errorContainer: ColorRole;\n  onErrorContainer: ColorRole;\n\n  // Background colors\n  background: ColorRole;\n  onBackground: ColorRole;\n\n  // Surface colors\n  surface: ColorRole;\n  onSurface: ColorRole;\n  surfaceVariant: ColorRole;\n  onSurfaceVariant: ColorRole;\n  surfaceDim: ColorRole;\n  surfaceBright: ColorRole;\n  surfaceContainerLowest: ColorRole;\n  surfaceContainerLow: ColorRole;\n  surfaceContainer: ColorRole;\n  surfaceContainerHigh: ColorRole;\n  surfaceContainerHighest: ColorRole;\n\n  // Inverse colors\n  inverseSurface: ColorRole;\n  inverseOnSurface: ColorRole;\n\n  // Outline colors\n  outline: ColorRole;\n  outlineVariant: ColorRole;\n\n  // Shadow and scrim\n  shadow: ColorRole;\n  scrim: ColorRole;\n}\n\n/**\n * State layer opacity values based on Material 3\n * https://m3.material.io/foundations/interaction-states\n */\nexport const stateLayerOpacity = {\n  hover: 0.08,\n  focus: 0.12,\n  press: 0.12,\n  drag: 0.16,\n  disabled: 0.12,\n  disabledContainer: 0.12,\n} as const;\n\n/**\n * Default Material 3 color tokens\n * These can be overridden with custom colors via the theme configuration\n */\nexport const defaultColorTokens: ColorTokens = {\n  // Primary - Default to a green-ish teal (Material baseline)\n  primary: {\n    light: '#6750A4',\n    dark: '#D0BCFF',\n  },\n  onPrimary: {\n    light: '#FFFFFF',\n    dark: '#381E72',\n  },\n  primaryContainer: {\n    light: '#EADDFF',\n    dark: '#4F378B',\n  },\n  onPrimaryContainer: {\n    light: '#21005D',\n    dark: '#EADDFF',\n  },\n  inversePrimary: {\n    light: '#D0BCFF',\n    dark: '#6750A4',\n  },\n\n  // Secondary\n  secondary: {\n    light: '#625B71',\n    dark: '#CCC2DC',\n  },\n  onSecondary: {\n    light: '#FFFFFF',\n    dark: '#332D41',\n  },\n  secondaryContainer: {\n    light: '#E8DEF8',\n    dark: '#4A4458',\n  },\n  onSecondaryContainer: {\n    light: '#1D192B',\n    dark: '#E8DEF8',\n  },\n\n  // Tertiary\n  tertiary: {\n    light: '#7D5260',\n    dark: '#EFB8C8',\n  },\n  onTertiary: {\n    light: '#FFFFFF',\n    dark: '#492532',\n  },\n  tertiaryContainer: {\n    light: '#FFD8E4',\n    dark: '#633B48',\n  },\n  onTertiaryContainer: {\n    light: '#31111D',\n    dark: '#FFD8E4',\n  },\n\n  // Error\n  error: {\n    light: '#B3261E',\n    dark: '#F2B8B5',\n  },\n  onError: {\n    light: '#FFFFFF',\n    dark: '#601410',\n  },\n  errorContainer: {\n    light: '#F9DEDC',\n    dark: '#8C1D18',\n  },\n  onErrorContainer: {\n    light: '#410E0B',\n    dark: '#F9DEDC',\n  },\n\n  // Background\n  background: {\n    light: '#FFFBFE',\n    dark: '#1C1B1F',\n  },\n  onBackground: {\n    light: '#1C1B1F',\n    dark: '#E6E1E5',\n  },\n\n  // Surface\n  surface: {\n    light: '#FFFBFE',\n    dark: '#1C1B1F',\n  },\n  onSurface: {\n    light: '#1C1B1F',\n    dark: '#E6E1E5',\n  },\n  surfaceVariant: {\n    light: '#E7E0EC',\n    dark: '#49454F',\n  },\n  onSurfaceVariant: {\n    light: '#49454F',\n    dark: '#CAC4D0',\n  },\n  surfaceDim: {\n    light: '#DED8E1',\n    dark: '#1C1B1F',\n  },\n  surfaceBright: {\n    light: '#FFFBFE',\n    dark: '#3B383E',\n  },\n  surfaceContainerLowest: {\n    light: '#FFFFFF',\n    dark: '#0F0D13',\n  },\n  surfaceContainerLow: {\n    light: '#F7F2FA',\n    dark: '#1D1B20',\n  },\n  surfaceContainer: {\n    light: '#F3EDF7',\n    dark: '#211F26',\n  },\n  surfaceContainerHigh: {\n    light: '#ECE6F0',\n    dark: '#2B2930',\n  },\n  surfaceContainerHighest: {\n    light: '#E6E0E9',\n    dark: '#363439',\n  },\n\n  // Inverse\n  inverseSurface: {\n    light: '#313033',\n    dark: '#E6E1E5',\n  },\n  inverseOnSurface: {\n    light: '#F4EFF4',\n    dark: '#1C1B1F',\n  },\n\n  // Outline\n  outline: {\n    light: '#79747E',\n    dark: '#938F99',\n  },\n  outlineVariant: {\n    light: '#CAC4D0',\n    dark: '#49454F',\n  },\n\n  // Shadow and Scrim\n  shadow: {\n    light: '#000000',\n    dark: '#000000',\n  },\n  scrim: {\n    light: '#000000',\n    dark: '#000000',\n  },\n};\n\n/**\n * Helper to get state layer color with opacity\n * @param baseColor - The base color (e.g., '#6750A4')\n * @param state - The interaction state\n * @returns RGBA color string\n */\nexport function getStateLayerColor(\n  baseColor: string,\n  state: keyof typeof stateLayerOpacity\n): string {\n  const opacity = stateLayerOpacity[state];\n  // Convert hex to RGB and add alpha\n  const hex = baseColor.replace('#', '');\n  const r = parseInt(hex.substring(0, 2), 16);\n  const g = parseInt(hex.substring(2, 4), 16);\n  const b = parseInt(hex.substring(4, 6), 16);\n  return `rgba(${r}, ${g}, ${b}, ${opacity})`;\n}\n\nexport default defaultColorTokens;\n","/**\n * Material Design 3 Typography Tokens\n * Based on https://m3.material.io/styles/typography/type-scale-tokens\n */\n\nexport interface TypeScale {\n  fontFamily: string;\n  fontSize: string;\n  fontWeight: number;\n  lineHeight: string;\n  letterSpacing: string;\n}\n\nexport interface TypographyTokens {\n  // Display styles - largest text\n  displayLarge: TypeScale;\n  displayMedium: TypeScale;\n  displaySmall: TypeScale;\n\n  // Headline styles\n  headlineLarge: TypeScale;\n  headlineMedium: TypeScale;\n  headlineSmall: TypeScale;\n\n  // Title styles\n  titleLarge: TypeScale;\n  titleMedium: TypeScale;\n  titleSmall: TypeScale;\n\n  // Body styles\n  bodyLarge: TypeScale;\n  bodyMedium: TypeScale;\n  bodySmall: TypeScale;\n\n  // Label styles\n  labelLarge: TypeScale;\n  labelMedium: TypeScale;\n  labelSmall: TypeScale;\n}\n\n/**\n * Font family tokens\n * Default to Roboto (Material's recommended font)\n * Can be overridden in theme configuration\n */\nexport const fontFamilies = {\n  brand: '\"Roboto\", sans-serif',\n  plain: 'system-ui, sans-serif',\n  monospace: '\"Roboto Mono\", monospace',\n} as const;\n\n/**\n * Default Material 3 typography tokens\n * Using Roboto font family with Material's recommended type scale\n */\nexport const defaultTypographyTokens: TypographyTokens = {\n  // Display - Reserved for short, important text or numerals\n  displayLarge: {\n    fontFamily: fontFamilies.brand,\n    fontSize: '57px',\n    fontWeight: 400,\n    lineHeight: '64px',\n    letterSpacing: '-0.25px',\n  },\n  displayMedium: {\n    fontFamily: fontFamilies.brand,\n    fontSize: '45px',\n    fontWeight: 400,\n    lineHeight: '52px',\n    letterSpacing: '0px',\n  },\n  displaySmall: {\n    fontFamily: fontFamilies.brand,\n    fontSize: '36px',\n    fontWeight: 400,\n    lineHeight: '44px',\n    letterSpacing: '0px',\n  },\n\n  // Headline - For high-emphasis text\n  headlineLarge: {\n    fontFamily: fontFamilies.brand,\n    fontSize: '32px',\n    fontWeight: 400,\n    lineHeight: '40px',\n    letterSpacing: '0px',\n  },\n  headlineMedium: {\n    fontFamily: fontFamilies.brand,\n    fontSize: '28px',\n    fontWeight: 400,\n    lineHeight: '36px',\n    letterSpacing: '0px',\n  },\n  headlineSmall: {\n    fontFamily: fontFamilies.brand,\n    fontSize: '24px',\n    fontWeight: 400,\n    lineHeight: '32px',\n    letterSpacing: '0px',\n  },\n\n  // Title - For medium-emphasis text\n  titleLarge: {\n    fontFamily: fontFamilies.brand,\n    fontSize: '22px',\n    fontWeight: 400,\n    lineHeight: '28px',\n    letterSpacing: '0px',\n  },\n  titleMedium: {\n    fontFamily: fontFamilies.brand,\n    fontSize: '16px',\n    fontWeight: 500,\n    lineHeight: '24px',\n    letterSpacing: '0.15px',\n  },\n  titleSmall: {\n    fontFamily: fontFamilies.brand,\n    fontSize: '14px',\n    fontWeight: 500,\n    lineHeight: '20px',\n    letterSpacing: '0.1px',\n  },\n\n  // Body - For body text\n  bodyLarge: {\n    fontFamily: fontFamilies.plain,\n    fontSize: '16px',\n    fontWeight: 400,\n    lineHeight: '24px',\n    letterSpacing: '0.5px',\n  },\n  bodyMedium: {\n    fontFamily: fontFamilies.plain,\n    fontSize: '14px',\n    fontWeight: 400,\n    lineHeight: '20px',\n    letterSpacing: '0.25px',\n  },\n  bodySmall: {\n    fontFamily: fontFamilies.plain,\n    fontSize: '12px',\n    fontWeight: 400,\n    lineHeight: '16px',\n    letterSpacing: '0.4px',\n  },\n\n  // Label - For labels and helper text\n  labelLarge: {\n    fontFamily: fontFamilies.plain,\n    fontSize: '14px',\n    fontWeight: 500,\n    lineHeight: '20px',\n    letterSpacing: '0.1px',\n  },\n  labelMedium: {\n    fontFamily: fontFamilies.plain,\n    fontSize: '12px',\n    fontWeight: 500,\n    lineHeight: '16px',\n    letterSpacing: '0.5px',\n  },\n  labelSmall: {\n    fontFamily: fontFamilies.plain,\n    fontSize: '11px',\n    fontWeight: 500,\n    lineHeight: '16px',\n    letterSpacing: '0.5px',\n  },\n};\n\n/**\n * Helper to convert TypeScale to Tailwind CSS classes\n */\nexport function typeScaleToTailwind(scale: TypeScale): Record<string, string> {\n  return {\n    fontFamily: scale.fontFamily,\n    fontSize: scale.fontSize,\n    fontWeight: scale.fontWeight.toString(),\n    lineHeight: scale.lineHeight,\n    letterSpacing: scale.letterSpacing,\n  };\n}\n\nexport default defaultTypographyTokens;\n","/**\n * Material Design 3 Elevation Tokens\n * Based on https://m3.material.io/styles/elevation/overview\n */\n\nexport interface ElevationLevel {\n  boxShadow: string;\n  surfaceTintOpacity?: number; // For dark theme surface tint\n}\n\nexport interface ElevationTokens {\n  level0: ElevationLevel;\n  level1: ElevationLevel;\n  level2: ElevationLevel;\n  level3: ElevationLevel;\n  level4: ElevationLevel;\n  level5: ElevationLevel;\n}\n\n/**\n * Material 3 elevation shadows (light theme)\n * Using a combination of key shadow and ambient shadow\n */\nexport const lightElevation: ElevationTokens = {\n  level0: {\n    boxShadow: 'none',\n    surfaceTintOpacity: 0,\n  },\n  level1: {\n    boxShadow: '0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15)',\n    surfaceTintOpacity: 0.05,\n  },\n  level2: {\n    boxShadow: '0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15)',\n    surfaceTintOpacity: 0.08,\n  },\n  level3: {\n    boxShadow: '0px 1px 3px 0px rgba(0, 0, 0, 0.3), 0px 4px 8px 3px rgba(0, 0, 0, 0.15)',\n    surfaceTintOpacity: 0.11,\n  },\n  level4: {\n    boxShadow: '0px 2px 3px 0px rgba(0, 0, 0, 0.3), 0px 6px 10px 4px rgba(0, 0, 0, 0.15)',\n    surfaceTintOpacity: 0.12,\n  },\n  level5: {\n    boxShadow: '0px 4px 4px 0px rgba(0, 0, 0, 0.3), 0px 8px 12px 6px rgba(0, 0, 0, 0.15)',\n    surfaceTintOpacity: 0.14,\n  },\n};\n\n/**\n * Material 3 elevation shadows (dark theme)\n * Shadows are less prominent in dark mode, rely more on surface tint\n */\nexport const darkElevation: ElevationTokens = {\n  level0: {\n    boxShadow: 'none',\n    surfaceTintOpacity: 0,\n  },\n  level1: {\n    boxShadow: '0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15)',\n    surfaceTintOpacity: 0.05,\n  },\n  level2: {\n    boxShadow: '0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15)',\n    surfaceTintOpacity: 0.08,\n  },\n  level3: {\n    boxShadow: '0px 1px 3px 0px rgba(0, 0, 0, 0.3), 0px 4px 8px 3px rgba(0, 0, 0, 0.15)',\n    surfaceTintOpacity: 0.11,\n  },\n  level4: {\n    boxShadow: '0px 2px 3px 0px rgba(0, 0, 0, 0.3), 0px 6px 10px 4px rgba(0, 0, 0, 0.15)',\n    surfaceTintOpacity: 0.12,\n  },\n  level5: {\n    boxShadow: '0px 4px 4px 0px rgba(0, 0, 0, 0.3), 0px 8px 12px 6px rgba(0, 0, 0, 0.15)',\n    surfaceTintOpacity: 0.14,\n  },\n};\n\n/**\n * Surface container elevation mapping\n * Based on Material 3 surface container levels\n */\nexport const surfaceContainerElevation = {\n  lowest: 'level0',\n  low: 'level1',\n  default: 'level2',\n  high: 'level3',\n  highest: 'level4',\n} as const;\n\n/**\n * Component elevation defaults\n * Default elevation levels for common components\n */\nexport const componentElevation = {\n  card: {\n    elevated: 'level1',\n    filled: 'level0',\n    outlined: 'level0',\n  },\n  button: {\n    elevated: 'level1',\n    filled: 'level0',\n    outlined: 'level0',\n    text: 'level0',\n  },\n  fab: 'level3',\n  dialog: 'level3',\n  bottomSheet: 'level1',\n  navigationDrawer: 'level0',\n  menu: 'level2',\n  snackbar: 'level3',\n} as const;\n\nexport default {\n  light: lightElevation,\n  dark: darkElevation,\n  surface: surfaceContainerElevation,\n  component: componentElevation,\n};\n","/**\n * Material Design 3 Shape Tokens\n * Based on https://m3.material.io/styles/shape/shape-scale-tokens\n */\n\nexport interface ShapeTokens {\n  none: string;\n  extraSmall: string;\n  extraSmallTop: string;\n  small: string;\n  medium: string;\n  large: string;\n  largeEnd: string;\n  largeTop: string;\n  extraLarge: string;\n  extraLargeTop: string;\n  full: string;\n}\n\n/**\n * Material 3 shape scale\n * Default corner radius values\n */\nexport const defaultShapeTokens: ShapeTokens = {\n  none: '0px',\n  extraSmall: '4px',\n  extraSmallTop: '4px 4px 0px 0px', // Only top corners rounded\n  small: '8px',\n  medium: '12px',\n  large: '16px',\n  largeEnd: '0px 16px 16px 0px', // Only end (right in LTR) corners rounded\n  largeTop: '16px 16px 0px 0px', // Only top corners rounded\n  extraLarge: '28px',\n  extraLargeTop: '28px 28px 0px 0px', // Only top corners rounded\n  full: '9999px', // Fully rounded (pill shape)\n};\n\n/**\n * Component shape defaults\n * Recommended shapes for common components based on Material 3\n */\nexport const componentShapes = {\n  // Buttons\n  button: {\n    filled: 'full',\n    outlined: 'full',\n    text: 'full',\n    elevated: 'full',\n    tonal: 'full',\n  },\n  fab: {\n    small: 'medium',\n    default: 'large',\n    large: 'extraLarge',\n    extended: 'large',\n  },\n\n  // Cards\n  card: {\n    elevated: 'medium',\n    filled: 'medium',\n    outlined: 'medium',\n  },\n\n  // Input fields\n  textField: {\n    filled: 'extraSmallTop',\n    outlined: 'extraSmall',\n  },\n\n  // Dialogs and sheets\n  dialog: 'extraLarge',\n  bottomSheet: 'extraLargeTop',\n\n  // Navigation\n  navigationDrawer: 'largeEnd',\n  navigationRail: 'none',\n  navigationBar: 'none',\n\n  // Other components\n  chip: {\n    assist: 'small',\n    filter: 'small',\n    input: 'small',\n    suggestion: 'small',\n  },\n  snackbar: 'extraSmall',\n  tooltip: 'extraSmall',\n  menu: 'extraSmall',\n  badge: 'full',\n\n  // Checkboxes and radios\n  checkbox: 'extraSmall',\n  radio: 'full',\n  switch: {\n    track: 'full',\n    handle: 'full',\n  },\n} as const;\n\n/**\n * Helper to get border radius value\n * @param shape - Shape token key or custom value\n * @returns Border radius CSS value\n */\nexport function getBorderRadius(shape: keyof ShapeTokens): string {\n  if (shape in defaultShapeTokens) {\n    return defaultShapeTokens[shape as keyof ShapeTokens];\n  }\n  return shape;\n}\n\nexport default {\n  tokens: defaultShapeTokens,\n  components: componentShapes,\n};\n","/**\n * Material Design 3 Motion Tokens\n * Based on https://m3.material.io/styles/motion/easing-and-duration/tokens-specs\n */\n\nexport interface EasingTokens {\n  standard: string;\n  standardAccelerate: string;\n  standardDecelerate: string;\n  emphasized: string;\n  emphasizedAccelerate: string;\n  emphasizedDecelerate: string;\n  legacy: string;\n  legacyAccelerate: string;\n  legacyDecelerate: string;\n}\n\nexport interface DurationTokens {\n  short1: string;\n  short2: string;\n  short3: string;\n  short4: string;\n  medium1: string;\n  medium2: string;\n  medium3: string;\n  medium4: string;\n  long1: string;\n  long2: string;\n  long3: string;\n  long4: string;\n  extraLong1: string;\n  extraLong2: string;\n  extraLong3: string;\n  extraLong4: string;\n}\n\n/**\n * Material 3 easing curves\n * Cubic-bezier functions for smooth, natural motion\n */\nexport const easingTokens: EasingTokens = {\n  // Standard easing - For most transitions\n  standard: 'cubic-bezier(0.2, 0, 0, 1)',\n  standardAccelerate: 'cubic-bezier(0.3, 0, 1, 1)',\n  standardDecelerate: 'cubic-bezier(0, 0, 0, 1)',\n\n  // Emphasized easing - For important or complex transitions\n  emphasized: 'cubic-bezier(0.2, 0, 0, 1)',\n  emphasizedAccelerate: 'cubic-bezier(0.3, 0, 0.8, 0.15)',\n  emphasizedDecelerate: 'cubic-bezier(0.05, 0.7, 0.1, 1)',\n\n  // Legacy easing - For backwards compatibility\n  legacy: 'cubic-bezier(0.4, 0, 0.2, 1)',\n  legacyAccelerate: 'cubic-bezier(0.4, 0, 1, 1)',\n  legacyDecelerate: 'cubic-bezier(0, 0, 0.2, 1)',\n};\n\n/**\n * Material 3 duration scale\n * Time values for different types of transitions\n */\nexport const durationTokens: DurationTokens = {\n  // Short - Small component transitions (50-150ms)\n  short1: '50ms',\n  short2: '100ms',\n  short3: '150ms',\n  short4: '200ms',\n\n  // Medium - Most transitions (200-400ms)\n  medium1: '250ms',\n  medium2: '300ms',\n  medium3: '350ms',\n  medium4: '400ms',\n\n  // Long - Complex transitions (400-700ms)\n  long1: '450ms',\n  long2: '500ms',\n  long3: '550ms',\n  long4: '600ms',\n\n  // Extra long - Large area transitions (700-1000ms)\n  extraLong1: '700ms',\n  extraLong2: '800ms',\n  extraLong3: '900ms',\n  extraLong4: '1000ms',\n};\n\n/**\n * Component motion defaults\n * Recommended durations and easings for common components\n */\nexport const componentMotion = {\n  // Simple state changes\n  stateLayer: {\n    duration: durationTokens.short1,\n    easing: easingTokens.standard,\n  },\n\n  // Buttons\n  button: {\n    duration: durationTokens.short2,\n    easing: easingTokens.standard,\n  },\n\n  // Dialogs and sheets\n  dialog: {\n    enter: {\n      duration: durationTokens.medium2,\n      easing: easingTokens.emphasizedDecelerate,\n    },\n    exit: {\n      duration: durationTokens.short4,\n      easing: easingTokens.emphasizedAccelerate,\n    },\n  },\n  bottomSheet: {\n    enter: {\n      duration: durationTokens.medium4,\n      easing: easingTokens.emphasizedDecelerate,\n    },\n    exit: {\n      duration: durationTokens.medium2,\n      easing: easingTokens.emphasizedAccelerate,\n    },\n  },\n\n  // Navigation\n  navigationDrawer: {\n    enter: {\n      duration: durationTokens.medium4,\n      easing: easingTokens.emphasizedDecelerate,\n    },\n    exit: {\n      duration: durationTokens.medium2,\n      easing: easingTokens.emphasizedAccelerate,\n    },\n  },\n\n  // Cards and surfaces\n  card: {\n    duration: durationTokens.short3,\n    easing: easingTokens.standard,\n  },\n\n  // Snackbar\n  snackbar: {\n    enter: {\n      duration: durationTokens.medium2,\n      easing: easingTokens.standard,\n    },\n    exit: {\n      duration: durationTokens.short4,\n      easing: easingTokens.standardAccelerate,\n    },\n  },\n\n  // FAB\n  fab: {\n    duration: durationTokens.short2,\n    easing: easingTokens.standard,\n  },\n\n  // Menu\n  menu: {\n    enter: {\n      duration: durationTokens.medium1,\n      easing: easingTokens.emphasizedDecelerate,\n    },\n    exit: {\n      duration: durationTokens.short3,\n      easing: easingTokens.emphasizedAccelerate,\n    },\n  },\n\n  // Tooltip\n  tooltip: {\n    enter: {\n      duration: durationTokens.short4,\n      easing: easingTokens.standard,\n    },\n    exit: {\n      duration: durationTokens.short2,\n      easing: easingTokens.standard,\n    },\n  },\n} as const;\n\n/**\n * Helper to create transition CSS\n * @param properties - CSS properties to transition\n * @param duration - Duration token or custom value\n * @param easing - Easing token or custom value\n * @returns CSS transition value\n */\nexport function createTransition(\n  properties: string | string[],\n  duration: keyof DurationTokens | number = 'short2',\n  easing: keyof EasingTokens = 'standard'\n): string {\n  const props = Array.isArray(properties) ? properties : [properties];\n  const durationValue =\n    duration in durationTokens ? durationTokens[duration as keyof DurationTokens] : duration;\n  const easingValue = easing in easingTokens ? easingTokens[easing as keyof EasingTokens] : easing;\n\n  return props.map((prop) => `${prop} ${durationValue} ${easingValue}`).join(', ');\n}\n\nexport default {\n  easing: easingTokens,\n  duration: durationTokens,\n  components: componentMotion,\n};\n","/**\n * Material Design 3 Design Tokens\n * Central export point for all design tokens\n */\n\nexport * from './colors';\nexport * from './typography';\nexport * from './elevation';\nexport * from './shape';\nexport * from './motion';\n\nimport colorTokens from './colors';\nimport typographyTokens from './typography';\nimport elevationTokens from './elevation';\nimport shapeTokens from './shape';\nimport motionTokens from './motion';\n\n/**\n * Complete Material 3 design system tokens\n */\nexport const tokens = {\n  color: colorTokens,\n  typography: typographyTokens,\n  elevation: elevationTokens,\n  shape: shapeTokens,\n  motion: motionTokens,\n};\n\nexport default tokens;\n","/**\n * Material Design 3 Light Theme\n */\n\nimport { defaultColorTokens, type ColorTokens } from '../tokens/colors';\n\nexport interface ThemeColors {\n  // Primary\n  'md-primary': string;\n  'md-on-primary': string;\n  'md-primary-container': string;\n  'md-on-primary-container': string;\n  'md-inverse-primary': string;\n\n  // Secondary\n  'md-secondary': string;\n  'md-on-secondary': string;\n  'md-secondary-container': string;\n  'md-on-secondary-container': string;\n\n  // Tertiary\n  'md-tertiary': string;\n  'md-on-tertiary': string;\n  'md-tertiary-container': string;\n  'md-on-tertiary-container': string;\n\n  // Error\n  'md-error': string;\n  'md-on-error': string;\n  'md-error-container': string;\n  'md-on-error-container': string;\n\n  // Background\n  'md-background': string;\n  'md-on-background': string;\n\n  // Surface\n  'md-surface': string;\n  'md-on-surface': string;\n  'md-surface-variant': string;\n  'md-on-surface-variant': string;\n  'md-surface-dim': string;\n  'md-surface-bright': string;\n  'md-surface-container-lowest': string;\n  'md-surface-container-low': string;\n  'md-surface-container': string;\n  'md-surface-container-high': string;\n  'md-surface-container-highest': string;\n\n  // Inverse\n  'md-inverse-surface': string;\n  'md-inverse-on-surface': string;\n\n  // Outline\n  'md-outline': string;\n  'md-outline-variant': string;\n\n  // Shadow and Scrim\n  'md-shadow': string;\n  'md-scrim': string;\n}\n\n/**\n * Generate light theme colors from color tokens\n * @param tokens - Custom color tokens (optional, defaults to Material baseline)\n * @returns Tailwind-compatible color object for light theme\n */\nexport function getLightThemeColors(tokens: ColorTokens = defaultColorTokens): ThemeColors {\n  return {\n    'md-primary': tokens.primary.light,\n    'md-on-primary': tokens.onPrimary.light,\n    'md-primary-container': tokens.primaryContainer.light,\n    'md-on-primary-container': tokens.onPrimaryContainer.light,\n    'md-inverse-primary': tokens.inversePrimary.light,\n\n    'md-secondary': tokens.secondary.light,\n    'md-on-secondary': tokens.onSecondary.light,\n    'md-secondary-container': tokens.secondaryContainer.light,\n    'md-on-secondary-container': tokens.onSecondaryContainer.light,\n\n    'md-tertiary': tokens.tertiary.light,\n    'md-on-tertiary': tokens.onTertiary.light,\n    'md-tertiary-container': tokens.tertiaryContainer.light,\n    'md-on-tertiary-container': tokens.onTertiaryContainer.light,\n\n    'md-error': tokens.error.light,\n    'md-on-error': tokens.onError.light,\n    'md-error-container': tokens.errorContainer.light,\n    'md-on-error-container': tokens.onErrorContainer.light,\n\n    'md-background': tokens.background.light,\n    'md-on-background': tokens.onBackground.light,\n\n    'md-surface': tokens.surface.light,\n    'md-on-surface': tokens.onSurface.light,\n    'md-surface-variant': tokens.surfaceVariant.light,\n    'md-on-surface-variant': tokens.onSurfaceVariant.light,\n    'md-surface-dim': tokens.surfaceDim.light,\n    'md-surface-bright': tokens.surfaceBright.light,\n    'md-surface-container-lowest': tokens.surfaceContainerLowest.light,\n    'md-surface-container-low': tokens.surfaceContainerLow.light,\n    'md-surface-container': tokens.surfaceContainer.light,\n    'md-surface-container-high': tokens.surfaceContainerHigh.light,\n    'md-surface-container-highest': tokens.surfaceContainerHighest.light,\n\n    'md-inverse-surface': tokens.inverseSurface.light,\n    'md-inverse-on-surface': tokens.inverseOnSurface.light,\n\n    'md-outline': tokens.outline.light,\n    'md-outline-variant': tokens.outlineVariant.light,\n\n    'md-shadow': tokens.shadow.light,\n    'md-scrim': tokens.scrim.light,\n  };\n}\n\nexport default getLightThemeColors();\n","/**\n * Material Design 3 Dark Theme\n */\n\nimport { defaultColorTokens, type ColorTokens } from '../tokens/colors';\nimport type { ThemeColors } from './light';\n\n/**\n * Generate dark theme colors from color tokens\n * @param tokens - Custom color tokens (optional, defaults to Material baseline)\n * @returns Tailwind-compatible color object for dark theme\n */\nexport function getDarkThemeColors(tokens: ColorTokens = defaultColorTokens): ThemeColors {\n  return {\n    'md-primary': tokens.primary.dark,\n    'md-on-primary': tokens.onPrimary.dark,\n    'md-primary-container': tokens.primaryContainer.dark,\n    'md-on-primary-container': tokens.onPrimaryContainer.dark,\n    'md-inverse-primary': tokens.inversePrimary.dark,\n\n    'md-secondary': tokens.secondary.dark,\n    'md-on-secondary': tokens.onSecondary.dark,\n    'md-secondary-container': tokens.secondaryContainer.dark,\n    'md-on-secondary-container': tokens.onSecondaryContainer.dark,\n\n    'md-tertiary': tokens.tertiary.dark,\n    'md-on-tertiary': tokens.onTertiary.dark,\n    'md-tertiary-container': tokens.tertiaryContainer.dark,\n    'md-on-tertiary-container': tokens.onTertiaryContainer.dark,\n\n    'md-error': tokens.error.dark,\n    'md-on-error': tokens.onError.dark,\n    'md-error-container': tokens.errorContainer.dark,\n    'md-on-error-container': tokens.onErrorContainer.dark,\n\n    'md-background': tokens.background.dark,\n    'md-on-background': tokens.onBackground.dark,\n\n    'md-surface': tokens.surface.dark,\n    'md-on-surface': tokens.onSurface.dark,\n    'md-surface-variant': tokens.surfaceVariant.dark,\n    'md-on-surface-variant': tokens.onSurfaceVariant.dark,\n    'md-surface-dim': tokens.surfaceDim.dark,\n    'md-surface-bright': tokens.surfaceBright.dark,\n    'md-surface-container-lowest': tokens.surfaceContainerLowest.dark,\n    'md-surface-container-low': tokens.surfaceContainerLow.dark,\n    'md-surface-container': tokens.surfaceContainer.dark,\n    'md-surface-container-high': tokens.surfaceContainerHigh.dark,\n    'md-surface-container-highest': tokens.surfaceContainerHighest.dark,\n\n    'md-inverse-surface': tokens.inverseSurface.dark,\n    'md-inverse-on-surface': tokens.inverseOnSurface.dark,\n\n    'md-outline': tokens.outline.dark,\n    'md-outline-variant': tokens.outlineVariant.dark,\n\n    'md-shadow': tokens.shadow.dark,\n    'md-scrim': tokens.scrim.dark,\n  };\n}\n\nexport default getDarkThemeColors();\n","/**\n * Material Design 3 Theme Utilities\n * Central export for theme configuration\n */\n\nexport * from './light';\nexport * from './dark';\n\nimport lightTheme, { getLightThemeColors } from './light';\nimport darkTheme, { getDarkThemeColors } from './dark';\n\n/**\n * Complete Material 3 theme configuration\n */\nexport const theme = {\n  light: lightTheme,\n  dark: darkTheme,\n  getLightThemeColors,\n  getDarkThemeColors,\n};\n\nexport default theme;\n","/**\n * Material Design 3 Button Component - Tailwind Plugin\n * Generates utility classes for Material 3 buttons\n */\n\nimport plugin from 'tailwindcss/plugin';\n\n/**\n * Button plugin for Tailwind CSS\n * Adds Material 3 button component classes\n */\nexport const buttonPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n  // Standard Buttons\n  const buttons = {\n    '.md-btn': {\n      '@apply inline-flex items-center justify-center gap-2 font-medium': {},\n      '@apply transition-all duration-md-short-2 ease-md-standard': {},\n      '@apply cursor-pointer select-none outline-none relative overflow-hidden': {},\n      '&:before': {\n        content: '\"\"',\n        '@apply absolute inset-0 opacity-0 bg-current transition-opacity': {},\n      },\n      '&:hover:not(:disabled):before': {\n        '@apply opacity-[0.08]': {},\n      },\n      '&:focus-visible:not(:disabled)': {\n        '@apply ring-2 ring-md-primary ring-offset-2': {},\n        '&:before': {\n          '@apply opacity-[0.12]': {},\n        },\n      },\n      '&:active:not(:disabled):before': {\n        '@ apply opacity-[0.12]': {},\n      },\n      '&:disabled': {\n        '@apply opacity-38 cursor-not-allowed shadow-none': {},\n      },\n    },\n\n    // Filled Button\n    '.md-btn-filled': {\n      '@apply bg-md-primary text-md-on-primary rounded-md-full px-6 py-2.5': {},\n      '@apply shadow-md-0 hover:shadow-md-1 active:shadow-md-0': {},\n    },\n\n    // Outlined Button\n    '.md-btn-outlined': {\n      '@apply bg-transparent text-md-primary border border-md-outline rounded-md-full px-6 py-2.5':\n        {},\n    },\n\n    // Text Button\n    '.md-btn-text': {\n      '@apply bg-transparent text-md-primary rounded-md-full px-6 py-2.5': {},\n    },\n\n    // Elevated Button\n    '.md-btn-elevated': {\n      '@apply bg-md-surface-container-low text-md-primary rounded-md-full px-6 py-2.5': {},\n      '@apply shadow-md-1 hover:shadow-md-2 active:shadow-md-1': {},\n    },\n\n    // Tonal Button\n    '.md-btn-tonal': {\n      '@apply bg-md-secondary-container text-md-on-secondary-container rounded-md-full px-6 py-2.5':\n        {},\n    },\n\n    // Color variants\n    '.md-btn-primary.md-btn-filled': {\n      '@apply bg-md-primary text-md-on-primary': {},\n    },\n    '.md-btn-primary.md-btn-tonal': {\n      '@apply bg-md-primary-container text-md-on-primary-container': {},\n    },\n    '.md-btn-secondary.md-btn-filled': {\n      '@apply bg-md-secondary text-md-on-secondary': {},\n    },\n    '.md-btn-secondary.md-btn-tonal': {\n      '@apply bg-md-secondary-container text-md-on-secondary-container': {},\n    },\n    '.md-btn-tertiary.md-btn-filled': {\n      '@apply bg-md-tertiary text-md-on-tertiary': {},\n    },\n    '.md-btn-tertiary.md-btn-tonal': {\n      '@apply bg-md-tertiary-container text-md-on-tertiary-container': {},\n    },\n    '.md-btn-error.md-btn-filled': {\n      '@apply bg-md-error text-md-on-error': {},\n    },\n    '.md-btn-error.md-btn-tonal': {\n      '@apply bg-md-error-container text-md-on-error-container': {},\n    },\n\n    // FAB (Floating Action Button)\n    '.md-fab': {\n      '@apply inline-flex items-center justify-center font-medium': {},\n      '@apply transition-all duration-md-short-2 ease-md-standard': {},\n      '@apply cursor-pointer select-none outline-none relative overflow-hidden': {},\n      '@apply shadow-md-3 hover:shadow-md-4 active:shadow-md-3': {},\n      '&:before': {\n        content: '\"\"',\n        '@apply absolute inset-0 opacity-0 bg-current transition-opacity': {},\n      },\n      '&:hover:before': {\n        '@apply opacity-[0.08]': {},\n      },\n    },\n\n    '.md-fab-small': {\n      '@apply w-10 h-10 rounded-md-md': {},\n    },\n    '.md-fab-medium': {\n      '@apply w-14 h-14 rounded-md-lg': {},\n    },\n    '.md-fab-large': {\n      '@apply w-24 h-24 rounded-md-xl gap-3 px-8': {},\n    },\n\n    '.md-fab-surface': {\n      '@apply bg-md-surface-container-high text-md-primary': {},\n    },\n    '.md-fab-primary': {\n      '@apply bg-md-primary-container text-md-on-primary-container': {},\n    },\n    '.md-fab-secondary': {\n      '@apply bg-md-secondary-container text-md-on-secondary-container': {},\n    },\n    '.md-fab-tertiary': {\n      '@apply bg-md-tertiary-container text-md-on-tertiary-container': {},\n    },\n\n    // Icon Button\n    '.md-icon-btn': {\n      '@apply inline-flex items-center justify-center w-10 h-10 rounded-md-full': {},\n      '@apply transition-all duration-md-short-2 ease-md-standard': {},\n      '@apply cursor-pointer select-none outline-none relative overflow-hidden': {},\n      '&:before': {\n        content: '\"\"',\n        '@apply absolute inset-0 opacity-0 bg-current transition-opacity': {},\n      },\n      '&:hover:before': {\n        '@apply opacity-[0.08]': {},\n      },\n    },\n\n    '.md-icon-btn-standard': {\n      '@apply bg-transparent text-md-on-surface-variant': {},\n    },\n    '.md-icon-btn-filled': {\n      '@apply bg-md-primary text-md-on-primary': {},\n    },\n    '.md-icon-btn-tonal': {\n      '@apply bg-md-secondary-container text-md-on-secondary-container': {},\n    },\n    '.md-icon-btn-outlined': {\n      '@apply bg-transparent text-md-on-surface-variant border border-md-outline': {},\n    },\n  };\n\n  addComponents(buttons);\n});\n\nexport default buttonPlugin;\n","/**\n * Material Design 3 Card Component - Tailwind Plugin\n * Generates utility classes for Material 3 cards\n */\n\nimport plugin from 'tailwindcss/plugin';\n\n/**\n * Card plugin for Tailwind CSS\n * Adds Material 3 card component classes\n */\nexport const cardPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n  const cards = {\n    '.md-card': {\n      '@apply block rounded-md-md transition-all duration-md-short-2 ease-md-standard relative overflow-hidden':\n        {},\n    },\n\n    // Elevated Card\n    '.md-card-elevated': {\n      '@apply bg-md-surface-container-low text-md-on-surface shadow-md-1 hover:shadow-md-2': {},\n    },\n\n    // Filled Card\n    '.md-card-filled': {\n      '@apply bg-md-surface-container-highest text-md-on-surface': {},\n    },\n\n    // Outlined Card\n    '.md-card-outlined': {\n      '@apply bg-md-surface text-md-on-surface border border-md-outline-variant': {},\n    },\n\n    // Padding variants\n    '.md-card-padding-none': {\n      '@apply p-0': {},\n    },\n    '.md-card-padding-sm': {\n      '@apply p-4': {},\n    },\n    '.md-card-padding-md': {\n      '@apply p-6': {},\n    },\n    '.md-card-padding-lg': {\n      '@apply p-8': {},\n    },\n\n    // Interactive card (clickable)\n    '.md-card-interactive': {\n      '@apply cursor-pointer select-none': {},\n      '&:before': {\n        content: '\"\"',\n        '@apply absolute inset-0 bg-current opacity-0 transition-opacity': {},\n      },\n      '&:hover:before': {\n        '@apply opacity-[0.08]': {},\n      },\n      '&:active:before': {\n        '@apply opacity-[0.12]': {},\n      },\n      '&:focus-visible': {\n        '@apply outline-none ring-2 ring-md-primary ring-offset-2': {},\n      },\n    },\n  };\n\n  addComponents(cards);\n});\n\nexport default cardPlugin;\n","/**\n * Material Design 3 Text Field Component - Tailwind Plugin\n * Generates utility classes for Material 3 text fields\n */\n\nimport plugin from 'tailwindcss/plugin';\n\n/**\n * Text Field plugin for Tailwind CSS\n * Adds Material 3 text field component classes\n */\nexport const textFieldPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n  const textFields = {\n    // Container base\n    '.md-text-field': {\n      '@apply relative w-full transition-all duration-md-short-2 ease-md-standard': {},\n    },\n\n    // Filled variant\n    '.md-text-field-filled': {\n      '@apply bg-md-surface-container-highest rounded-t-md-xs border-b border-md-on-surface-variant':\n        {},\n      '@apply hover:bg-md-on-surface/[0.08]': {},\n      '@apply focus-within:border-b-2 focus-within:border-md-primary': {},\n    },\n\n    // Outlined variant\n    '.md-text-field-outlined': {\n      '@apply bg-transparent rounded-md-xs border border-md-outline': {},\n      '@apply hover:border-md-on-surface': {},\n      '@apply focus-within:border-2 focus-within:border-md-primary': {},\n    },\n\n    // Input element\n    '.md-text-field-input': {\n      '@apply w-full h-full bg-transparent outline-none border-none': {},\n      '@apply text-md-on-surface text-md-body-large pt-6 pb-2 px-4': {},\n      '@apply placeholder:text-md-on-surface-variant placeholder:opacity-0': {},\n      '@apply focus:placeholder:opacity-100': {},\n    },\n\n    // Label\n    '.md-text-field-label': {\n      '@apply absolute left-4 top-4 text-md-on-surface-variant text-md-body-large': {},\n      '@apply pointer-events-none transition-all duration-md-short-2 ease-md-standard origin-left':\n        {},\n    },\n\n    // Floating label state\n    '.md-text-field-label-floating': {\n      '@apply top-2 text-md-label-small scale-75 text-md-primary': {},\n    },\n\n    // Helper text\n    '.md-text-field-helper': {\n      '@apply mt-1 px-4 text-md-on-surface-variant text-md-body-small': {},\n    },\n\n    // Error state\n    '.md-text-field-error': {\n      '@apply border-md-error focus-within:border-md-error': {},\n    },\n\n    '.md-text-field-error-text': {\n      '@apply mt-1 px-4 text-md-error text-md-body-small': {},\n    },\n\n    // Disabled state\n    '.md-text-field-disabled': {\n      '@apply opacity-38 cursor-not-allowed pointer-events-none': {},\n    },\n\n    // Size variants\n    '.md-text-field-sm': {\n      '@apply h-12': {},\n    },\n    '.md-text-field-md': {\n      '@apply h-14': {},\n    },\n    '.md-text-field-lg': {\n      '@apply h-16': {},\n    },\n  };\n\n  addComponents(textFields);\n});\n\nexport default textFieldPlugin;\n","/**\n * Material Design 3 Dialog Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const dialogPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const dialogs = {\n        // Dialog Backdrop (Scrim)\n        '.md-dialog-backdrop': {\n            '@apply fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/32 transition-opacity duration-200': {},\n            '&.hidden': {\n                '@apply opacity-0 pointer-events-none': {},\n            },\n            '&:not(.hidden)': {\n                '@apply opacity-100': {},\n            },\n        },\n\n        // Dialog Container\n        '.md-dialog': {\n            '@apply relative bg-md-surface-container-high text-md-on-surface rounded-md-xl shadow-md-3 max-w-[560px] min-w-[280px] w-full overflow-hidden flex flex-col transition-all duration-200 scale-100 opacity-100': {},\n\n            // Animation states\n            '&.starting': {\n                '@apply scale-95 opacity-0': {},\n            },\n\n            // Header/Icon area\n            '.md-dialog-icon': {\n                '@apply pt-6 px-6 flex justify-center text-md-secondary': {},\n                '> svg': {\n                    '@apply w-6 h-6': {},\n                },\n            },\n\n            // Headline\n            '.md-dialog-headline': {\n                '@apply px-6 pt-6 pb-4 text-md-headline-small text-md-on-surface': {},\n                '&:first-child': {\n                    '@apply pt-6': {},\n                },\n            },\n            '.md-dialog-icon + .md-dialog-headline': {\n                '@apply pt-4 text-center': {},\n            },\n\n            // Content/Body\n            '.md-dialog-content': {\n                '@apply px-6 pb-6 text-md-body-medium text-md-on-surface-variant overflow-y-auto': {},\n                // Remove top padding if headline exists\n                '.md-dialog-headline + &': {\n                    '@apply pt-0': {},\n                },\n            },\n\n            // Actions\n            '.md-dialog-actions': {\n                '@apply p-6 pt-2 flex items-center justify-end gap-2': {},\n            },\n        }\n    };\n\n    addComponents(dialogs);\n});\n\nexport default dialogPlugin;\n","/**\n * Material Design 3 Snackbar Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const snackbarPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const snackbars = {\n        '.md-snackbar': {\n            '@apply fixed bottom-4 left-4 right-4 md:left-1/2 md:right-auto md:-translate-x-1/2 z-50': {},\n            '@apply flex items-center justify-between gap-4 py-3.5 pl-4 pr-3 min-h-[48px] min-w-[300px] max-w-[600px]': {},\n            '@apply bg-md-inverse-surface text-md-inverse-on-surface rounded-md-xs shadow-md-3': {},\n            '@apply transition-all duration-200 ease-md-standard': {},\n\n            // Animation states\n            '&.starting': {\n                '@apply translate-y-full opacity-0': {},\n            },\n            '&.showing': {\n                '@apply translate-y-0 opacity-100': {},\n            },\n            '&.closing': {\n                '@apply opacity-0': {},\n            },\n\n            // Label text\n            '.md-snackbar-label': {\n                '@apply text-md-body-medium flex-1': {},\n            },\n\n            // Action button (usually text button)\n            '.md-snackbar-action': {\n                '@apply text-md-inverse-primary font-medium text-md-label-large hover:bg-md-inverse-on-surface/10 rounded-md-xs px-2 py-1 transition-colors cursor-pointer': {},\n            },\n\n            // Close icon (optional)\n            '.md-snackbar-close': {\n                '@apply text-md-inverse-on-surface p-2 rounded-md-full hover:bg-md-inverse-on-surface/10 transition-colors cursor-pointer ml-auto': {},\n                '> svg': {\n                    '@apply w-5 h-5': {},\n                },\n            },\n        }\n    };\n\n    addComponents(snackbars);\n});\n\nexport default snackbarPlugin;\n","/**\n * Material Design 3 Checkbox Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const checkboxPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const checkboxes = {\n        '.md-checkbox': {\n            '@apply relative inline-flex items-center justify-center w-10 h-10 cursor-pointer rounded-md-full hover:bg-md-on-surface/10 transition-colors': {},\n\n            'input[type=\"checkbox\"]': {\n                '@apply appearance-none w-4.5 h-4.5 border-2 border-md-on-surface-variant rounded-md-xs bg-transparent outline-none transition-all duration-200': {},\n\n                '&:checked': {\n                    '@apply bg-md-primary border-md-primary': {},\n                    // Checkmark icon styling could be done with a background image or SVG, \n                    // but for a pure CSS/Tailwind solution, we can use a pseudo-element or expect an SVG sibling.\n                    // Here we'll use a mask or background-image approach if we want pure CSS, \n                    // or rely on the HTML structure having an SVG. \n                    // For simplicity in this plugin, we'll style the input itself.\n\n                    '&:before': {\n                        content: '\"\"',\n                        '@apply absolute inset-0 flex items-center justify-center text-md-on-primary': {},\n                        backgroundImage: `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E\")`,\n                        backgroundSize: '100%',\n                        backgroundPosition: 'center',\n                        backgroundRepeat: 'no-repeat',\n                    }\n                },\n\n                '&:disabled': {\n                    '@apply border-md-on-surface/38 cursor-not-allowed': {},\n                    '&:checked': {\n                        '@apply bg-md-on-surface/38 border-transparent': {},\n                    }\n                },\n\n                '&:focus-visible': {\n                    '@apply ring-2 ring-md-primary ring-offset-2': {},\n                },\n\n                // Error state\n                '&.error': {\n                    '@apply border-md-error': {},\n                    '&:checked': {\n                        '@apply bg-md-error border-md-error': {},\n                    },\n                    '&:focus-visible': {\n                        '@apply ring-md-error': {},\n                    }\n                }\n            }\n        }\n    };\n\n    addComponents(checkboxes);\n});\n\nexport default checkboxPlugin;\n","/**\n * Material Design 3 Radio Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const radioPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const radios = {\n        '.md-radio': {\n            '@apply relative inline-flex items-center justify-center w-10 h-10 cursor-pointer rounded-md-full hover:bg-md-on-surface/10 transition-colors': {},\n\n            'input[type=\"radio\"]': {\n                '@apply appearance-none w-5 h-5 border-2 border-md-on-surface-variant rounded-md-full bg-transparent outline-none transition-all duration-200': {},\n\n                '&:checked': {\n                    '@apply border-md-primary border-[6px]': {},\n                },\n\n                '&:disabled': {\n                    '@apply border-md-on-surface/38 cursor-not-allowed': {},\n                    '&:checked': {\n                        '@apply border-md-on-surface/38': {},\n                    }\n                },\n\n                '&:focus-visible': {\n                    '@apply ring-2 ring-md-primary ring-offset-2': {},\n                },\n\n                // Error state\n                '&.error': {\n                    '@apply border-md-error': {},\n                    '&:checked': {\n                        '@apply border-md-error': {},\n                    },\n                    '&:focus-visible': {\n                        '@apply ring-md-error': {},\n                    }\n                }\n            }\n        }\n    };\n\n    addComponents(radios);\n});\n\nexport default radioPlugin;\n","/**\n * Material Design 3 Switch Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const switchPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const switches = {\n        '.md-switch': {\n            '@apply relative inline-flex h-8 w-[52px] shrink-0 cursor-pointer rounded-md-full border-2 border-md-outline bg-md-surface-variant transition-colors duration-200 ease-in-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-md-primary focus-visible:ring-offset-2': {},\n\n            '&[aria-checked=\"true\"]': {\n                '@apply bg-md-primary border-md-primary': {},\n\n                // Thumb (checked)\n                '.md-switch-thumb': {\n                    '@apply translate-x-5 bg-md-on-primary w-6 h-6': {},\n                    // Check icon (optional, typically handled by SVG inside thumb)\n                    '&:has(svg)': {\n                        '@apply w-6 h-6': {},\n                    }\n                },\n            },\n\n            '&[aria-checked=\"false\"]': {\n                // Thumb (unchecked)\n                '.md-switch-thumb': {\n                    '@apply translate-x-0 bg-md-outline w-4 h-4 mt-1 ml-1': {},\n                    // Icon inside (unchecked)\n                    'svg': {\n                        '@apply hidden': {}, // Usually hidden or smaller in unchecked state M3\n                    }\n                },\n                '&:hover .md-switch-thumb': {\n                    '@apply bg-md-on-surface-variant': {},\n                }\n            },\n\n            '&:disabled': {\n                '@apply cursor-not-allowed opacity-38 border-none bg-md-on-surface/12': {},\n                '&[aria-checked=\"true\"]': {\n                    '@apply bg-md-on-surface/12': {},\n                    '.md-switch-thumb': {\n                        '@apply bg-md-surface': {},\n                    }\n                },\n                '&[aria-checked=\"false\"]': {\n                    '.md-switch-thumb': {\n                        '@apply bg-md-on-surface/38': {},\n                    }\n                }\n            },\n\n            // Thumb common\n            '.md-switch-thumb': {\n                '@apply pointer-events-none inline-block transform rounded-md-full shadow ring-0 transition duration-200 ease-in-out flex items-center justify-center': {},\n            },\n\n            // Hidden input for form submission\n            'input[type=\"checkbox\"]': {\n                '@apply sr-only': {},\n            }\n        }\n    };\n\n    addComponents(switches);\n});\n\nexport default switchPlugin;\n","/**\n * Material Design 3 Tabs Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const tabsPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const tabs = {\n        // Tab Group / Container\n        '.md-tabs': {\n            '@apply flex items-center w-full border-b border-md-surface-container-highest bg-md-surface': {},\n\n            '&.md-tabs-primary': {\n                '@apply bg-md-surface': {},\n            },\n            '&.md-tabs-secondary': {\n                '@apply bg-md-surface-container': {},\n            }\n        },\n\n        // Individual Tab\n        '.md-tab': {\n            '@apply relative flex-1 flex flex-col items-center justify-center min-h-[48px] px-4 cursor-pointer overflow-hidden transition-colors': {},\n            '@apply text-md-title-small text-md-on-surface-variant hover:bg-md-on-surface/10': {}, // State layer (hover)\n\n            // Active state\n            '&.active': {\n                '@apply text-md-primary': {},\n\n                // Active indicator (underline)\n                '&:after': {\n                    content: '\"\"',\n                    '@apply absolute bottom-0 w-full h-[3px] bg-md-primary rounded-t-md-xs': {},\n                    // For rounded pill indicator style (optional variant)\n                    // '@apply absolute bottom-0 w-[calc(100%-32px)] h-[3px] bg-md-primary rounded-t-md-xs mx-4': {}, \n                }\n            },\n\n            // Focus state\n            '&:focus-visible': {\n                '@apply outline-none bg-md-on-surface/12': {},\n            },\n\n            // Badges inside tabs\n            '.md-badge': {\n                '@apply ml-1': {},\n            },\n\n            // Icons inside tabs\n            '> svg': {\n                '@apply mb-1 w-6 h-6': {}, // For icon+text tabs\n            },\n            '&.md-tab-icon-only': {\n                '> svg': {\n                    '@apply mb-0': {},\n                }\n            }\n        },\n\n        // Scrollable tabs container (optional utility)\n        '.md-tabs-scrollable': {\n            '@apply overflow-x-auto overflow-y-hidden': {},\n            'scrollbar-width': 'none',\n            '&::-webkit-scrollbar': {\n                display: 'none',\n            },\n            '.md-tab': {\n                '@apply flex-none min-w-[90px]': {},\n            }\n        }\n    };\n\n    addComponents(tabs);\n});\n\nexport default tabsPlugin;\n","/**\n * Material Design 3 Navigation Drawer Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const navigationDrawerPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const drawers = {\n        // Drawer Container (Standard/Modal)\n        '.md-drawer': {\n            '@apply fixed top-0 bottom-0 left-0 w-[360px] bg-md-surface-container-low rounded-r-md-lg overflow-y-auto transition-transform duration-300 z-50': {},\n\n            '&:not(.open)': {\n                '@apply -translate-x-full': {},\n            },\n            '&.open': {\n                '@apply translate-x-0 shadow-md-3': {}, // Standard drawer might not have shadow if persistent\n            },\n\n            // Standard Drawer (persistent on large screens)\n            '&.md-drawer-standard': {\n                '@apply relative translate-x-0 rounded-none border-r border-md-surface-container-highest w-[300px]': {},\n            },\n\n            // Modal Drawer Scrim\n            '+ .md-drawer-scrim': {\n                '@apply fixed inset-0 z-40 bg-black/32 transition-opacity duration-300': {},\n                '&.hidden': {\n                    '@apply opacity-0 pointer-events-none': {},\n                }\n            },\n\n            // Drawer Items Container\n            '.md-drawer-content': {\n                '@apply p-3 flex flex-col gap-1': {},\n            },\n\n            // Section Header\n            '.md-drawer-headline': {\n                '@apply px-4 py-4 text-md-title-small text-md-on-surface-variant': {},\n            },\n\n            // Nav Item (List Item)\n            '.md-drawer-item': {\n                '@apply flex items-center gap-3 px-4 py-3 min-h-[56px] rounded-md-full cursor-pointer text-md-label-large text-md-on-surface-variant hover:bg-md-on-surface/10 transition-colors': {},\n\n                '&.active': {\n                    '@apply bg-md-secondary-container text-md-on-secondary-container': {},\n                },\n\n                // Icon\n                '> svg': {\n                    '@apply w-6 h-6': {},\n                },\n\n                // Badge\n                '.md-badge': {\n                    '@apply ml-auto text-md-label-large': {},\n                }\n            },\n\n            // Divider\n            'hr': {\n                '@apply my-2 border-md-outline-variant': {},\n            }\n        }\n    };\n\n    addComponents(drawers);\n});\n\nexport default navigationDrawerPlugin;\n","/**\n * Material Design 3 App Bar Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const appBarPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const appBars = {\n        // Top App Bar Container\n        '.md-top-app-bar': {\n            '@apply sticky top-0 left-0 right-0 z-40 flex items-center gap-4 px-4 h-16 bg-md-surface': {},\n            '@apply transition-all duration-200': {},\n\n            // Scrolled state (optional, adds elevation/color change)\n            '&.scrolled': {\n                '@apply bg-md-surface-container shadow-md-2': {},\n            },\n\n            // Small App Bar\n            '&.md-top-app-bar-small': {\n                '@apply h-16': {},\n            },\n            // Medium App Bar (expands)\n            '&.md-top-app-bar-medium': {\n                '@apply h-[112px] flex-col items-start justify-end pb-6': {},\n                '.md-top-app-bar-title': {\n                    '@apply text-md-headline-small': {},\n                }\n            },\n            // Large App Bar\n            '&.md-top-app-bar-large': {\n                '@apply h-[152px] flex-col items-start justify-end pb-7': {},\n                '.md-top-app-bar-title': {\n                    '@apply text-md-headline-medium': {},\n                }\n            },\n\n            // Leading Icon (Menu/Back)\n            '.md-top-app-bar-leading': {\n                '@apply p-3 -ml-3 rounded-md-full text-md-on-surface hover:bg-md-on-surface/10 cursor-pointer': {},\n            },\n\n            // Title\n            '.md-top-app-bar-title': {\n                '@apply flex-1 text-md-title-large text-md-on-surface truncate': {},\n            },\n\n            // Trailing Actions Container\n            '.md-top-app-bar-actions': {\n                '@apply flex items-center gap-2 -mr-2': {},\n            },\n\n            // Action Icon\n            '.md-top-app-bar-action': {\n                '@apply p-3 rounded-md-full text-md-on-surface-variant hover:bg-md-on-surface/10 cursor-pointer': {},\n            }\n        },\n\n        // Bottom App Bar\n        '.md-bottom-app-bar': {\n            '@apply fixed bottom-0 left-0 right-0 z-40 flex items-center justify-between gap-4 px-4 h-20 bg-md-surface-container': {},\n            // FAB usually lives here or floats above\n            '.md-fab': {\n                '@apply absolute right-4 bottom-4 shadow-md-3': {}, // Or inline if wanted\n            }\n        }\n    };\n\n    addComponents(appBars);\n});\n\nexport default appBarPlugin;\n","/**\n * Material Design 3 List Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const listPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const lists = {\n        // List Container\n        '.md-list': {\n            '@apply py-2 bg-md-surface text-md-on-surface rounded-md-xs overflow-hidden': {},\n        },\n\n        // List Item\n        '.md-list-item': {\n            '@apply relative flex items-center gap-4 px-4 min-h-[56px] cursor-pointer transition-colors': {},\n            '@apply text-md-body-large text-md-on-surface': {},\n            '@apply hover:bg-md-on-surface/10': {}, // State layer\n\n            // Active state\n            '&.active': {\n                '@apply bg-md-secondary-container text-md-on-secondary-container': {},\n            },\n\n            // Disabled state\n            '&:disabled, &.disabled': {\n                '@apply opacity-38 cursor-not-allowed pointer-events-none': {},\n            },\n\n            // Leading content (Icon/Avatar)\n            '.md-list-item-leading': {\n                '@apply flex items-center justify-center text-md-on-surface-variant': {},\n                '> svg': {\n                    '@apply w-6 h-6': {},\n                },\n                // Avatar support\n                '.md-avatar': {\n                    '@apply w-10 h-10 rounded-md-full bg-md-primary-container text-md-on-primary-container flex items-center justify-center text-md-title-medium font-medium': {},\n                    '> img': {\n                        '@apply w-full h-full object-cover rounded-md-full': {},\n                    }\n                }\n            },\n\n            // Headline/Scanning text content\n            '.md-list-item-content': {\n                '@apply flex-1 flex flex-col justify-center': {},\n            },\n            '.md-list-item-headline': {\n                '@apply text-md-body-large text-md-on-surface': {},\n            },\n            '.md-list-item-supporting-text': {\n                '@apply text-md-body-medium text-md-on-surface-variant': {},\n            },\n            '.md-list-item-trailing-supporting-text': {\n                '@apply text-md-label-small text-md-on-surface-variant': {},\n            },\n\n            // Trailing content (Icon/Checkbox/Switch)\n            '.md-list-item-trailing': {\n                '@apply flex items-center justify-center text-md-on-surface-variant': {},\n                '> svg': {\n                    '@apply w-6 h-6': {},\n                }\n            }\n        }\n    };\n\n    addComponents(lists);\n});\n\nexport default listPlugin;\n","/**\n * Material Design 3 Chip Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const chipPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const chips = {\n        // Base Chip\n        '.md-chip': {\n            '@apply inline-flex items-center gap-2 px-3 h-8 border border-md-outline rounded-md-lg cursor-pointer transition-all duration-200': {},\n            '@apply text-md-label-large text-md-on-surface bg-transparent': {}, // Assist/Suggestion default\n\n            // Hover state\n            '@apply hover:bg-md-on-surface/10 hover:shadow-md-1': {},\n\n            // Focus state\n            '&:focus-visible': {\n                '@apply outline-none ring-2 ring-md-primary ring-offset-2': {},\n            },\n\n            // Disabled\n            '&:disabled, &.disabled': {\n                '@apply opacity-38 cursor-not-allowed shadow-none border-md-on-surface/12 pointer-events-none': {},\n            },\n\n            // Icons\n            '> svg': {\n                '@apply w-4.5 h-4.5': {}, // 18px\n                '&.md-chip-icon-leading': {\n                    '@apply text-md-primary': {},\n                },\n                '&.md-chip-icon-trailing': {\n                    '@apply text-md-on-surface-variant hover:text-md-on-surface': {},\n                }\n            },\n\n            // Avatar/Image\n            '.md-avatar': {\n                '@apply w-6 h-6 rounded-md-full -ml-1': {},\n            },\n\n            // Variants\n\n            // Elevated Chip\n            '&.md-chip-elevated': {\n                '@apply bg-md-surface-container-low border-none shadow-md-1': {},\n                '@apply hover:bg-md-surface-container hover:shadow-md-2': {},\n            },\n\n            // Filter Chip (Selected)\n            '&.active': {\n                '@apply bg-md-secondary-container border-transparent text-md-on-secondary-container': {},\n                '@apply hover:bg-md-secondary-container hover:shadow-md-1 hover:brightness-95': {},\n\n                // Using pseudo for checkmark in pure CSS is tricky without structure, \n                // expecting SVG icon for checked state usually.\n                '.md-chip-icon-leading': {\n                    '@apply text-md-on-secondary-container': {},\n                }\n            },\n\n            // Input Chip (has close button often)\n            '&.md-chip-input': {\n                '@apply pr-2': {}, // Less padding on right for remove icon\n            }\n        }\n    };\n\n    addComponents(chips);\n});\n\nexport default chipPlugin;\n","/**\n * Material Design 3 Badge Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const badgePlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const badges = {\n        '.md-badge': {\n            '@apply inline-flex items-center justify-center min-w-[16px] h-4 px-1 rounded-md-full bg-md-error text-md-on-error text-[11px] font-medium leading-none': {},\n\n            // Small dot variant\n            '&.md-badge-dot': {\n                '@apply min-w-[6px] w-[6px] h-[6px] p-0': {},\n            },\n\n            // Large variant (for more than 3 digits, though max 999+ usually)\n            '&.md-badge-large': {\n                '@apply h-6 min-w-[24px] px-2 text-md-label-small': {},\n            },\n\n            // Positioned contextual usage (e.g. on icon)\n            // Parent needs relative\n            '.relative > &': {\n                '@apply absolute top-0 right-0 -mr-1 -mt-1': {}, // Simple corner positioning\n            }\n        }\n    };\n\n    addComponents(badges);\n});\n\nexport default badgePlugin;\n","/**\n * Material Design 3 Progress Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const progressPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const progress = {\n        // Linear Progress\n        '.md-progress-linear': {\n            '@apply relative w-full h-1 bg-md-surface-container-highest overflow-hidden': {},\n            // Buffer/Track (optional, usually base is track)\n\n            // Bar/Indicator\n            '.md-progress-bar': {\n                '@apply h-full bg-md-primary transition-all duration-200': {},\n                width: 'var(--md-progress-value, 0%)',\n            },\n\n            // Indeterminate state\n            '&.indeterminate': {\n                '.md-progress-bar': {\n                    '@apply w-full origin-left animate-md-linear-indeterminate': {},\n                }\n            }\n        },\n\n        // Circular Progress\n        '.md-progress-circular': {\n            '@apply relative inline-flex w-12 h-12 text-md-primary': {},\n\n            'svg': {\n                '@apply w-full h-full rotate-[-90deg]': {},\n                'circle': {\n                    '@apply fill-none stroke-current stroke-4 transition-all duration-200': {},\n                    strokeDasharray: '100', // Assuming 100 based viewBox for easy %\n                    strokeDashoffset: 'calc(100 - var(--md-progress-value, 0))',\n                    strokeLinecap: 'round',\n                }\n            },\n\n            // Indeterminate state\n            '&.indeterminate': {\n                'svg': {\n                    '@apply animate-spin duration-1000 ease-linear': {}, // Simple spin, M3 has complex arc animation\n                    'circle': {\n                        // Complex M3 arc animation would need keyframes for dasharray/offset\n                        '@apply stroke-[3px]': {},\n                    }\n                }\n            }\n        },\n\n    };\n\n    addComponents(progress);\n}, {\n    theme: {\n        extend: {\n            keyframes: {\n                'md-linear-indeterminate': {\n                    '0%': { left: '-100%', width: '100%' },\n                    '50%': { left: '30%', width: '40%' },\n                    '100%': { left: '100%', width: '10%' },\n                }\n            },\n            animation: {\n                'md-linear-indeterminate': 'md-linear-indeterminate 2s infinite linear',\n            }\n        }\n    }\n});\n\nexport default progressPlugin;\n","/**\n * Material Design 3 Tooltip Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const tooltipPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const tooltips = {\n        '.md-tooltip': {\n            // Base styles (Plain tooltip)\n            '@apply fixed z-50 px-2 py-1 min-h-[24px] bg-md-inverse-surface text-md-inverse-on-surface text-md-body-small rounded-md-xs pointer-events-none opacity-0 transition-opacity duration-200': {},\n\n            // Showing state\n            '&.showing': {\n                '@apply opacity-100': {},\n            },\n\n            // Rich Tooltip (more content, interactive maybe)\n            '&.md-tooltip-rich': {\n                '@apply min-h-[48px] px-4 py-3 max-w-[300px] flex flex-col gap-1 bg-md-surface-container text-md-on-surface-variant rounded-md-md shadow-md-2 pointer-events-auto': {},\n\n                '.md-tooltip-headline': {\n                    '@apply text-md-title-small text-md-on-surface pb-1': {},\n                },\n                '.md-tooltip-actions': {\n                    '@apply pt-2 flex gap-2': {},\n                }\n            }\n        }\n    };\n\n    addComponents(tooltips);\n});\n\nexport default tooltipPlugin;\n","/**\n * Material Design 3 Bottom Sheet Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const bottomSheetPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const sheets = {\n        // Bottom Sheet Container/Modal\n        '.md-bottom-sheet': {\n            '@apply fixed bottom-0 left-0 right-0 z-50 bg-md-surface-container-low text-md-on-surface rounded-t-md-xl shadow-md-4 transition-transform duration-300 translate-y-full max-h-[90vh] flex flex-col': {},\n\n            // Standard/Persistent variant (not fixed, usually inline or absolute in container)\n            '&.md-bottom-sheet-standard': {\n                '@apply relative z-0 translate-y-0 shadow-none border-t border-md-outline-variant w-full': {},\n            },\n\n            // Open state\n            '&.open': {\n                '@apply translate-y-0': {},\n            },\n\n            // Drag Handle\n            '.md-bottom-sheet-handle': {\n                '@apply w-8 h-1 bg-md-on-surface-variant/40 rounded-full mx-auto my-4 shrink-0': {},\n            },\n\n            // Content area\n            '.md-bottom-sheet-content': {\n                '@apply px-4 pb-4 overflow-y-auto': {},\n            },\n\n            // Modal Scrim\n            '+ .md-bottom-sheet-scrim': {\n                '@apply fixed inset-0 z-40 bg-black/32 transition-opacity duration-300 opacity-0 pointer-events-none': {},\n                '&.open': {\n                    '@apply opacity-100 pointer-events-auto': {},\n                }\n            }\n        }\n    };\n\n    addComponents(sheets);\n});\n\nexport default bottomSheetPlugin;\n","/**\n * Material Design 3 Menu Component - Tailwind Plugin\n */\n\nimport plugin from 'tailwindcss/plugin';\n\nexport const menuPlugin: ReturnType<typeof plugin> = plugin(function ({ addComponents }) {\n    const menus = {\n        // Menu Container\n        '.md-menu': {\n            '@apply absolute flex flex-col min-w-[112px] max-w-[280px] py-2 bg-md-surface-container rounded-md-xs shadow-md-2 overflow-y-auto opacity-0 scale-95 pointer-events-none transition-all duration-200 origin-top-left z-50': {},\n\n            // Open state\n            '&.open': {\n                '@apply opacity-100 scale-100 pointer-events-auto': {},\n            },\n\n            // Menu Item\n            '.md-menu-item': {\n                '@apply flex items-center gap-3 px-3 py-2 min-h-[48px] cursor-pointer text-md-label-large text-md-on-surface hover:bg-md-on-surface/10 transition-colors': {},\n\n                // Disabled\n                '&:disabled, &.disabled': {\n                    '@apply opacity-38 cursor-not-allowed pointer-events-none': {},\n                },\n\n                // Icons\n                '> svg': {\n                    '@apply w-5 h-5 text-md-on-surface-variant': {},\n                    '&:first-child': {\n                        '@apply text-md-on-surface-variant': {}, // Leading icon\n                    },\n                    '&:last-child:not(:first-child)': {\n                        '@apply ml-auto': {}, // Trailing icon\n                    }\n                },\n\n                // Trailing text (shortcut)\n                '.md-menu-item-trailing-text': {\n                    '@apply ml-auto text-md-label-small text-md-on-surface-variant': {},\n                }\n            },\n\n            // Divider\n            'hr': {\n                '@apply my-1 border-md-outline-variant': {},\n            }\n        }\n    };\n\n    addComponents(menus);\n});\n\nexport default menuPlugin;\n","import type { Config } from 'tailwindcss';\nimport { defaultTypographyTokens } from './tokens/typography';\nimport { lightElevation } from './tokens/elevation';\nimport { defaultShapeTokens } from './tokens/shape';\nimport { easingTokens, durationTokens } from './tokens/motion';\n\nimport lightTheme from './theme/light';\nimport {\n  buttonPlugin,\n  cardPlugin,\n  textFieldPlugin,\n  dialogPlugin,\n  snackbarPlugin,\n  checkboxPlugin,\n  radioPlugin,\n  switchPlugin,\n  tabsPlugin,\n  navigationDrawerPlugin,\n  appBarPlugin,\n  listPlugin,\n  chipPlugin,\n  badgePlugin,\n  progressPlugin,\n  tooltipPlugin,\n  bottomSheetPlugin,\n  menuPlugin\n} from './components';\n\n/**\n * Material Design 3 Tailwind Configuration\n * Extends Tailwind with Material 3 design tokens\n */\nexport function createMaterialConfig(userConfig: Partial<Config> = {}): Config {\n  const config: Config = {\n    content: userConfig.content || ['./src/**/*.{html,js,ts,jsx,tsx}'],\n    darkMode: 'class', // Use class strategy for dark mode\n    theme: {\n      extend: {\n        // Material 3 Colors\n        colors: {\n          ...lightTheme,\n        },\n\n        // Material 3 Typography\n        fontFamily: {\n          roboto: ['\"Roboto\"', 'sans-serif'],\n          'roboto-mono': ['\"Roboto Mono\"', 'monospace'],\n        },\n        fontSize: {\n          // Display\n          'md-display-large': [\n            defaultTypographyTokens.displayLarge.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.displayLarge.lineHeight,\n              letterSpacing: defaultTypographyTokens.displayLarge.letterSpacing,\n              fontWeight: defaultTypographyTokens.displayLarge.fontWeight.toString(),\n            },\n          ],\n          'md-display-medium': [\n            defaultTypographyTokens.displayMedium.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.displayMedium.lineHeight,\n              letterSpacing: defaultTypographyTokens.displayMedium.letterSpacing,\n              fontWeight: defaultTypographyTokens.displayMedium.fontWeight.toString(),\n            },\n          ],\n          'md-display-small': [\n            defaultTypographyTokens.displaySmall.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.displaySmall.lineHeight,\n              letterSpacing: defaultTypographyTokens.displaySmall.letterSpacing,\n              fontWeight: defaultTypographyTokens.displaySmall.fontWeight.toString(),\n            },\n          ],\n          // Headline\n          'md-headline-large': [\n            defaultTypographyTokens.headlineLarge.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.headlineLarge.lineHeight,\n              letterSpacing: defaultTypographyTokens.headlineLarge.letterSpacing,\n              fontWeight: defaultTypographyTokens.headlineLarge.fontWeight.toString(),\n            },\n          ],\n          'md-headline-medium': [\n            defaultTypographyTokens.headlineMedium.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.headlineMedium.lineHeight,\n              letterSpacing: defaultTypographyTokens.headlineMedium.letterSpacing,\n              fontWeight: defaultTypographyTokens.headlineMedium.fontWeight.toString(),\n            },\n          ],\n          'md-headline-small': [\n            defaultTypographyTokens.headlineSmall.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.headlineSmall.lineHeight,\n              letterSpacing: defaultTypographyTokens.headlineSmall.letterSpacing,\n              fontWeight: defaultTypographyTokens.headlineSmall.fontWeight.toString(),\n            },\n          ],\n          // Title\n          'md-title-large': [\n            defaultTypographyTokens.titleLarge.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.titleLarge.lineHeight,\n              letterSpacing: defaultTypographyTokens.titleLarge.letterSpacing,\n              fontWeight: defaultTypographyTokens.titleLarge.fontWeight.toString(),\n            },\n          ],\n          'md-title-medium': [\n            defaultTypographyTokens.titleMedium.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.titleMedium.lineHeight,\n              letterSpacing: defaultTypographyTokens.titleMedium.letterSpacing,\n              fontWeight: defaultTypographyTokens.titleMedium.fontWeight.toString(),\n            },\n          ],\n          'md-title-small': [\n            defaultTypographyTokens.titleSmall.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.titleSmall.lineHeight,\n              letterSpacing: defaultTypographyTokens.titleSmall.letterSpacing,\n              fontWeight: defaultTypographyTokens.titleSmall.fontWeight.toString(),\n            },\n          ],\n          // Body\n          'md-body-large': [\n            defaultTypographyTokens.bodyLarge.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.bodyLarge.lineHeight,\n              letterSpacing: defaultTypographyTokens.bodyLarge.letterSpacing,\n              fontWeight: defaultTypographyTokens.bodyLarge.fontWeight.toString(),\n            },\n          ],\n          'md-body-medium': [\n            defaultTypographyTokens.bodyMedium.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.bodyMedium.lineHeight,\n              letterSpacing: defaultTypographyTokens.bodyMedium.letterSpacing,\n              fontWeight: defaultTypographyTokens.bodyMedium.fontWeight.toString(),\n            },\n          ],\n          'md-body-small': [\n            defaultTypographyTokens.bodySmall.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.bodySmall.lineHeight,\n              letterSpacing: defaultTypographyTokens.bodySmall.letterSpacing,\n              fontWeight: defaultTypographyTokens.bodySmall.fontWeight.toString(),\n            },\n          ],\n          // Label\n          'md-label-large': [\n            defaultTypographyTokens.labelLarge.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.labelLarge.lineHeight,\n              letterSpacing: defaultTypographyTokens.labelLarge.letterSpacing,\n              fontWeight: defaultTypographyTokens.labelLarge.fontWeight.toString(),\n            },\n          ],\n          'md-label-medium': [\n            defaultTypographyTokens.labelMedium.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.labelMedium.lineHeight,\n              letterSpacing: defaultTypographyTokens.labelMedium.letterSpacing,\n              fontWeight: defaultTypographyTokens.labelMedium.fontWeight.toString(),\n            },\n          ],\n          'md-label-small': [\n            defaultTypographyTokens.labelSmall.fontSize,\n            {\n              lineHeight: defaultTypographyTokens.labelSmall.lineHeight,\n              letterSpacing: defaultTypographyTokens.labelSmall.letterSpacing,\n              fontWeight: defaultTypographyTokens.labelSmall.fontWeight.toString(),\n            },\n          ],\n        },\n\n        // Material 3 Elevation (shadows)\n        boxShadow: {\n          'md-0': lightElevation.level0.boxShadow,\n          'md-1': lightElevation.level1.boxShadow,\n          'md-2': lightElevation.level2.boxShadow,\n          'md-3': lightElevation.level3.boxShadow,\n          'md-4': lightElevation.level4.boxShadow,\n          'md-5': lightElevation.level5.boxShadow,\n        },\n\n        // Material 3 Shape (border radius)\n        borderRadius: {\n          'md-none': defaultShapeTokens.none,\n          'md-xs': defaultShapeTokens.extraSmall,\n          'md-xs-top': defaultShapeTokens.extraSmallTop,\n          'md-sm': defaultShapeTokens.small,\n          'md-md': defaultShapeTokens.medium,\n          'md-lg': defaultShapeTokens.large,\n          'md-lg-end': defaultShapeTokens.largeEnd,\n          'md-lg-top': defaultShapeTokens.largeTop,\n          'md-xl': defaultShapeTokens.extraLarge,\n          'md-xl-top': defaultShapeTokens.extraLargeTop,\n          'md-full': defaultShapeTokens.full,\n        },\n\n        // Material 3 Motion (transitions)\n        transitionTimingFunction: {\n          'md-standard': easingTokens.standard,\n          'md-standard-accelerate': easingTokens.standardAccelerate,\n          'md-standard-decelerate': easingTokens.standardDecelerate,\n          'md-emphasized': easingTokens.emphasized,\n          'md-emphasized-accelerate': easingTokens.emphasizedAccelerate,\n          'md-emphasized-decelerate': easingTokens.emphasizedDecelerate,\n        },\n        transitionDuration: {\n          'md-short-1': durationTokens.short1,\n          'md-short-2': durationTokens.short2,\n          'md-short-3': durationTokens.short3,\n          'md-short-4': durationTokens.short4,\n          'md-medium-1': durationTokens.medium1,\n          'md-medium-2': durationTokens.medium2,\n          'md-medium-3': durationTokens.medium3,\n          'md-medium-4': durationTokens.medium4,\n          'md-long-1': durationTokens.long1,\n          'md-long-2': durationTokens.long2,\n          'md-long-3': durationTokens.long3,\n          'md-long-4': durationTokens.long4,\n          'md-extra-long-1': durationTokens.extraLong1,\n          'md-extra-long-2': durationTokens.extraLong2,\n          'md-extra-long-3': durationTokens.extraLong3,\n          'md-extra-long-4': durationTokens.extraLong4,\n        },\n\n        // Additional Material 3 spacing\n        spacing: {\n          'md-xs': '4px',\n          'md-sm': '8px',\n          'md-md': '12px',\n          'md-lg': '16px',\n          'md-xl': '24px',\n          'md-2xl': '32px',\n        },\n      },\n    },\n    plugins: [\n      // Component plugins\n      buttonPlugin,\n      cardPlugin,\n      textFieldPlugin,\n      dialogPlugin,\n      snackbarPlugin,\n      checkboxPlugin,\n      radioPlugin,\n      switchPlugin,\n      tabsPlugin,\n      navigationDrawerPlugin,\n      appBarPlugin,\n      listPlugin,\n      chipPlugin,\n      badgePlugin,\n      progressPlugin,\n      tooltipPlugin,\n      bottomSheetPlugin,\n      menuPlugin,\n    ],\n    ...userConfig,\n  };\n\n  return config;\n}\n\nexport default createMaterialConfig;\n","/**\n * Tailwind Material 3 Plugin\n * A Tailwind CSS plugin that adds Material Design 3 design tokens and components.\n */\n\nimport plugin from 'tailwindcss/plugin';\nimport { createMaterialConfig } from './tailwind.config';\n\n// Import all component plugins\nimport {\n    buttonPlugin,\n    cardPlugin,\n    textFieldPlugin,\n    dialogPlugin,\n    snackbarPlugin,\n    checkboxPlugin,\n    radioPlugin,\n    switchPlugin,\n    tabsPlugin,\n    navigationDrawerPlugin,\n    appBarPlugin,\n    listPlugin,\n    chipPlugin,\n    badgePlugin,\n    progressPlugin,\n    tooltipPlugin,\n    bottomSheetPlugin,\n    menuPlugin,\n} from './components';\n\n/**\n * The main Tailwind Material 3 plugin.\n *\n * Usage:\n * ```js\n * // tailwind.config.js\n * import { tailwindMaterial3 } from 'tailwind-material-3';\n *\n * export default {\n *   plugins: [\n *     tailwindMaterial3\n *   ]\n * }\n * ```\n */\nexport const tailwindMaterial3: ReturnType<typeof plugin> = plugin(\n    // 1. Register components\n    // We can re-use the component plugins' handler functions by calling them\n    // with the plugin API. However, since the plugins are already created with `plugin()`,\n    // we can just include them in the `plugins` array of the configuration we return.\n    // BUT, `plugin()` expects a handler function.\n    // So we need to create a new plugin that:\n    // - Adds the base styles and components\n    // - Extends the theme\n    function () {\n        // This function body is for adding base styles, components, or utilities directly.\n        // Since our component plugins already do this, we rely on the `config` hook below.\n    },\n    // 2. Extend configuration (theme modules and plugins)\n    {\n        theme: createMaterialConfig().theme, // Extract theme from our config helper\n        plugins: [\n            buttonPlugin,\n            cardPlugin,\n            textFieldPlugin,\n            dialogPlugin,\n            snackbarPlugin,\n            checkboxPlugin,\n            radioPlugin,\n            switchPlugin,\n            tabsPlugin,\n            navigationDrawerPlugin,\n            appBarPlugin,\n            listPlugin,\n            chipPlugin,\n            badgePlugin,\n            progressPlugin,\n            tooltipPlugin,\n            bottomSheetPlugin,\n            menuPlugin,\n        ],\n    }\n);\n","/**\n * Material Design 3 Button Component Styles\n * TypeScript implementation using Material 3 design tokens\n */\n\nimport type { ButtonStyles, FABStyles, IconButtonStyles } from './types';\n\n/**\n * Standard Button Styles\n * Implements all Material 3 button variants\n */\nexport const buttonStyles: ButtonStyles = {\n  // Base button styles\n  base: [\n    'inline-flex',\n    'items-center',\n    'justify-center',\n    'gap-2',\n    'text-md-label-large',\n    'font-medium',\n    'transition-all',\n    'duration-md-short-2',\n    'ease-md-standard',\n    'cursor-pointer',\n    'select-none',\n    'outline-none',\n    'relative',\n    'overflow-hidden',\n  ].join(' '),\n\n  // Variant-specific styles\n  variants: {\n    filled: [\n      'bg-md-primary',\n      'text-md-on-primary',\n      'rounded-md-full',\n      'px-6',\n      'py-2.5',\n      'shadow-md-0',\n      'hover:shadow-md-1',\n      'active:shadow-md-0',\n    ].join(' '),\n\n    outlined: [\n      'bg-transparent',\n      'text-md-primary',\n      'border',\n      'border-md-outline',\n      'rounded-md-full',\n      'px-6',\n      'py-2.5',\n    ].join(' '),\n\n    text: ['bg-transparent', 'text-md-primary', 'rounded-md-full', 'px-6', 'py-2.5'].join(' '),\n\n    elevated: [\n      'bg-md-surface-container-low',\n      'text-md-primary',\n      'rounded-md-full',\n      'px-6',\n      'py-2.5',\n      'shadow-md-1',\n      'hover:shadow-md-2',\n      'active:shadow-md-1',\n    ].join(' '),\n\n    tonal: [\n      'bg-md-secondary-container',\n      'text-md-on-secondary-container',\n      'rounded-md-full',\n      'px-6',\n      'py-2.5',\n    ].join(' '),\n  },\n\n  // Color variants for each button type\n  colors: {\n    primary: {\n      filled: 'bg-md-primary text-md-on-primary',\n      outlined: 'text-md-primary border-md-outline',\n      text: 'text-md-primary',\n      elevated: 'text-md-primary',\n      tonal: 'bg-md-primary-container text-md-on-primary-container',\n    },\n    secondary: {\n      filled: 'bg-md-secondary text-md-on-secondary',\n      outlined: 'text-md-secondary border-md-outline',\n      text: 'text-md-secondary',\n      elevated: 'text-md-secondary',\n      tonal: 'bg-md-secondary-container text-md-on-secondary-container',\n    },\n    tertiary: {\n      filled: 'bg-md-tertiary text-md-on-tertiary',\n      outlined: 'text-md-tertiary border-md-outline',\n      text: 'text-md-tertiary',\n      elevated: 'text-md-tertiary',\n      tonal: 'bg-md-tertiary-container text-md-on-tertiary-container',\n    },\n    error: {\n      filled: 'bg-md-error text-md-on-error',\n      outlined: 'text-md-error border-md-error',\n      text: 'text-md-error',\n      elevated: 'text-md-error',\n      tonal: 'bg-md-error-container text-md-on-error-container',\n    },\n  },\n\n  // Size variants\n  sizes: {\n    small: 'h-8 px-4 text-md-label-small',\n    medium: 'h-10 px-6 text-md-label-large',\n    large: 'h-12 px-8 text-md-label-large',\n  },\n\n  // Interactive states\n  states: {\n    hover:\n      'hover:before:opacity-[0.08] hover:before:bg-current hover:before:absolute hover:before:inset-0',\n    focus:\n      'focus-visible:before:opacity-[0.12] focus-visible:before:bg-current focus-visible:before:absolute focus-visible:before:inset-0 focus-visible:ring-2 focus-visible:ring-md-primary focus-visible:ring-offset-2',\n    active:\n      'active:before:opacity-[0.12] active:before:bg-current active:before:absolute active:before:inset-0',\n    disabled: 'disabled:opacity-38 disabled:cursor-not-allowed disabled:shadow-none',\n  },\n};\n\n/**\n * Floating Action Button (FAB) Styles\n */\nexport const fabStyles: FABStyles = {\n  base: [\n    'inline-flex',\n    'items-center',\n    'justify-center',\n    'text-md-label-large',\n    'font-medium',\n    'transition-all',\n    'duration-md-short-2',\n    'ease-md-standard',\n    'cursor-pointer',\n    'select-none',\n    'outline-none',\n    'relative',\n    'overflow-hidden',\n  ].join(' '),\n\n  sizes: {\n    small: 'w-10 h-10 rounded-md-md',\n    medium: 'w-14 h-14 rounded-md-lg',\n    large: 'w-24 h-24 rounded-md-xl gap-3 px-8',\n  },\n\n  variants: {\n    surface: 'bg-md-surface-container-high text-md-primary shadow-md-3 hover:shadow-md-4',\n    primary: 'bg-md-primary-container text-md-on-primary-container shadow-md-3 hover:shadow-md-4',\n    secondary:\n      'bg-md-secondary-container text-md-on-secondary-container shadow-md-3 hover:shadow-md-4',\n    tertiary:\n      'bg-md-tertiary-container text-md-on-tertiary-container shadow-md-3 hover:shadow-md-4',\n  },\n};\n\n/**\n * Icon Button Styles\n */\nexport const iconButtonStyles: IconButtonStyles = {\n  base: [\n    'inline-flex',\n    'items-center',\n    'justify-center',\n    'w-10',\n    'h-10',\n    'rounded-md-full',\n    'transition-all',\n    'duration-md-short-2',\n    'ease-md-standard',\n    'cursor-pointer',\n    'select-none',\n    'outline-none',\n    'relative',\n    'overflow-hidden',\n  ].join(' '),\n\n  variants: {\n    standard: 'bg-transparent text-md-on-surface-variant',\n    filled: 'bg-md-primary text-md-on-primary',\n    tonal: 'bg-md-secondary-container text-md-on-secondary-container',\n    outlined: 'bg-transparent text-md-on-surface-variant border border-md-outline',\n  },\n};\n\n/**\n * Helper function to combine button classes\n */\nexport function getButtonClasses(\n  variant: keyof ButtonStyles['variants'] = 'filled',\n  color: keyof ButtonStyles['colors'] = 'primary',\n  size: keyof ButtonStyles['sizes'] = 'medium',\n  disabled = false\n): string {\n  const classes = [\n    buttonStyles.base,\n    buttonStyles.variants[variant],\n    buttonStyles.colors[color][variant],\n    buttonStyles.sizes[size],\n    buttonStyles.states.hover,\n    buttonStyles.states.focus,\n    buttonStyles.states.active,\n  ];\n\n  if (disabled) {\n    classes.push(buttonStyles.states.disabled);\n  }\n\n  return classes.join(' ');\n}\n\n/**\n * Helper function to combine FAB classes\n */\nexport function getFABClasses(\n  size: keyof FABStyles['sizes'] = 'medium',\n  variant: keyof FABStyles['variants'] = 'primary'\n): string {\n  return [\n    fabStyles.base,\n    fabStyles.sizes[size],\n    fabStyles.variants[variant],\n    buttonStyles.states.hover,\n    buttonStyles.states.focus,\n    buttonStyles.states.active,\n  ].join(' ');\n}\n\n/**\n * Helper function to combine icon button classes\n */\nexport function getIconButtonClasses(\n  variant: keyof IconButtonStyles['variants'] = 'standard'\n): string {\n  return [\n    iconButtonStyles.base,\n    iconButtonStyles.variants[variant],\n    buttonStyles.states.hover,\n    buttonStyles.states.focus,\n    buttonStyles.states.active,\n  ].join(' ');\n}\n","/**\n * Material Design 3 Card Component Styles\n * TypeScript implementation using Material 3 design tokens\n */\n\nimport type { CardStyles } from './types';\n\n/**\n * Card Styles\n * Implements all Material 3 card variants\n */\nexport const cardStyles: CardStyles = {\n  // Base card styles\n  base: [\n    'block',\n    'rounded-md-md',\n    'transition-all',\n    'duration-md-short-2',\n    'ease-md-standard',\n    'relative',\n    'overflow-hidden',\n  ].join(' '),\n\n  // Variant-specific styles\n  variants: {\n    elevated: [\n      'bg-md-surface-container-low',\n      'text-md-on-surface',\n      'shadow-md-1',\n      'hover:shadow-md-2',\n    ].join(' '),\n\n    filled: ['bg-md-surface-container-highest', 'text-md-on-surface'].join(' '),\n\n    outlined: ['bg-md-surface', 'text-md-on-surface', 'border', 'border-md-outline-variant'].join(\n      ' '\n    ),\n  },\n\n  // Padding options\n  padding: {\n    none: 'p-0',\n    small: 'p-4',\n    medium: 'p-6',\n    large: 'p-8',\n  },\n\n  // Interactive state (for clickable cards)\n  interactive: [\n    'cursor-pointer',\n    'select-none',\n    'before:absolute',\n    'before:inset-0',\n    'before:bg-current',\n    'before:opacity-0',\n    'before:transition-opacity',\n    'hover:before:opacity-[0.08]',\n    'active:before:opacity-[0.12]',\n    'focus-visible:outline-none',\n    'focus-visible:ring-2',\n    'focus-visible:ring-md-primary',\n    'focus-visible:ring-offset-2',\n  ].join(' '),\n};\n\n/**\n * Helper function to combine card classes\n */\nexport function getCardClasses(\n  variant: keyof CardStyles['variants'] = 'elevated',\n  padding: keyof CardStyles['padding'] = 'medium',\n  interactive = false\n): string {\n  const classes = [cardStyles.base, cardStyles.variants[variant], cardStyles.padding[padding]];\n\n  if (interactive) {\n    classes.push(cardStyles.interactive);\n  }\n\n  return classes.join(' ');\n}\n","/**\n * Material Design 3 Text Field Component Styles\n * TypeScript implementation using Material 3 design tokens\n */\n\nimport type { TextFieldStyles } from './types';\n\n/**\n * Text Field Styles\n * Implements all Material 3 text field variants\n */\nexport const textFieldStyles: TextFieldStyles = {\n  // Container styles\n  container: [\n    'relative',\n    'w-full',\n    'transition-all',\n    'duration-md-short-2',\n    'ease-md-standard',\n  ].join(' '),\n\n  // Variant-specific container styles\n  variants: {\n    filled: [\n      'bg-md-surface-container-highest',\n      'rounded-t-md-xs',\n      'border-b',\n      'border-md-on-surface-variant',\n      'hover:bg-md-on-surface/[0.08]',\n      'focus-within:border-b-2',\n      'focus-within:border-md-primary',\n    ].join(' '),\n\n    outlined: [\n      'bg-transparent',\n      'rounded-md-xs',\n      'border',\n      'border-md-outline',\n      'hover:border-md-on-surface',\n      'focus-within:border-2',\n      'focus-within:border-md-primary',\n    ].join(' '),\n  },\n\n  // Size variants\n  sizes: {\n    small: 'h-12 px-4',\n    medium: 'h-14 px-4',\n    large: 'h-16 px-4',\n  },\n\n  // State styles\n  states: {\n    default: '',\n    focused: 'border-md-primary',\n    error: 'border-md-error focus-within:border-md-error',\n    disabled: 'opacity-38 cursor-not-allowed pointer-events-none',\n  },\n\n  // Input field styles\n  input: [\n    'w-full',\n    'h-full',\n    'bg-transparent',\n    'outline-none',\n    'border-none',\n    'text-md-on-surface',\n    'text-md-body-large',\n    'pt-6',\n    'pb-2',\n    'placeholder:text-md-on-surface-variant',\n    'placeholder:opacity-0',\n    'focus:placeholder:opacity-100',\n  ].join(' '),\n\n  // Label styles (floating)\n  label: [\n    'absolute',\n    'left-4',\n    'top-4',\n    'text-md-on-surface-variant',\n    'text-md-body-large',\n    'pointer-events-none',\n    'transition-all',\n    'duration-md-short-2',\n    'ease-md-standard',\n    'origin-left',\n  ].join(' '),\n\n  // Floating label state\n  labelFloating: ['top-2', 'text-md-label-small', 'scale-75', 'text-md-primary'].join(' '),\n\n  // Helper text styles\n  helperText: ['mt-1', 'px-4', 'text-md-on-surface-variant', 'text-md-body-small'].join(' '),\n\n  // Error text styles\n  errorText: ['mt-1', 'px-4', 'text-md-error', 'text-md-body-small'].join(' '),\n};\n\n/**\n * Helper function to combine text field classes\n */\nexport function getTextFieldClasses(\n  variant: keyof TextFieldStyles['variants'] = 'filled',\n  size: keyof TextFieldStyles['sizes'] = 'medium',\n  state: keyof TextFieldStyles['states'] = 'default'\n): {\n  container: string;\n  input: string;\n  label: string;\n  helperText: string;\n} {\n  return {\n    container: [\n      textFieldStyles.container,\n      textFieldStyles.variants[variant],\n      textFieldStyles.sizes[size],\n      textFieldStyles.states[state],\n    ].join(' '),\n    input: textFieldStyles.input,\n    label: textFieldStyles.label,\n    helperText: state === 'error' ? textFieldStyles.errorText : textFieldStyles.helperText,\n  };\n}\n"],"names":["stateLayerOpacity","defaultColorTokens","getStateLayerColor","baseColor","state","opacity","hex","r","g","fontFamilies","defaultTypographyTokens","typeScaleToTailwind","scale","lightElevation","darkElevation","surfaceContainerElevation","componentElevation","elevationTokens","defaultShapeTokens","componentShapes","getBorderRadius","shape","shapeTokens","easingTokens","durationTokens","componentMotion","createTransition","properties","duration","easing","props","durationValue","easingValue","prop","motionTokens","tokens","colorTokens","typographyTokens","getLightThemeColors","lightTheme","getDarkThemeColors","darkTheme","theme","buttonPlugin","plugin","addComponents","cardPlugin","textFieldPlugin","dialogPlugin","snackbarPlugin","checkboxPlugin","radioPlugin","switchPlugin","tabsPlugin","navigationDrawerPlugin","appBarPlugin","listPlugin","chipPlugin","badgePlugin","progressPlugin","tooltipPlugin","bottomSheetPlugin","menuPlugin","createMaterialConfig","userConfig","tailwindMaterial3","buttonStyles","fabStyles","iconButtonStyles","getButtonClasses","variant","color","size","disabled","classes","getFABClasses","getIconButtonClasses","cardStyles","getCardClasses","padding","interactive","textFieldStyles","getTextFieldClasses"],"mappings":"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"}