pixelplay 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +196 -1
- package/dist/index.d.mts +25 -11
- package/dist/index.d.ts +25 -11
- package/dist/index.js +8960 -5095
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8974 -5103
- package/dist/index.mjs.map +1 -1
- package/dist/server.d.mts +9 -12
- package/dist/server.d.ts +9 -12
- package/dist/server.js +140 -120
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +140 -120
- package/dist/server.mjs.map +1 -1
- package/dist/styles.css +260 -164
- package/package.json +1 -1
package/dist/server.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../app/ui-kit/pixelplay-ui/shared/config/tokens.ts","../../../app/ui-kit/pixelplay-ui/shared/config/themes/rosewood.ts","../../../app/ui-kit/pixelplay-ui/shared/config/themes/botanica.ts","../../../app/ui-kit/pixelplay-ui/shared/config/themes/inkwell.ts","../../../app/ui-kit/pixelplay-ui/shared/config/theme-tokens.ts","../src/license.ts"],"sourcesContent":["/**\n * Design tokens — single source of truth for the UI kit's visual language.\n * These map to CSS custom properties defined in globals.css.\n */\n\nexport const colors = {\n // ── Semantic / role colors ────────────────────────────────────────────────\n // Curated shades for their specific UI role (slightly tuned vs. raw palette).\n // brand → purple family | error → red family | warning → amber family\n // success → green family | neutral base → gray\n brand: {\n 25: \"#FCFAFF\",\n 50: \"#F9F5FF\",\n 100: \"#F4EBFF\",\n 200: \"#E9D7FE\",\n 300: \"#D6BBFB\",\n 400: \"#B692F6\",\n 500: \"#9E77ED\",\n 600: \"#7F56D9\",\n 700: \"#6941C6\",\n 800: \"#53389E\",\n 900: \"#42307D\",\n 950: \"#26145A\",\n 975: \"#160C34\",\n },\n error: {\n 25: \"#FFFBFA\",\n 50: \"#FEF3F2\",\n 100: \"#FEE4E2\",\n 200: \"#FECDCA\",\n 300: \"#FDA29B\",\n 400: \"#F97066\",\n 500: \"#F04438\",\n 600: \"#D92D20\",\n 700: \"#B42318\",\n 800: \"#912018\",\n 900: \"#7A271A\",\n 950: \"#4C1108\",\n 975: \"#2B0904\",\n },\n warning: {\n 25: \"#FFFCF5\",\n 50: \"#FFFAEB\",\n 100: \"#FEF0C7\",\n 200: \"#FEDF89\",\n 300: \"#FEC84B\",\n 400: \"#FDB022\",\n 500: \"#F79009\",\n 600: \"#DC6803\",\n 700: \"#B54708\",\n 800: \"#93370D\",\n 900: \"#7A2E0E\",\n 950: \"#491A06\",\n 975: \"#291003\",\n },\n success: {\n 25: \"#F6FEF9\",\n 50: \"#ECFDF3\",\n 100: \"#D1FADF\",\n 200: \"#A6F4C5\",\n 300: \"#6CE9A6\",\n 400: \"#32D583\",\n 500: \"#12B76A\",\n 600: \"#039855\",\n 700: \"#027A48\",\n 800: \"#05603A\",\n 900: \"#054F31\",\n 950: \"#03301E\",\n 975: \"#021C11\",\n },\n\n // ── Neutrals ──────────────────────────────────────────────────────────────\n gray: {\n 25: \"#FDFDFD\",\n 50: \"#FAFAFA\",\n 100: \"#F5F5F5\",\n 200: \"#E9EAEB\",\n 300: \"#D5D7DA\",\n 400: \"#A4A7AE\",\n 500: \"#717680\",\n 600: \"#535862\",\n 700: \"#414651\",\n 800: \"#252B37\",\n 900: \"#101828\",\n 950: \"#090E18\",\n 975: \"#05080E\",\n },\n slate: {\n 25: \"#FCFCFE\",\n 50: \"#F8FAFC\",\n 100: \"#F1F5F9\",\n 200: \"#E2E8F0\",\n 300: \"#CBD5E1\",\n 400: \"#94A3B8\",\n 500: \"#64748B\",\n 600: \"#475569\",\n 700: \"#334155\",\n 800: \"#1E293B\",\n 900: \"#0F172A\",\n 950: \"#090D19\",\n 975: \"#05070E\",\n },\n zinc: {\n 25: \"#FAFAFB\",\n 50: \"#FAFAFA\",\n 100: \"#F4F4F5\",\n 200: \"#E4E4E7\",\n 300: \"#D4D4D8\",\n 400: \"#A1A1AA\",\n 500: \"#71717A\",\n 600: \"#52525B\",\n 700: \"#3F3F46\",\n 800: \"#27272A\",\n 900: \"#18181B\",\n 950: \"#0E0E10\",\n 975: \"#080809\",\n },\n stone: {\n 25: \"#FAFAF9\",\n 50: \"#FAFAF9\",\n 100: \"#F5F5F4\",\n 200: \"#E7E5E4\",\n 300: \"#D6D3D1\",\n 400: \"#A8A29E\",\n 500: \"#78716C\",\n 600: \"#57534E\",\n 700: \"#44403C\",\n 800: \"#292524\",\n 900: \"#1C1917\",\n 950: \"#110F0D\",\n 975: \"#090807\",\n },\n\n // ── Reds & oranges ────────────────────────────────────────────────────────\n red: {\n 25: \"#FFF5F5\",\n 50: \"#FEF2F2\",\n 100: \"#FEE2E2\",\n 200: \"#FECACA\",\n 300: \"#FCA5A5\",\n 400: \"#F87171\",\n 500: \"#EF4444\",\n 600: \"#DC2626\",\n 700: \"#B91C1C\",\n 800: \"#991B1B\",\n 900: \"#7F1D1D\",\n 950: \"#4C1111\",\n 975: \"#2B0909\",\n },\n orange: {\n 25: \"#FFFAF5\",\n 50: \"#FFF6ED\",\n 100: \"#FFEAD5\",\n 200: \"#FDDCAB\",\n 300: \"#FEB273\",\n 400: \"#FD853A\",\n 500: \"#FB6514\",\n 600: \"#EC4A0A\",\n 700: \"#C4320A\",\n 800: \"#9C2A10\",\n 900: \"#7E2410\",\n 950: \"#4C1509\",\n 975: \"#2B0C05\",\n },\n amber: {\n 25: \"#FFFDF5\",\n 50: \"#FFFBEB\",\n 100: \"#FEF3C7\",\n 200: \"#FDE68A\",\n 300: \"#FCD34D\",\n 400: \"#FBBF24\",\n 500: \"#F59E0B\",\n 600: \"#D97706\",\n 700: \"#B45309\",\n 800: \"#92400E\",\n 900: \"#78350F\",\n 950: \"#471E07\",\n 975: \"#280F03\",\n },\n yellow: {\n 25: \"#FEFEF2\",\n 50: \"#FEFCE8\",\n 100: \"#FEF9C3\",\n 200: \"#FEF08A\",\n 300: \"#FDE047\",\n 400: \"#FACC15\",\n 500: \"#EAB308\",\n 600: \"#CA8A04\",\n 700: \"#A16207\",\n 800: \"#854D0E\",\n 900: \"#713F12\",\n 950: \"#44250A\",\n 975: \"#261505\",\n },\n\n // ── Greens ────────────────────────────────────────────────────────────────\n lime: {\n 25: \"#FBFFE7\",\n 50: \"#F7FEE7\",\n 100: \"#ECFCCB\",\n 200: \"#D9F99D\",\n 300: \"#BEF264\",\n 400: \"#A3E635\",\n 500: \"#84CC16\",\n 600: \"#65A30D\",\n 700: \"#4D7C0F\",\n 800: \"#3F6212\",\n 900: \"#365314\",\n 950: \"#20320C\",\n 975: \"#121C06\",\n },\n green: {\n 25: \"#F2FDF5\",\n 50: \"#F0FDF4\",\n 100: \"#DCFCE7\",\n 200: \"#BBF7D0\",\n 300: \"#86EFAC\",\n 400: \"#4ADE80\",\n 500: \"#22C55E\",\n 600: \"#16A34A\",\n 700: \"#15803D\",\n 800: \"#166534\",\n 900: \"#14532D\",\n 950: \"#0C321B\",\n 975: \"#061C0F\",\n },\n emerald: {\n 25: \"#F3FDF8\",\n 50: \"#ECFDF5\",\n 100: \"#D1FAE5\",\n 200: \"#A7F3D0\",\n 300: \"#6EE7B7\",\n 400: \"#34D399\",\n 500: \"#10B981\",\n 600: \"#059669\",\n 700: \"#047857\",\n 800: \"#065F46\",\n 900: \"#064E3B\",\n 950: \"#032F23\",\n 975: \"#021A13\",\n },\n teal: {\n 25: \"#F0FCFB\",\n 50: \"#F0FDFA\",\n 100: \"#CCFBF1\",\n 200: \"#99F6E4\",\n 300: \"#5EEAD4\",\n 400: \"#2DD4BF\",\n 500: \"#14B8A6\",\n 600: \"#0D9488\",\n 700: \"#0F766E\",\n 800: \"#115E59\",\n 900: \"#134E4A\",\n 950: \"#0A302E\",\n 975: \"#061C1A\",\n },\n\n // ── Blues ─────────────────────────────────────────────────────────────────\n cyan: {\n 25: \"#F0FEFF\",\n 50: \"#ECFEFF\",\n 100: \"#CFFAFE\",\n 200: \"#A5F3FC\",\n 300: \"#67E8F9\",\n 400: \"#22D3EE\",\n 500: \"#06B6D4\",\n 600: \"#0891B2\",\n 700: \"#0E7490\",\n 800: \"#155E75\",\n 900: \"#164E63\",\n 950: \"#0C2F3C\",\n 975: \"#071A22\",\n },\n blueLight: {\n 25: \"#F5FBFF\",\n 50: \"#F0F9FF\",\n 100: \"#E0F2FE\",\n 200: \"#B9E6FE\",\n 300: \"#7CD4FD\",\n 400: \"#36BFFA\",\n 500: \"#0BA5EC\",\n 600: \"#0086C9\",\n 700: \"#026AA2\",\n 800: \"#065986\",\n 900: \"#0B4A6F\",\n 950: \"#062C43\",\n 975: \"#031826\",\n },\n blue: {\n 25: \"#F5FAFF\",\n 50: \"#EFF8FF\",\n 100: \"#D1E9FF\",\n 200: \"#B2DDFF\",\n 300: \"#84CAFF\",\n 400: \"#53B1FD\",\n 500: \"#2E90FA\",\n 600: \"#1570EF\",\n 700: \"#175CD3\",\n 800: \"#1849A9\",\n 900: \"#194185\",\n 950: \"#0E2669\",\n 975: \"#08153B\",\n },\n blueGray: {\n 25: \"#FCFCFD\",\n 50: \"#F8F9FC\",\n 100: \"#EAECF5\",\n 200: \"#D5D9EB\",\n 300: \"#AFB5D9\",\n 400: \"#717BBC\",\n 500: \"#4E5BA6\",\n 600: \"#3E4784\",\n 700: \"#363F72\",\n 800: \"#293056\",\n 900: \"#101323\",\n 950: \"#090B15\",\n 975: \"#05060B\",\n },\n\n // ── Purples & pinks ───────────────────────────────────────────────────────\n indigo: {\n 25: \"#F5F8FF\",\n 50: \"#EEF4FF\",\n 100: \"#E0EAFF\",\n 200: \"#C7D7FE\",\n 300: \"#A4BCFD\",\n 400: \"#8098F9\",\n 500: \"#6172F3\",\n 600: \"#444CE7\",\n 700: \"#3538CD\",\n 800: \"#2D31A6\",\n 900: \"#2D3282\",\n 950: \"#1B1F52\",\n 975: \"#10122F\",\n },\n violet: {\n 25: \"#FAFAFF\",\n 50: \"#F5F3FF\",\n 100: \"#EDE9FE\",\n 200: \"#DDD6FE\",\n 300: \"#C4B5FD\",\n 400: \"#A78BFA\",\n 500: \"#8B5CF6\",\n 600: \"#7C3AED\",\n 700: \"#6D28D9\",\n 800: \"#5B21B6\",\n 900: \"#4C1D95\",\n 950: \"#2D1159\",\n 975: \"#190932\",\n },\n purple: {\n 25: \"#FAFAFF\",\n 50: \"#F4F3FF\",\n 100: \"#EBE9FE\",\n 200: \"#D9D6FE\",\n 300: \"#BDB4FE\",\n 400: \"#9B8AFB\",\n 500: \"#7A5AF8\",\n 600: \"#6938EF\",\n 700: \"#5925DC\",\n 800: \"#4A1FB8\",\n 900: \"#3E1C96\",\n 950: \"#25105A\",\n 975: \"#140932\",\n },\n fuchsia: {\n 25: \"#FEF8FF\",\n 50: \"#FDF4FF\",\n 100: \"#FAE8FF\",\n 200: \"#F5D0FE\",\n 300: \"#F0ABFC\",\n 400: \"#E879F9\",\n 500: \"#D946EF\",\n 600: \"#C026D3\",\n 700: \"#A21CAF\",\n 800: \"#86198F\",\n 900: \"#701A75\",\n 950: \"#430F46\",\n 975: \"#250827\",\n },\n pink: {\n 25: \"#FEF6FB\",\n 50: \"#FDF2FA\",\n 100: \"#FCE7F6\",\n 200: \"#FCCEEE\",\n 300: \"#FAA7E0\",\n 400: \"#F670C7\",\n 500: \"#EE46BC\",\n 600: \"#DD2590\",\n 700: \"#C11574\",\n 800: \"#9E165F\",\n 900: \"#851651\",\n 950: \"#4F0C30\",\n 975: \"#2C071A\",\n },\n rose: {\n 25: \"#FFF5F6\",\n 50: \"#FFF1F3\",\n 100: \"#FFE4E8\",\n 200: \"#FECDD6\",\n 300: \"#FEA3B4\",\n 400: \"#FD6F8E\",\n 500: \"#F63D68\",\n 600: \"#E31B54\",\n 700: \"#C01048\",\n 800: \"#A11043\",\n 900: \"#89123E\",\n 950: \"#520A25\",\n 975: \"#2E0514\",\n },\n} as const;\n\n/**\n * Spacing scale. Keys are Tailwind-style step numbers; values show both a rem\n * string and the equivalent px number. Base unit = 4px.\n */\nexport const spacing = {\n unit: 4, // base unit in px\n 1: { rem: \"0.25rem\", px: 4 },\n 2: { rem: \"0.5rem\", px: 8 },\n 3: { rem: \"0.75rem\", px: 12 },\n 4: { rem: \"1rem\", px: 16 },\n 5: { rem: \"1.25rem\", px: 20 },\n 6: { rem: \"1.5rem\", px: 24 },\n 8: { rem: \"2rem\", px: 32 },\n 10: { rem: \"2.5rem\", px: 40 },\n 12: { rem: \"3rem\", px: 48 },\n 16: { rem: \"4rem\", px: 64 },\n 20: { rem: \"5rem\", px: 80 },\n 24: { rem: \"6rem\", px: 96 },\n 32: { rem: \"8rem\", px: 128 },\n 40: { rem: \"10rem\", px: 160 },\n 48: { rem: \"12rem\", px: 192 },\n 56: { rem: \"14rem\", px: 224 },\n 64: { rem: \"16rem\", px: 256 },\n} as const;\n\nexport type SpacingStep = keyof typeof spacing;\n\nexport const radii = {\n none: { rem: \"0rem\", px: 0 },\n xxs: { rem: \"0.125rem\", px: 2 },\n xs: { rem: \"0.25rem\", px: 4 },\n sm: { rem: \"0.375rem\", px: 6 },\n md: { rem: \"0.5rem\", px: 8 },\n lg: { rem: \"0.625rem\", px: 10 },\n xl: { rem: \"0.75rem\", px: 12 },\n \"2xl\": { rem: \"1rem\", px: 16 },\n \"3xl\": { rem: \"1.25rem\", px: 20 },\n \"4xl\": { rem: \"1.5rem\", px: 24 },\n full: { rem: \"9999px\", px: 9999 },\n} as const;\n\nexport type RadiusKey = keyof typeof radii;\n\nexport const fontFamilies = {\n sans: \"Inter, ui-sans-serif, system-ui, -apple-system, sans-serif\",\n mono: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace\",\n} as const;\n\nexport const fontWeights = {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n} as const;\n\n/**\n * Display type scale — used for hero headings and large marketing copy.\n * Each entry: [fontSize, lineHeight, letterSpacing]\n */\nexport const displayScale = {\n \"2xl\": {\n fontSize: \"4.5rem\",\n lineHeight: \"5.625rem\",\n letterSpacing: \"-0.02em\",\n }, // 72px / 90px\n xl: { fontSize: \"3.75rem\", lineHeight: \"4.5rem\", letterSpacing: \"-0.02em\" }, // 60px / 72px\n lg: { fontSize: \"3rem\", lineHeight: \"3.75rem\", letterSpacing: \"-0.02em\" }, // 48px / 60px\n md: { fontSize: \"2.25rem\", lineHeight: \"2.75rem\", letterSpacing: \"-0.02em\" }, // 36px / 44px\n sm: { fontSize: \"1.875rem\", lineHeight: \"2.375rem\", letterSpacing: \"0em\" }, // 30px / 38px\n xs: { fontSize: \"1.5rem\", lineHeight: \"2rem\", letterSpacing: \"0em\" }, // 24px / 32px\n} as const;\n\n/**\n * Text type scale — used for body copy, labels, and UI text.\n * Each entry: [fontSize, lineHeight, letterSpacing]\n */\nexport const textScale = {\n xl: { fontSize: \"1.25rem\", lineHeight: \"1.875rem\", letterSpacing: \"0em\" }, // 20px / 30px\n lg: { fontSize: \"1.125rem\", lineHeight: \"1.75rem\", letterSpacing: \"0em\" }, // 18px / 28px\n md: { fontSize: \"1rem\", lineHeight: \"1.5rem\", letterSpacing: \"0em\" }, // 16px / 24px\n sm: { fontSize: \"0.875rem\", lineHeight: \"1.25rem\", letterSpacing: \"0em\" }, // 14px / 20px\n xs: { fontSize: \"0.75rem\", lineHeight: \"1.125rem\", letterSpacing: \"0em\" }, // 12px / 18px\n} as const;\n\n/** Legacy alias kept for backwards compatibility */\nexport const fontSizes = {\n xs: textScale.xs.fontSize,\n sm: textScale.sm.fontSize,\n md: textScale.md.fontSize,\n lg: textScale.lg.fontSize,\n xl: textScale.xl.fontSize,\n} as const;\n\n// ---------------------------------------------------------------------------\n// Shadows\n// ---------------------------------------------------------------------------\n\n/**\n * Elevation shadow scale, sourced from the design system Figma file.\n * Values are expressed as CSS box-shadow strings.\n */\nexport const shadows = {\n xs: \"0px 1px 2px 0px rgba(10,13,18,0.05)\",\n sm: \"0px 1px 3px 0px rgba(10,13,18,0.10), 0px 1px 2px 0px rgba(10,13,18,0.06)\",\n md: \"0px 4px 8px -2px rgba(10,13,18,0.10), 0px 2px 4px -2px rgba(10,13,18,0.06)\",\n lg: \"0px 12px 16px -4px rgba(10,13,18,0.08), 0px 4px 6px -2px rgba(10,13,18,0.03)\",\n xl: \"0px 20px 24px -4px rgba(10,13,18,0.08), 0px 8px 8px -4px rgba(10,13,18,0.03)\",\n \"2xl\": \"0px 24px 48px -12px rgba(10,13,18,0.18)\",\n \"3xl\": \"0px 32px 64px -12px rgba(10,13,18,0.14)\",\n} as const;\n\nexport type ShadowKey = keyof typeof shadows;\n\n// ---------------------------------------------------------------------------\n// Blur / backdrop-blur\n// ---------------------------------------------------------------------------\n\n/**\n * Backdrop-blur scale.\n * Values map to CSS backdrop-filter: blur(Xpx).\n */\nexport const blurs = {\n sm: \"4px\",\n md: \"8px\",\n lg: \"12px\",\n xl: \"20px\",\n} as const;\n\nexport type BlurKey = keyof typeof blurs;\n\n// ---------------------------------------------------------------------------\n// Container breakpoints\n// ---------------------------------------------------------------------------\n\nexport const containers = {\n sm: { rem: \"40rem\", px: 640 },\n md: { rem: \"48rem\", px: 768 },\n lg: { rem: \"64rem\", px: 1024 },\n xl: { rem: \"80rem\", px: 1280 },\n} as const;\n\nexport type ContainerKey = keyof typeof containers;\n\nexport type ColorKey = keyof typeof colors;\nexport type ColorScale =\n | 25\n | 50\n | 100\n | 200\n | 300\n | 400\n | 500\n | 600\n | 700\n | 800\n | 900\n | 950\n | 975;\nexport type SizeScale = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\nexport type DisplaySize = keyof typeof displayScale;\nexport type TextSize = keyof typeof textScale;\nexport type FontWeight = keyof typeof fontWeights;\n","/**\n * Rosewood — Elegant fashion & retail theme.\n * Warm pink/blush palette, refined serif type (Playfair Display),\n * very rounded corners, soft diffused shadows.\n */\n\nimport { colors } from \"../tokens\";\nimport type { ThemeTokens, DesignTheme } from \"../theme-tokens\";\n\n// ---------------------------------------------------------------------------\n// Light\n// ---------------------------------------------------------------------------\n\nconst rosewoodLightTheme: ThemeTokens = {\n // Surfaces — warm blush tones\n surface: colors.rose[25],\n \"surface-dim\": colors.rose[50],\n \"surface-bright\": \"#FFFFFF\",\n \"surface-container-lowest\": \"#FFFFFF\",\n \"surface-container-low\": colors.rose[25],\n \"surface-container\": colors.rose[50],\n \"surface-container-high\": colors.rose[100],\n \"surface-container-highest\": colors.rose[200],\n\n // Content\n \"on-surface\": colors.stone[900],\n \"on-surface-variant\": colors.stone[600],\n \"inverse-surface\": colors.stone[900],\n \"inverse-on-surface\": colors.rose[25],\n\n // Primary — rich rosewood pink (600 for contrast against blush surfaces)\n primary: colors.red[400],\n \"on-primary\": \"#FFFFFF\",\n \"primary-container\": colors.rose[100],\n \"on-primary-container\": colors.rose[800],\n \"inverse-primary\": colors.rose[300],\n\n // Secondary — deep burgundy\n secondary: colors.red[700],\n \"on-secondary\": \"#FFFFFF\",\n \"secondary-container\": colors.rose[200],\n \"on-secondary-container\": colors.red[900],\n\n // Tertiary — dusty rose gold\n tertiary: colors.pink[400],\n \"on-tertiary\": \"#FFFFFF\",\n \"tertiary-container\": colors.pink[100],\n \"on-tertiary-container\": colors.pink[800],\n\n // Utility\n outline: colors.rose[300],\n \"outline-variant\": colors.rose[200],\n scrim: \"rgba(68,44,46,0.4)\",\n shadow: \"rgba(68,44,46,0.08)\",\n\n // Feedback\n error: colors.error[500],\n \"on-error\": \"#FFFFFF\",\n \"error-container\": colors.error[100],\n \"on-error-container\": colors.error[800],\n\n success: colors.success[500],\n \"on-success\": \"#FFFFFF\",\n \"success-container\": colors.success[100],\n \"on-success-container\": colors.success[800],\n\n warning: colors.warning[500],\n \"on-warning\": \"#FFFFFF\",\n \"warning-container\": colors.warning[100],\n \"on-warning-container\": colors.warning[800],\n\n info: colors.blue[500],\n \"on-info\": \"#FFFFFF\",\n \"info-container\": colors.blue[100],\n \"on-info-container\": colors.blue[800],\n\n // States\n \"surface-tint\": colors.rose[200],\n \"state-hover\": \"rgba(68,44,46,0.06)\",\n \"state-focus\": \"rgba(68,44,46,0.10)\",\n \"state-pressed\": \"rgba(68,44,46,0.10)\",\n \"state-dragged\": \"rgba(68,44,46,0.14)\",\n \"state-disabled\": \"rgba(68,44,46,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.pink[400],\n \"graphic-2\": colors.red[700],\n \"graphic-3\": colors.warning[500],\n \"graphic-4\": colors.success[500],\n \"graphic-5\": colors.orange[500],\n \"graphic-6\": colors.error[500],\n \"graphic-7\": colors.blue[500],\n \"graphic-8\": colors.pink[600],\n \"graphic-9\": colors.amber[500],\n \"graphic-10\": colors.slate[500],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.pink[50],\n \"graphic-2-container\": colors.red[50],\n \"graphic-3-container\": colors.warning[50],\n \"graphic-4-container\": colors.success[50],\n \"graphic-5-container\": colors.orange[50],\n \"graphic-6-container\": colors.error[50],\n \"graphic-7-container\": colors.blue[50],\n \"graphic-8-container\": colors.pink[50],\n \"graphic-9-container\": colors.amber[50],\n \"graphic-10-container\": colors.slate[50],\n \"on-graphic-1-container\": colors.pink[800],\n \"on-graphic-2-container\": colors.red[800],\n \"on-graphic-3-container\": colors.warning[800],\n \"on-graphic-4-container\": colors.success[800],\n \"on-graphic-5-container\": colors.orange[800],\n \"on-graphic-6-container\": colors.error[800],\n \"on-graphic-7-container\": colors.blue[800],\n \"on-graphic-8-container\": colors.pink[800],\n \"on-graphic-9-container\": colors.amber[800],\n \"on-graphic-10-container\": colors.slate[800],\n\n // Status\n \"status-positive\": colors.success[500],\n \"status-warning\": colors.warning[500],\n \"status-negative\": colors.red[700],\n \"status-neutral\": colors.stone[400],\n\n // Progress\n \"progress-track\": colors.rose[200],\n \"progress-indicator\": colors.red[700],\n \"progress-buffer\": colors.pink[400],\n\n // Scales\n \"scale-low\": colors.success[500],\n \"scale-medium\": colors.warning[500],\n \"scale-high\": colors.red[700],\n\n // Infrastructure\n \"graphic-outline\": colors.rose[300],\n \"graphic-divider\": colors.rose[200],\n \"graphic-label\": colors.stone[600],\n \"graphic-marker\": colors.red[700],\n\n // Overlays\n \"graphic-hover\": colors.rose[100],\n \"graphic-muted\": colors.rose[200],\n \"annotation-line\": colors.stone[400],\n};\n\n// ---------------------------------------------------------------------------\n// Dark\n// ---------------------------------------------------------------------------\n\nconst rosewoodDarkTheme: ThemeTokens = {\n // Surfaces — deep burgundy-charcoal\n surface: colors.stone[900],\n \"surface-dim\": colors.stone[950],\n \"surface-bright\": colors.stone[800],\n \"surface-container-lowest\": colors.stone[950],\n \"surface-container-low\": colors.stone[900],\n \"surface-container\": colors.stone[800],\n \"surface-container-high\": colors.stone[700],\n \"surface-container-highest\": colors.stone[600],\n\n // Content\n \"on-surface\": colors.rose[25],\n \"on-surface-variant\": colors.rose[300],\n \"inverse-surface\": colors.rose[25],\n \"inverse-on-surface\": colors.stone[900],\n\n // Primary — warm pink lighter for dark bg\n primary: colors.rose[200],\n \"on-primary\": colors.stone[900],\n \"primary-container\": colors.stone[700],\n \"on-primary-container\": colors.rose[200],\n \"inverse-primary\": colors.red[700],\n\n // Secondary\n secondary: colors.rose[300],\n \"on-secondary\": colors.red[950],\n \"secondary-container\": colors.red[900],\n \"on-secondary-container\": colors.rose[200],\n\n // Tertiary\n tertiary: colors.pink[300],\n \"on-tertiary\": colors.pink[950],\n \"tertiary-container\": colors.pink[800],\n \"on-tertiary-container\": colors.pink[100],\n\n // Utility\n outline: colors.stone[600],\n \"outline-variant\": colors.stone[700],\n scrim: \"rgba(255,255,255,0.1)\",\n shadow: \"rgba(0,0,0,0.3)\",\n\n // Feedback\n error: colors.error[400],\n \"on-error\": colors.error[900],\n \"error-container\": colors.error[950],\n \"on-error-container\": colors.error[100],\n\n success: colors.success[400],\n \"on-success\": colors.success[900],\n \"success-container\": colors.success[950],\n \"on-success-container\": colors.success[100],\n\n warning: colors.warning[400],\n \"on-warning\": colors.warning[900],\n \"warning-container\": colors.warning[950],\n \"on-warning-container\": colors.warning[100],\n\n info: colors.blue[400],\n \"on-info\": colors.blue[900],\n \"info-container\": colors.blue[950],\n \"on-info-container\": colors.blue[100],\n\n // States\n \"surface-tint\": colors.rose[200],\n \"state-hover\": \"rgba(254,219,208,0.08)\",\n \"state-focus\": \"rgba(254,219,208,0.12)\",\n \"state-pressed\": \"rgba(254,219,208,0.12)\",\n \"state-dragged\": \"rgba(254,219,208,0.16)\",\n \"state-disabled\": \"rgba(255,245,243,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.pink[300],\n \"graphic-2\": colors.rose[300],\n \"graphic-3\": colors.warning[400],\n \"graphic-4\": colors.success[400],\n \"graphic-5\": colors.orange[400],\n \"graphic-6\": colors.error[400],\n \"graphic-7\": colors.blue[400],\n \"graphic-8\": colors.pink[400],\n \"graphic-9\": colors.amber[400],\n \"graphic-10\": colors.slate[400],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.pink[950],\n \"graphic-2-container\": colors.rose[950],\n \"graphic-3-container\": colors.warning[950],\n \"graphic-4-container\": colors.success[950],\n \"graphic-5-container\": colors.orange[950],\n \"graphic-6-container\": colors.error[950],\n \"graphic-7-container\": colors.blue[950],\n \"graphic-8-container\": colors.pink[950],\n \"graphic-9-container\": colors.amber[950],\n \"graphic-10-container\": colors.slate[950],\n \"on-graphic-1-container\": colors.pink[100],\n \"on-graphic-2-container\": colors.rose[100],\n \"on-graphic-3-container\": colors.warning[100],\n \"on-graphic-4-container\": colors.success[100],\n \"on-graphic-5-container\": colors.orange[100],\n \"on-graphic-6-container\": colors.error[100],\n \"on-graphic-7-container\": colors.blue[100],\n \"on-graphic-8-container\": colors.pink[100],\n \"on-graphic-9-container\": colors.amber[100],\n \"on-graphic-10-container\": colors.slate[100],\n\n // Status\n \"status-positive\": colors.success[400],\n \"status-warning\": colors.warning[400],\n \"status-negative\": colors.rose[300],\n \"status-neutral\": colors.stone[500],\n\n // Progress\n \"progress-track\": colors.stone[700],\n \"progress-indicator\": colors.rose[200],\n \"progress-buffer\": colors.stone[600],\n\n // Scales\n \"scale-low\": colors.success[400],\n \"scale-medium\": colors.warning[400],\n \"scale-high\": colors.rose[300],\n\n // Infrastructure\n \"graphic-outline\": colors.stone[600],\n \"graphic-divider\": colors.stone[700],\n \"graphic-label\": colors.rose[300],\n \"graphic-marker\": colors.rose[200],\n\n // Overlays\n \"graphic-hover\": colors.stone[700],\n \"graphic-muted\": colors.stone[700],\n \"annotation-line\": colors.stone[500],\n};\n\n// ---------------------------------------------------------------------------\n// Rosewood design theme definition\n// ---------------------------------------------------------------------------\n\nexport const rosewoodTheme: DesignTheme = {\n label: \"Rosewood\",\n description: \"Elegant fashion & retail\",\n swatch: colors.rose[200],\n light: rosewoodLightTheme,\n dark: rosewoodDarkTheme,\n globals: {\n \"--radius-xs\": \"0.5rem\",\n \"--radius-sm\": \"0.625rem\",\n \"--radius-md\": \"0.875rem\",\n \"--radius-lg\": \"1.25rem\",\n \"--radius-xl\": \"1.5rem\",\n \"--radius-2xl\": \"2rem\",\n \"--radius-3xl\": \"2.5rem\",\n \"--radius-4xl\": \"3rem\",\n \"--font-sans\": \"'JetBrains Mono', 'Courier New', monospace\",\n \"--font-heading\": \"'JetBrains Mono', 'Courier New', monospace\",\n \"--font-body\": \"'JetBrains Mono', 'Courier New', monospace\",\n \"--font-weight-normal\": \"400\",\n \"--font-weight-medium\": \"500\",\n \"--font-weight-semibold\": \"600\",\n \"--font-weight-bold\": \"700\",\n\n // ── Typography scale (standard sizes) ──\n \"--text-xs\": \"0.75rem\",\n \"--text-xs--line-height\": \"1.125rem\",\n \"--text-sm\": \"0.875rem\",\n \"--text-sm--line-height\": \"1.25rem\",\n \"--text-base\": \"1rem\",\n \"--text-base--line-height\": \"1.5rem\",\n \"--text-lg\": \"1.125rem\",\n \"--text-lg--line-height\": \"1.75rem\",\n \"--text-xl\": \"1.25rem\",\n \"--text-xl--line-height\": \"1.875rem\",\n \"--text-2xl\": \"1.5rem\",\n \"--text-2xl--line-height\": \"2rem\",\n \"--text-3xl\": \"1.875rem\",\n \"--text-3xl--line-height\": \"2.375rem\",\n \"--text-4xl\": \"2.25rem\",\n \"--text-4xl--line-height\": \"2.75rem\",\n \"--letter-spacing-normal\": \"0em\",\n \"--letter-spacing-tight\": \"-0.02em\",\n \"--shadow-xs\": \"0 1px 4px 0 rgba(68,44,46,0.04)\",\n \"--shadow-sm\": \"0 2px 8px -1px rgba(68,44,46,0.06)\",\n \"--shadow-md\": \"0 4px 16px -2px rgba(68,44,46,0.06)\",\n \"--shadow-lg\": \"0 8px 28px -4px rgba(68,44,46,0.06)\",\n \"--shadow-xl\": \"0 16px 44px -6px rgba(68,44,46,0.06)\",\n \"--shadow-2xl\": \"0 24px 60px -8px rgba(68,44,46,0.06)\",\n },\n};\n","/**\n * Botanica — Nature-inspired cooking & lifestyle theme.\n * Deep green + orange accent, warm wedge typography (Montserrat),\n * moderate rounded corners, earthy textured shadows.\n */\n\nimport { colors } from \"../tokens\";\nimport type { ThemeTokens, DesignTheme } from \"../theme-tokens\";\n\n// ---------------------------------------------------------------------------\n// Light\n// ---------------------------------------------------------------------------\n\nconst botanicaLightTheme: ThemeTokens = {\n // Surfaces — warm olive-cream\n surface: colors.yellow[25],\n \"surface-dim\": colors.yellow[100],\n \"surface-bright\": \"#FFFFFF\",\n \"surface-container-lowest\": \"#FFFFFF\",\n \"surface-container-low\": colors.yellow[50],\n \"surface-container\": colors.yellow[100],\n \"surface-container-high\": colors.yellow[200],\n \"surface-container-highest\": colors.lime[200],\n\n // Content\n \"on-surface\": colors.emerald[950],\n \"on-surface-variant\": colors.emerald[700],\n \"inverse-surface\": colors.emerald[950],\n \"inverse-on-surface\": colors.lime[50],\n\n // Primary — deep herb green\n primary: colors.emerald[700],\n \"on-primary\": \"#FFFFFF\",\n \"primary-container\": colors.emerald[200],\n \"on-primary-container\": colors.emerald[950],\n \"inverse-primary\": colors.emerald[400],\n\n // Secondary — spicy orange-red\n secondary: colors.orange[500],\n \"on-secondary\": \"#FFFFFF\",\n \"secondary-container\": colors.orange[100],\n \"on-secondary-container\": colors.orange[900],\n\n // Tertiary — earthy olive\n tertiary: colors.lime[600],\n \"on-tertiary\": \"#FFFFFF\",\n \"tertiary-container\": colors.lime[100],\n \"on-tertiary-container\": colors.lime[900],\n\n // Utility\n outline: colors.emerald[300],\n \"outline-variant\": colors.emerald[200],\n scrim: \"rgba(26,58,42,0.4)\",\n shadow: \"rgba(26,58,42,0.10)\",\n\n // Feedback\n error: colors.error[600],\n \"on-error\": \"#FFFFFF\",\n \"error-container\": colors.error[100],\n \"on-error-container\": colors.error[800],\n\n success: colors.success[600],\n \"on-success\": \"#FFFFFF\",\n \"success-container\": colors.success[100],\n \"on-success-container\": colors.success[800],\n\n warning: colors.warning[600],\n \"on-warning\": \"#FFFFFF\",\n \"warning-container\": colors.warning[100],\n \"on-warning-container\": colors.warning[800],\n\n info: colors.blue[600],\n \"on-info\": \"#FFFFFF\",\n \"info-container\": colors.blue[100],\n \"on-info-container\": colors.blue[800],\n\n // States\n \"surface-tint\": colors.emerald[700],\n \"state-hover\": \"rgba(26,58,42,0.06)\",\n \"state-focus\": \"rgba(26,58,42,0.10)\",\n \"state-pressed\": \"rgba(26,58,42,0.10)\",\n \"state-dragged\": \"rgba(26,58,42,0.14)\",\n \"state-disabled\": \"rgba(26,58,42,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.emerald[700],\n \"graphic-2\": colors.orange[500],\n \"graphic-3\": colors.lime[600],\n \"graphic-4\": colors.success[600],\n \"graphic-5\": colors.warning[500],\n \"graphic-6\": colors.error[600],\n \"graphic-7\": colors.blue[600],\n \"graphic-8\": colors.green[600],\n \"graphic-9\": colors.orange[600],\n \"graphic-10\": colors.teal[600],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.emerald[50],\n \"graphic-2-container\": colors.orange[50],\n \"graphic-3-container\": colors.lime[50],\n \"graphic-4-container\": colors.success[50],\n \"graphic-5-container\": colors.warning[50],\n \"graphic-6-container\": colors.error[50],\n \"graphic-7-container\": colors.blue[50],\n \"graphic-8-container\": colors.green[50],\n \"graphic-9-container\": colors.orange[50],\n \"graphic-10-container\": colors.teal[50],\n \"on-graphic-1-container\": colors.emerald[800],\n \"on-graphic-2-container\": colors.orange[800],\n \"on-graphic-3-container\": colors.lime[800],\n \"on-graphic-4-container\": colors.success[800],\n \"on-graphic-5-container\": colors.warning[800],\n \"on-graphic-6-container\": colors.error[800],\n \"on-graphic-7-container\": colors.blue[800],\n \"on-graphic-8-container\": colors.green[800],\n \"on-graphic-9-container\": colors.orange[800],\n \"on-graphic-10-container\": colors.teal[800],\n\n // Status\n \"status-positive\": colors.success[600],\n \"status-warning\": colors.warning[600],\n \"status-negative\": colors.error[600],\n \"status-neutral\": colors.emerald[400],\n\n // Progress\n \"progress-track\": colors.emerald[200],\n \"progress-indicator\": colors.emerald[700],\n \"progress-buffer\": colors.emerald[400],\n\n // Scales\n \"scale-low\": colors.success[600],\n \"scale-medium\": colors.warning[600],\n \"scale-high\": colors.error[600],\n\n // Infrastructure\n \"graphic-outline\": colors.emerald[300],\n \"graphic-divider\": colors.emerald[200],\n \"graphic-label\": colors.emerald[700],\n \"graphic-marker\": colors.orange[500],\n\n // Overlays\n \"graphic-hover\": colors.emerald[50],\n \"graphic-muted\": colors.emerald[200],\n \"annotation-line\": colors.emerald[400],\n};\n\n// ---------------------------------------------------------------------------\n// Dark\n// ---------------------------------------------------------------------------\n\nconst botanicaDarkTheme: ThemeTokens = {\n // Surfaces — dark forest\n surface: colors.emerald[975],\n \"surface-dim\": colors.emerald[975],\n \"surface-bright\": colors.emerald[900],\n \"surface-container-lowest\": colors.emerald[975],\n \"surface-container-low\": colors.emerald[950],\n \"surface-container\": colors.emerald[900],\n \"surface-container-high\": colors.green[900],\n \"surface-container-highest\": colors.green[800],\n\n // Content\n \"on-surface\": colors.emerald[50],\n \"on-surface-variant\": colors.emerald[300],\n \"inverse-surface\": colors.emerald[50],\n \"inverse-on-surface\": colors.emerald[950],\n\n // Primary\n primary: colors.emerald[300],\n \"on-primary\": colors.emerald[950],\n \"primary-container\": colors.emerald[900],\n \"on-primary-container\": colors.emerald[200],\n \"inverse-primary\": colors.emerald[700],\n\n // Secondary\n secondary: colors.orange[400],\n \"on-secondary\": colors.orange[950],\n \"secondary-container\": colors.orange[900],\n \"on-secondary-container\": colors.orange[100],\n\n // Tertiary\n tertiary: colors.lime[400],\n \"on-tertiary\": colors.lime[950],\n \"tertiary-container\": colors.lime[900],\n \"on-tertiary-container\": colors.lime[100],\n\n // Utility\n outline: colors.emerald[600],\n \"outline-variant\": colors.emerald[800],\n scrim: \"rgba(255,255,255,0.1)\",\n shadow: \"rgba(0,0,0,0.3)\",\n\n // Feedback\n error: colors.error[400],\n \"on-error\": colors.error[950],\n \"error-container\": colors.error[900],\n \"on-error-container\": colors.error[100],\n\n success: colors.success[400],\n \"on-success\": colors.success[950],\n \"success-container\": colors.success[900],\n \"on-success-container\": colors.success[100],\n\n warning: colors.warning[400],\n \"on-warning\": colors.warning[950],\n \"warning-container\": colors.warning[900],\n \"on-warning-container\": colors.warning[100],\n\n info: colors.blue[400],\n \"on-info\": colors.blue[950],\n \"info-container\": colors.blue[900],\n \"on-info-container\": colors.blue[100],\n\n // States\n \"surface-tint\": colors.emerald[300],\n \"state-hover\": \"rgba(110,231,183,0.08)\",\n \"state-focus\": \"rgba(110,231,183,0.12)\",\n \"state-pressed\": \"rgba(110,231,183,0.12)\",\n \"state-dragged\": \"rgba(110,231,183,0.16)\",\n \"state-disabled\": \"rgba(236,253,245,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.emerald[300],\n \"graphic-2\": colors.orange[400],\n \"graphic-3\": colors.lime[400],\n \"graphic-4\": colors.success[400],\n \"graphic-5\": colors.warning[400],\n \"graphic-6\": colors.error[400],\n \"graphic-7\": colors.blue[400],\n \"graphic-8\": colors.green[400],\n \"graphic-9\": colors.orange[400],\n \"graphic-10\": colors.teal[400],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.emerald[950],\n \"graphic-2-container\": colors.orange[950],\n \"graphic-3-container\": colors.lime[950],\n \"graphic-4-container\": colors.success[950],\n \"graphic-5-container\": colors.warning[950],\n \"graphic-6-container\": colors.error[950],\n \"graphic-7-container\": colors.blue[950],\n \"graphic-8-container\": colors.green[950],\n \"graphic-9-container\": colors.orange[950],\n \"graphic-10-container\": colors.teal[950],\n \"on-graphic-1-container\": colors.emerald[100],\n \"on-graphic-2-container\": colors.orange[100],\n \"on-graphic-3-container\": colors.lime[100],\n \"on-graphic-4-container\": colors.success[100],\n \"on-graphic-5-container\": colors.warning[100],\n \"on-graphic-6-container\": colors.error[100],\n \"on-graphic-7-container\": colors.blue[100],\n \"on-graphic-8-container\": colors.green[100],\n \"on-graphic-9-container\": colors.orange[100],\n \"on-graphic-10-container\": colors.teal[100],\n\n // Status\n \"status-positive\": colors.success[400],\n \"status-warning\": colors.warning[400],\n \"status-negative\": colors.error[400],\n \"status-neutral\": colors.emerald[500],\n\n // Progress\n \"progress-track\": colors.emerald[800],\n \"progress-indicator\": colors.emerald[300],\n \"progress-buffer\": colors.emerald[600],\n\n // Scales\n \"scale-low\": colors.success[400],\n \"scale-medium\": colors.warning[400],\n \"scale-high\": colors.error[400],\n\n // Infrastructure\n \"graphic-outline\": colors.emerald[600],\n \"graphic-divider\": colors.emerald[800],\n \"graphic-label\": colors.emerald[300],\n \"graphic-marker\": colors.orange[400],\n\n // Overlays\n \"graphic-hover\": colors.emerald[900],\n \"graphic-muted\": colors.emerald[800],\n \"annotation-line\": colors.emerald[500],\n};\n\n// ---------------------------------------------------------------------------\n// Botanica design theme definition\n// ---------------------------------------------------------------------------\n\nexport const botanicaTheme: DesignTheme = {\n label: \"Botanica\",\n description: \"Nature-inspired cooking & lifestyle\",\n swatch: colors.emerald[700],\n light: botanicaLightTheme,\n dark: botanicaDarkTheme,\n globals: {\n \"--radius-xs\": \"0.25rem\",\n \"--radius-sm\": \"0.375rem\",\n \"--radius-md\": \"0.5rem\",\n \"--radius-lg\": \"0.75rem\",\n \"--radius-xl\": \"1rem\",\n \"--radius-2xl\": \"1.25rem\",\n \"--radius-3xl\": \"1.5rem\",\n \"--radius-4xl\": \"2rem\",\n \"--font-sans\": \"'Inter', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-heading\": \"'Inter', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-body\": \"'Inter', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-weight-normal\": \"400\",\n \"--font-weight-medium\": \"500\",\n \"--font-weight-semibold\": \"600\",\n \"--font-weight-bold\": \"700\",\n\n // ── Typography scale (geometric sans — standard sizes, moderate leading) ──\n \"--text-xs\": \"0.75rem\",\n \"--text-xs--line-height\": \"1.125rem\",\n \"--text-sm\": \"0.875rem\",\n \"--text-sm--line-height\": \"1.25rem\",\n \"--text-base\": \"1rem\",\n \"--text-base--line-height\": \"1.5rem\",\n \"--text-lg\": \"1.125rem\",\n \"--text-lg--line-height\": \"1.75rem\",\n \"--text-xl\": \"1.25rem\",\n \"--text-xl--line-height\": \"1.875rem\",\n \"--text-2xl\": \"1.5rem\",\n \"--text-2xl--line-height\": \"2rem\",\n \"--text-3xl\": \"1.875rem\",\n \"--text-3xl--line-height\": \"2.375rem\",\n \"--text-4xl\": \"2.25rem\",\n \"--text-4xl--line-height\": \"2.75rem\",\n \"--letter-spacing-normal\": \"0.005em\",\n \"--letter-spacing-tight\": \"-0.02em\",\n \"--shadow-xs\": \"0 1px 2px 0 rgba(26,58,42,0.08)\",\n \"--shadow-sm\": \"0 2px 4px -1px rgba(26,58,42,0.10)\",\n \"--shadow-md\": \"0 3px 10px -2px rgba(26,58,42,0.10)\",\n \"--shadow-lg\": \"0 6px 20px -4px rgba(26,58,42,0.12)\",\n \"--shadow-xl\": \"0 12px 32px -6px rgba(26,58,42,0.12)\",\n \"--shadow-2xl\": \"0 20px 48px -8px rgba(26,58,42,0.14)\",\n },\n};\n","/**\n * Inkwell — Bold editorial & news theme.\n * High-contrast monochrome + purple editorial ink, geometric type\n * (Libre Franklin), zero radius, crisp geometric shadows.\n */\n\nimport { colors } from \"../tokens\";\nimport type { ThemeTokens, DesignTheme } from \"../theme-tokens\";\n\n// ---------------------------------------------------------------------------\n// Light\n// ---------------------------------------------------------------------------\n\nconst inkwellLightTheme: ThemeTokens = {\n // Surfaces — pure white / cool gray\n surface: \"#FFFFFF\",\n \"surface-dim\": colors.gray[100],\n \"surface-bright\": \"#FFFFFF\",\n \"surface-container-lowest\": \"#FFFFFF\",\n \"surface-container-low\": colors.gray[50],\n \"surface-container\": colors.gray[100],\n \"surface-container-high\": colors.gray[200],\n \"surface-container-highest\": colors.gray[300],\n\n // Content — near black\n \"on-surface\": colors.gray[950],\n \"on-surface-variant\": colors.gray[700],\n \"inverse-surface\": colors.gray[900],\n \"inverse-on-surface\": colors.gray[50],\n\n // Primary — deep purple (editorial ink)\n primary: colors.violet[600],\n \"on-primary\": \"#FFFFFF\",\n \"primary-container\": colors.violet[100],\n \"on-primary-container\": colors.violet[900],\n \"inverse-primary\": colors.violet[300],\n\n // Secondary — muted charcoal\n secondary: colors.gray[700],\n \"on-secondary\": \"#FFFFFF\",\n \"secondary-container\": colors.gray[200],\n \"on-secondary-container\": colors.gray[900],\n\n // Tertiary — editorial red accent\n tertiary: colors.red[600],\n \"on-tertiary\": \"#FFFFFF\",\n \"tertiary-container\": colors.red[100],\n \"on-tertiary-container\": colors.red[900],\n\n // Utility\n outline: colors.gray[300],\n \"outline-variant\": colors.gray[200],\n scrim: \"rgba(0,0,0,0.5)\",\n shadow: \"rgba(0,0,0,0.15)\",\n\n // Feedback\n error: colors.error[600],\n \"on-error\": \"#FFFFFF\",\n \"error-container\": colors.error[100],\n \"on-error-container\": colors.error[800],\n\n success: colors.success[600],\n \"on-success\": \"#FFFFFF\",\n \"success-container\": colors.success[100],\n \"on-success-container\": colors.success[800],\n\n warning: colors.warning[600],\n \"on-warning\": \"#FFFFFF\",\n \"warning-container\": colors.warning[100],\n \"on-warning-container\": colors.warning[800],\n\n info: colors.blue[600],\n \"on-info\": \"#FFFFFF\",\n \"info-container\": colors.blue[100],\n \"on-info-container\": colors.blue[800],\n\n // States\n \"surface-tint\": colors.violet[600],\n \"state-hover\": \"rgba(0,0,0,0.06)\",\n \"state-focus\": \"rgba(0,0,0,0.10)\",\n \"state-pressed\": \"rgba(0,0,0,0.10)\",\n \"state-dragged\": \"rgba(0,0,0,0.14)\",\n \"state-disabled\": \"rgba(0,0,0,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.violet[600],\n \"graphic-2\": colors.red[600],\n \"graphic-3\": colors.gray[700],\n \"graphic-4\": colors.success[600],\n \"graphic-5\": colors.warning[600],\n \"graphic-6\": colors.blue[600],\n \"graphic-7\": colors.purple[600],\n \"graphic-8\": colors.teal[600],\n \"graphic-9\": colors.orange[600],\n \"graphic-10\": colors.blueGray[600],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.violet[50],\n \"graphic-2-container\": colors.red[50],\n \"graphic-3-container\": colors.gray[100],\n \"graphic-4-container\": colors.success[50],\n \"graphic-5-container\": colors.warning[50],\n \"graphic-6-container\": colors.blue[50],\n \"graphic-7-container\": colors.purple[50],\n \"graphic-8-container\": colors.teal[50],\n \"graphic-9-container\": colors.orange[50],\n \"graphic-10-container\": colors.blueGray[50],\n \"on-graphic-1-container\": colors.violet[800],\n \"on-graphic-2-container\": colors.red[800],\n \"on-graphic-3-container\": colors.gray[800],\n \"on-graphic-4-container\": colors.success[800],\n \"on-graphic-5-container\": colors.warning[800],\n \"on-graphic-6-container\": colors.blue[800],\n \"on-graphic-7-container\": colors.purple[800],\n \"on-graphic-8-container\": colors.teal[800],\n \"on-graphic-9-container\": colors.orange[800],\n \"on-graphic-10-container\": colors.blueGray[800],\n\n // Status\n \"status-positive\": colors.success[600],\n \"status-warning\": colors.warning[600],\n \"status-negative\": colors.red[600],\n \"status-neutral\": colors.gray[400],\n\n // Progress\n \"progress-track\": colors.gray[200],\n \"progress-indicator\": colors.violet[600],\n \"progress-buffer\": colors.violet[300],\n\n // Scales\n \"scale-low\": colors.success[600],\n \"scale-medium\": colors.warning[600],\n \"scale-high\": colors.red[600],\n\n // Infrastructure\n \"graphic-outline\": colors.gray[300],\n \"graphic-divider\": colors.gray[200],\n \"graphic-label\": colors.gray[700],\n \"graphic-marker\": colors.violet[600],\n\n // Overlays\n \"graphic-hover\": colors.violet[50],\n \"graphic-muted\": colors.gray[200],\n \"annotation-line\": colors.gray[400],\n};\n\n// ---------------------------------------------------------------------------\n// Dark\n// ---------------------------------------------------------------------------\n\nconst inkwellDarkTheme: ThemeTokens = {\n // Surfaces — pure dark editorial\n surface: colors.gray[950],\n \"surface-dim\": colors.gray[975],\n \"surface-bright\": colors.gray[800],\n \"surface-container-lowest\": colors.gray[975],\n \"surface-container-low\": colors.gray[950],\n \"surface-container\": colors.gray[900],\n \"surface-container-high\": colors.gray[800],\n \"surface-container-highest\": colors.gray[700],\n\n // Content\n \"on-surface\": colors.gray[50],\n \"on-surface-variant\": colors.gray[400],\n \"inverse-surface\": colors.gray[50],\n \"inverse-on-surface\": colors.gray[950],\n\n // Primary\n primary: colors.violet[300],\n \"on-primary\": colors.violet[950],\n \"primary-container\": colors.violet[800],\n \"on-primary-container\": colors.violet[100],\n \"inverse-primary\": colors.violet[600],\n\n // Secondary\n secondary: colors.gray[400],\n \"on-secondary\": colors.gray[900],\n \"secondary-container\": colors.gray[700],\n \"on-secondary-container\": colors.gray[100],\n\n // Tertiary\n tertiary: colors.red[400],\n \"on-tertiary\": colors.red[950],\n \"tertiary-container\": colors.red[900],\n \"on-tertiary-container\": colors.red[100],\n\n // Utility\n outline: colors.gray[600],\n \"outline-variant\": colors.gray[700],\n scrim: \"rgba(255,255,255,0.1)\",\n shadow: \"rgba(0,0,0,0.4)\",\n\n // Feedback\n error: colors.error[400],\n \"on-error\": colors.error[950],\n \"error-container\": colors.error[900],\n \"on-error-container\": colors.error[100],\n\n success: colors.success[400],\n \"on-success\": colors.success[950],\n \"success-container\": colors.success[900],\n \"on-success-container\": colors.success[100],\n\n warning: colors.warning[400],\n \"on-warning\": colors.warning[950],\n \"warning-container\": colors.warning[900],\n \"on-warning-container\": colors.warning[100],\n\n info: colors.blue[400],\n \"on-info\": colors.blue[950],\n \"info-container\": colors.blue[900],\n \"on-info-container\": colors.blue[100],\n\n // States\n \"surface-tint\": colors.violet[300],\n \"state-hover\": \"rgba(196,181,253,0.08)\",\n \"state-focus\": \"rgba(196,181,253,0.12)\",\n \"state-pressed\": \"rgba(196,181,253,0.12)\",\n \"state-dragged\": \"rgba(196,181,253,0.16)\",\n \"state-disabled\": \"rgba(250,250,250,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.violet[300],\n \"graphic-2\": colors.red[400],\n \"graphic-3\": colors.gray[400],\n \"graphic-4\": colors.success[400],\n \"graphic-5\": colors.warning[400],\n \"graphic-6\": colors.blue[400],\n \"graphic-7\": colors.purple[400],\n \"graphic-8\": colors.teal[400],\n \"graphic-9\": colors.orange[400],\n \"graphic-10\": colors.blueGray[400],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.violet[950],\n \"graphic-2-container\": colors.red[950],\n \"graphic-3-container\": colors.gray[900],\n \"graphic-4-container\": colors.success[950],\n \"graphic-5-container\": colors.warning[950],\n \"graphic-6-container\": colors.blue[950],\n \"graphic-7-container\": colors.purple[950],\n \"graphic-8-container\": colors.teal[950],\n \"graphic-9-container\": colors.orange[950],\n \"graphic-10-container\": colors.blueGray[950],\n \"on-graphic-1-container\": colors.violet[100],\n \"on-graphic-2-container\": colors.red[100],\n \"on-graphic-3-container\": colors.gray[100],\n \"on-graphic-4-container\": colors.success[100],\n \"on-graphic-5-container\": colors.warning[100],\n \"on-graphic-6-container\": colors.blue[100],\n \"on-graphic-7-container\": colors.purple[100],\n \"on-graphic-8-container\": colors.teal[100],\n \"on-graphic-9-container\": colors.orange[100],\n \"on-graphic-10-container\": colors.blueGray[100],\n\n // Status\n \"status-positive\": colors.success[400],\n \"status-warning\": colors.warning[400],\n \"status-negative\": colors.red[400],\n \"status-neutral\": colors.gray[500],\n\n // Progress\n \"progress-track\": colors.gray[700],\n \"progress-indicator\": colors.violet[300],\n \"progress-buffer\": colors.violet[700],\n\n // Scales\n \"scale-low\": colors.success[400],\n \"scale-medium\": colors.warning[400],\n \"scale-high\": colors.red[400],\n\n // Infrastructure\n \"graphic-outline\": colors.gray[600],\n \"graphic-divider\": colors.gray[700],\n \"graphic-label\": colors.gray[400],\n \"graphic-marker\": colors.violet[300],\n\n // Overlays\n \"graphic-hover\": colors.violet[800],\n \"graphic-muted\": colors.gray[700],\n \"annotation-line\": colors.gray[500],\n};\n\n// ---------------------------------------------------------------------------\n// Inkwell design theme definition\n// ---------------------------------------------------------------------------\n\nexport const inkwellTheme: DesignTheme = {\n label: \"Inkwell\",\n description: \"Bold editorial & news\",\n swatch: colors.violet[600],\n light: inkwellLightTheme,\n dark: inkwellDarkTheme,\n globals: {\n \"--radius-xs\": \"0px\",\n \"--radius-sm\": \"0px\",\n \"--radius-md\": \"2px\",\n \"--radius-lg\": \"2px\",\n \"--radius-xl\": \"4px\",\n \"--radius-2xl\": \"4px\",\n \"--radius-3xl\": \"4px\",\n \"--radius-4xl\": \"4px\",\n \"--font-sans\": \"'Space Grotesk', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-heading\": \"'Space Grotesk', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-body\": \"'Space Grotesk', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-weight-normal\": \"400\",\n \"--font-weight-medium\": \"500\",\n \"--font-weight-semibold\": \"600\",\n \"--font-weight-bold\": \"700\",\n\n // ── Typography scale (editorial — tighter body, punchy display headings) ──\n \"--text-xs\": \"0.6875rem\",\n \"--text-xs--line-height\": \"1rem\",\n \"--text-sm\": \"0.8125rem\",\n \"--text-sm--line-height\": \"1.25rem\",\n \"--text-base\": \"0.9375rem\",\n \"--text-base--line-height\": \"1.375rem\",\n \"--text-lg\": \"1.0625rem\",\n \"--text-lg--line-height\": \"1.5rem\",\n \"--text-xl\": \"1.25rem\",\n \"--text-xl--line-height\": \"1.75rem\",\n \"--text-2xl\": \"1.625rem\",\n \"--text-2xl--line-height\": \"2rem\",\n \"--text-3xl\": \"2.125rem\",\n \"--text-3xl--line-height\": \"2.5rem\",\n \"--text-4xl\": \"2.75rem\",\n \"--text-4xl--line-height\": \"3.25rem\",\n \"--letter-spacing-normal\": \"0em\",\n \"--letter-spacing-tight\": \"-0.025em\",\n \"--shadow-xs\": \"0 1px 2px 0 rgba(0,0,0,0.14)\",\n \"--shadow-sm\": \"0 1px 3px 0 rgba(0,0,0,0.18)\",\n \"--shadow-md\": \"0 2px 6px -1px rgba(0,0,0,0.20)\",\n \"--shadow-lg\": \"0 4px 12px -2px rgba(0,0,0,0.22)\",\n \"--shadow-xl\": \"0 8px 24px -4px rgba(0,0,0,0.22)\",\n \"--shadow-2xl\": \"0 12px 36px -6px rgba(0,0,0,0.24)\",\n },\n};\n","/**\n * Theme tokens — semantic design tokens for the PixelPlay UI system.\n *\n * THIS FILE IS THE SINGLE SOURCE OF TRUTH FOR THEMING.\n * To swap the entire theme, replace `lightTheme` and `darkTheme` below with\n * a new palette. All CSS custom properties are generated from these objects\n * at runtime — no other file needs to change.\n *\n * Token names map 1-to-1 to CSS custom properties: `primary` → `--primary`.\n * Use them in components via `var(--primary)`, `var(--on-surface)`, etc.\n */\n\nimport { colors } from \"./tokens\";\n\n// ---------------------------------------------------------------------------\n// Token type — every semantic token the system recognises\n// ---------------------------------------------------------------------------\n\nexport type ThemeTokens = {\n // ── Surfaces ──────────────────────────────────────────────────────────────\n /** Main app background / base layer */\n surface: string;\n /** Sidebar or dimmed backgrounds */\n \"surface-dim\": string;\n /** High-emphasis background (modals, popovers) */\n \"surface-bright\": string;\n /** Cards — lowest elevation */\n \"surface-container-lowest\": string;\n /** Cards / Inset sections */\n \"surface-container-low\": string;\n /** Dashboard widgets / Main cards */\n \"surface-container\": string;\n /** Modals / Dialogs */\n \"surface-container-high\": string;\n /** Top App Bar / Focused elements */\n \"surface-container-highest\": string;\n\n // ── Content ───────────────────────────────────────────────────────────────\n /** Primary text / High-emphasis icons */\n \"on-surface\": string;\n /** Secondary text / Captions / Helper text */\n \"on-surface-variant\": string;\n /** Tooltip backgrounds / Snackbars */\n \"inverse-surface\": string;\n /** Tooltip text / Snackbar actions */\n \"inverse-on-surface\": string;\n\n // ── Primary ───────────────────────────────────────────────────────────────\n /** Primary buttons / Active states */\n primary: string;\n /** Text on Primary buttons */\n \"on-primary\": string;\n /** Active menu item background */\n \"primary-container\": string;\n /** Text on active menu items */\n \"on-primary-container\": string;\n /** Inverse theme primary actions */\n \"inverse-primary\": string;\n\n // ── Secondary ─────────────────────────────────────────────────────────────\n /** Secondary buttons / Filter chips */\n secondary: string;\n /** Text on Secondary elements */\n \"on-secondary\": string;\n /** Selected toggle / chip background */\n \"secondary-container\": string;\n /** Text on selected toggle / chip */\n \"on-secondary-container\": string;\n\n // ── Tertiary ──────────────────────────────────────────────────────────────\n /** Accent elements / Specific chart series */\n tertiary: string;\n /** Text on Tertiary elements */\n \"on-tertiary\": string;\n /** Highlighting specific dashboard metrics */\n \"tertiary-container\": string;\n /** Text on tertiary metric background */\n \"on-tertiary-container\": string;\n\n // ── Utility ───────────────────────────────────────────────────────────────\n /** Input borders / Card strokes */\n outline: string;\n /** Dividers / Table row separators */\n \"outline-variant\": string;\n /** Modal / Drawer backdrop */\n scrim: string;\n /** Component elevation shadows */\n shadow: string;\n\n // ── Feedback ──────────────────────────────────────────────────────────────\n /** Destructive actions / Critical alerts */\n error: string;\n /** Text on error background */\n \"on-error\": string;\n /** Error banner / Failed state background */\n \"error-container\": string;\n /** Text on error container */\n \"on-error-container\": string;\n /** Positive trends / Healthy status */\n success: string;\n /** Text on success background */\n \"on-success\": string;\n /** Positive metric background */\n \"success-container\": string;\n /** Text on success container */\n \"on-success-container\": string;\n /** Cautionary alerts / Pending status */\n warning: string;\n /** Text on warning background */\n \"on-warning\": string;\n /** Warning metric background */\n \"warning-container\": string;\n /** Text on warning container */\n \"on-warning-container\": string;\n /** Informational callouts */\n info: string;\n /** Text on info background */\n \"on-info\": string;\n /** Info callout background */\n \"info-container\": string;\n /** Text on info container */\n \"on-info-container\": string;\n\n // ── States ────────────────────────────────────────────────────────────────\n /** Applied color for elevation overlays */\n \"surface-tint\": string;\n /** Hover — 8 % opacity overlay */\n \"state-hover\": string;\n /** Focus — 12 % opacity overlay */\n \"state-focus\": string;\n /** Pressed — 12 % opacity overlay */\n \"state-pressed\": string;\n /** Dragged — 16 % opacity overlay */\n \"state-dragged\": string;\n /** Disabled — 38 % on-surface opacity */\n \"state-disabled\": string;\n\n // ── Categorical (data-vis / infographic) ──────────────────────────────────\n /** Map regions, pie slices, progress bars — series 1 */\n \"graphic-1\": string;\n \"graphic-2\": string;\n \"graphic-3\": string;\n \"graphic-4\": string;\n \"graphic-5\": string;\n \"graphic-6\": string;\n \"graphic-7\": string;\n \"graphic-8\": string;\n \"graphic-9\": string;\n \"graphic-10\": string;\n /** Text / labels placed inside a graphic shape */\n \"on-graphic\": string;\n /** Light background tint — avatars, chips, tag backgrounds */\n \"graphic-1-container\": string;\n \"graphic-2-container\": string;\n \"graphic-3-container\": string;\n \"graphic-4-container\": string;\n \"graphic-5-container\": string;\n \"graphic-6-container\": string;\n \"graphic-7-container\": string;\n \"graphic-8-container\": string;\n \"graphic-9-container\": string;\n \"graphic-10-container\": string;\n /** Dark foreground text on the corresponding container */\n \"on-graphic-1-container\": string;\n \"on-graphic-2-container\": string;\n \"on-graphic-3-container\": string;\n \"on-graphic-4-container\": string;\n \"on-graphic-5-container\": string;\n \"on-graphic-6-container\": string;\n \"on-graphic-7-container\": string;\n \"on-graphic-8-container\": string;\n \"on-graphic-9-container\": string;\n \"on-graphic-10-container\": string;\n\n // ── Status (non-interactive indicators) ───────────────────────────────────\n /** \"Healthy\" indicators — distinct from success buttons */\n \"status-positive\": string;\n /** \"Attention required\" — e.g. yellow node in a network map */\n \"status-warning\": string;\n /** \"Critical failure\" — e.g. red heat-map zone */\n \"status-negative\": string;\n /** \"Inactive / Pending\" — e.g. grayed-out map regions */\n \"status-neutral\": string;\n\n // ── Progress ──────────────────────────────────────────────────────────────\n /** Empty background of a progress bar or radial gauge */\n \"progress-track\": string;\n /** Filled portion of a progress bar */\n \"progress-indicator\": string;\n /** Secondary loading / buffer indicator */\n \"progress-buffer\": string;\n\n // ── Scales (heatmaps / density maps) ──────────────────────────────────────\n /** Heatmap start — low value */\n \"scale-low\": string;\n /** Heatmap midpoint */\n \"scale-medium\": string;\n /** Heatmap end — high value */\n \"scale-high\": string;\n\n // ── Infrastructure (SVG / canvas elements) ────────────────────────────────\n /** Borders for complex SVG shapes or map boundaries */\n \"graphic-outline\": string;\n /** Internal grid lines for tables or coordinate planes */\n \"graphic-divider\": string;\n /** Non-interactive text — axis labels, coordinates */\n \"graphic-label\": string;\n /** Data points, map pins, or node anchors */\n \"graphic-marker\": string;\n\n // ── Overlays ──────────────────────────────────────────────────────────────\n /** Highlight state for a hovered graphic element */\n \"graphic-hover\": string;\n /** Faded state for non-selected graphic elements */\n \"graphic-muted\": string;\n /** Lead lines connecting labels to specific graphic points */\n \"annotation-line\": string;\n};\n\n// ---------------------------------------------------------------------------\n// Light theme\n// ---------------------------------------------------------------------------\n\nexport const lightTheme: ThemeTokens = {\n // Surfaces\n surface: colors.gray[25],\n \"surface-dim\": colors.gray[100],\n \"surface-bright\": \"#FFFFFF\",\n \"surface-container-lowest\": \"#FFFFFF\",\n \"surface-container-low\": colors.gray[50],\n \"surface-container\": colors.gray[100],\n \"surface-container-high\": colors.gray[200],\n \"surface-container-highest\": colors.gray[300],\n\n // Content\n \"on-surface\": colors.gray[900],\n \"on-surface-variant\": colors.gray[600],\n \"inverse-surface\": colors.gray[800],\n \"inverse-on-surface\": colors.gray[50],\n\n // Primary (brand = purple family)\n primary: colors.brand[600],\n \"on-primary\": \"#FFFFFF\",\n \"primary-container\": colors.brand[200],\n \"on-primary-container\": colors.brand[800],\n \"inverse-primary\": colors.brand[300],\n\n // Secondary (violet)\n secondary: colors.violet[500],\n \"on-secondary\": \"#FFFFFF\",\n \"secondary-container\": colors.violet[100],\n \"on-secondary-container\": colors.violet[800],\n\n // Tertiary (teal accent)\n tertiary: colors.teal[500],\n \"on-tertiary\": \"#FFFFFF\",\n \"tertiary-container\": colors.teal[100],\n \"on-tertiary-container\": colors.teal[800],\n\n // Utility\n outline: colors.gray[300],\n \"outline-variant\": colors.gray[200],\n scrim: \"rgba(0,0,0,0.4)\",\n shadow: \"rgba(0,0,0,0.08)\",\n\n // Feedback\n error: colors.error[500],\n \"on-error\": \"#FFFFFF\",\n \"error-container\": colors.error[100],\n \"on-error-container\": colors.error[800],\n\n success: colors.success[500],\n \"on-success\": \"#FFFFFF\",\n \"success-container\": colors.success[100],\n \"on-success-container\": colors.success[800],\n\n warning: colors.warning[500],\n \"on-warning\": \"#FFFFFF\",\n \"warning-container\": colors.warning[100],\n \"on-warning-container\": colors.warning[800],\n\n info: colors.blue[500],\n \"on-info\": \"#FFFFFF\",\n \"info-container\": colors.blue[100],\n \"on-info-container\": colors.blue[800],\n\n // States\n \"surface-tint\": colors.brand[500],\n \"state-hover\": \"rgba(0,0,0,0.08)\",\n \"state-focus\": \"rgba(0,0,0,0.12)\",\n \"state-pressed\": \"rgba(0,0,0,0.12)\",\n \"state-dragged\": \"rgba(0,0,0,0.16)\",\n \"state-disabled\": \"rgba(0,0,0,0.38)\",\n\n // Categorical — 10 perceptually distinct hues\n \"graphic-1\": colors.brand[500], // purple\n \"graphic-2\": colors.blue[500], // blue\n \"graphic-3\": colors.teal[500], // teal\n \"graphic-4\": colors.success[500], // green\n \"graphic-5\": colors.warning[500], // amber\n \"graphic-6\": colors.error[500], // red\n \"graphic-7\": colors.indigo[500], // indigo\n \"graphic-8\": colors.pink[500], // pink\n \"graphic-9\": colors.amber[500], // yellow-amber\n \"graphic-10\": colors.cyan[500], // cyan\n \"on-graphic\": \"#FFFFFF\",\n // Categorical containers — very light bg ([50]) + mid-tone icon/text ([600])\n \"graphic-1-container\": colors.brand[50],\n \"graphic-2-container\": colors.blue[50],\n \"graphic-3-container\": colors.teal[50],\n \"graphic-4-container\": colors.success[50],\n \"graphic-5-container\": colors.warning[50],\n \"graphic-6-container\": colors.error[50],\n \"graphic-7-container\": colors.indigo[50],\n \"graphic-8-container\": colors.pink[50],\n \"graphic-9-container\": colors.amber[50],\n \"graphic-10-container\": colors.cyan[50],\n \"on-graphic-1-container\": colors.brand[600],\n \"on-graphic-2-container\": colors.blue[600],\n \"on-graphic-3-container\": colors.teal[600],\n \"on-graphic-4-container\": colors.success[600],\n \"on-graphic-5-container\": colors.warning[600],\n \"on-graphic-6-container\": colors.error[600],\n \"on-graphic-7-container\": colors.indigo[600],\n \"on-graphic-8-container\": colors.pink[600],\n \"on-graphic-9-container\": colors.amber[600],\n \"on-graphic-10-container\": colors.cyan[600],\n\n // Status\n \"status-positive\": colors.success[600],\n \"status-warning\": colors.warning[500],\n \"status-negative\": colors.error[600],\n \"status-neutral\": colors.gray[400],\n\n // Progress\n \"progress-track\": colors.gray[200],\n \"progress-indicator\": colors.brand[500],\n \"progress-buffer\": colors.brand[300],\n\n // Scales\n \"scale-low\": colors.success[300],\n \"scale-medium\": colors.warning[400],\n \"scale-high\": colors.error[500],\n\n // Infrastructure\n \"graphic-outline\": colors.gray[300],\n \"graphic-divider\": colors.gray[200],\n \"graphic-label\": colors.gray[600],\n \"graphic-marker\": colors.brand[600],\n\n // Overlays\n \"graphic-hover\": colors.brand[100],\n \"graphic-muted\": colors.gray[200],\n \"annotation-line\": colors.gray[400],\n};\n\n// ---------------------------------------------------------------------------\n// Dark theme\n// ---------------------------------------------------------------------------\n\nexport const darkTheme: ThemeTokens = {\n // Surfaces\n surface: colors.gray[900],\n \"surface-dim\": \"#080D14\",\n \"surface-bright\": colors.gray[800],\n \"surface-container-lowest\": \"#080D14\",\n \"surface-container-low\": colors.gray[900],\n \"surface-container\": colors.gray[800],\n \"surface-container-high\": colors.gray[700],\n \"surface-container-highest\": colors.gray[600],\n\n // Content\n \"on-surface\": colors.gray[50],\n \"on-surface-variant\": colors.gray[400],\n \"inverse-surface\": colors.gray[100],\n \"inverse-on-surface\": colors.gray[900],\n\n // Primary\n primary: colors.brand[400],\n \"on-primary\": \"#000000\",\n \"primary-container\": colors.brand[900],\n \"on-primary-container\": colors.brand[100],\n \"inverse-primary\": colors.brand[600],\n\n // Secondary\n secondary: colors.violet[400],\n \"on-secondary\": colors.violet[900],\n \"secondary-container\": colors.violet[800],\n \"on-secondary-container\": colors.violet[100],\n\n // Tertiary\n tertiary: colors.teal[400],\n \"on-tertiary\": \"#000000\",\n \"tertiary-container\": colors.teal[900],\n \"on-tertiary-container\": colors.teal[100],\n\n // Utility\n outline: colors.gray[600],\n \"outline-variant\": colors.gray[700],\n scrim: \"rgba(255,255,255,0.1)\",\n shadow: \"rgba(0,0,0,0.3)\",\n\n // Feedback\n error: colors.error[400],\n \"on-error\": colors.error[900],\n \"error-container\": colors.error[800],\n \"on-error-container\": colors.error[100],\n\n success: colors.success[400],\n \"on-success\": colors.success[900],\n \"success-container\": colors.success[800],\n \"on-success-container\": colors.success[100],\n\n warning: colors.warning[400],\n \"on-warning\": colors.warning[900],\n \"warning-container\": colors.warning[800],\n \"on-warning-container\": colors.warning[100],\n\n info: colors.blue[400],\n \"on-info\": colors.blue[900],\n \"info-container\": colors.blue[800],\n \"on-info-container\": colors.blue[100],\n\n // States\n \"surface-tint\": colors.brand[400],\n \"state-hover\": \"rgba(255,255,255,0.08)\",\n \"state-focus\": \"rgba(255,255,255,0.12)\",\n \"state-pressed\": \"rgba(255,255,255,0.12)\",\n \"state-dragged\": \"rgba(255,255,255,0.16)\",\n \"state-disabled\": \"rgba(255,255,255,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.brand[400],\n \"graphic-2\": colors.blue[400],\n \"graphic-3\": colors.teal[400],\n \"graphic-4\": colors.success[400],\n \"graphic-5\": colors.warning[400],\n \"graphic-6\": colors.error[400],\n \"graphic-7\": colors.indigo[400],\n \"graphic-8\": colors.pink[400],\n \"graphic-9\": colors.amber[400],\n \"graphic-10\": colors.cyan[400],\n \"on-graphic\": \"#FFFFFF\",\n // Categorical containers — very dark bg + light text\n \"graphic-1-container\": colors.brand[950],\n \"graphic-2-container\": colors.blue[950],\n \"graphic-3-container\": colors.teal[950],\n \"graphic-4-container\": colors.success[950],\n \"graphic-5-container\": colors.warning[950],\n \"graphic-6-container\": colors.error[950],\n \"graphic-7-container\": colors.indigo[950],\n \"graphic-8-container\": colors.pink[950],\n \"graphic-9-container\": colors.amber[950],\n \"graphic-10-container\": colors.cyan[950],\n \"on-graphic-1-container\": colors.brand[100],\n \"on-graphic-2-container\": colors.blue[100],\n \"on-graphic-3-container\": colors.teal[100],\n \"on-graphic-4-container\": colors.success[100],\n \"on-graphic-5-container\": colors.warning[100],\n \"on-graphic-6-container\": colors.error[100],\n \"on-graphic-7-container\": colors.indigo[100],\n \"on-graphic-8-container\": colors.pink[100],\n \"on-graphic-9-container\": colors.amber[100],\n \"on-graphic-10-container\": colors.cyan[100],\n\n // Status\n \"status-positive\": colors.success[400],\n \"status-warning\": colors.warning[400],\n \"status-negative\": colors.error[400],\n \"status-neutral\": colors.gray[500],\n\n // Progress\n \"progress-track\": colors.gray[700],\n \"progress-indicator\": colors.brand[400],\n \"progress-buffer\": colors.brand[700],\n\n // Scales\n \"scale-low\": colors.success[400],\n \"scale-medium\": colors.warning[400],\n \"scale-high\": colors.error[400],\n\n // Infrastructure\n \"graphic-outline\": colors.gray[600],\n \"graphic-divider\": colors.gray[700],\n \"graphic-label\": colors.gray[400],\n \"graphic-marker\": colors.brand[400],\n\n // Overlays\n \"graphic-hover\": colors.brand[800],\n \"graphic-muted\": colors.gray[700],\n \"annotation-line\": colors.gray[500],\n};\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Design themes — imported from individual theme files for easy packaging\n// ═══════════════════════════════════════════════════════════════════════════\n\nimport { rosewoodTheme } from \"./themes/rosewood\";\nimport { botanicaTheme } from \"./themes/botanica\";\nimport { inkwellTheme } from \"./themes/inkwell\";\n\n// ---------------------------------------------------------------------------\n// Design theme system — each design theme pairs light/dark color tokens\n// with global overrides for radius, shadow, and typography.\n// ---------------------------------------------------------------------------\n\nexport type DesignTheme = {\n label: string;\n description: string;\n /** Primary color swatch shown in the selector */\n swatch: string;\n light: ThemeTokens;\n dark: ThemeTokens;\n /** Mode-independent CSS custom properties (radius, shadow, font) */\n globals: Record<string, string>;\n};\n\nexport type DesignThemeName = \"rosewood\" | \"botanica\" | \"inkwell\";\n\nexport const designThemes: Record<DesignThemeName, DesignTheme> = {\n inkwell: inkwellTheme,\n rosewood: rosewoodTheme,\n botanica: botanicaTheme,\n};\n\n// ---------------------------------------------------------------------------\n// Backward-compatible exports\n// ---------------------------------------------------------------------------\n\nexport const themes = {\n light: lightTheme,\n dark: darkTheme,\n} as const;\n\nexport type ThemeName = keyof typeof themes;\n\n// ---------------------------------------------------------------------------\n// CSS generation helper\n// ---------------------------------------------------------------------------\n\nfunction tokensToVarBlock(tokens: ThemeTokens): string {\n return Object.entries(tokens)\n .map(([key, value]) => ` --${key}: ${value};`)\n .join(\"\\n\");\n}\n\nfunction globalsToVarBlock(globals: Record<string, string>): string {\n return Object.entries(globals)\n .map(([key, value]) => ` ${key}: ${value};`)\n .join(\"\\n\");\n}\n\n/**\n * Generates a `<style>` block with CSS custom properties for every design\n * theme × light/dark mode. The first theme (inkwell) is output as `:root` / `.dark`.\n * All themes also get `[data-design-theme=\"name\"]` attribute selectors so they\n * can be activated by setting the attribute on the root element.\n */\nexport function generateThemeCSS(): string {\n const blocks: string[] = [];\n const entries = Object.entries(designThemes);\n\n // First theme as base (:root / .dark) — so page renders without flash\n const [, firstTheme] = entries[0];\n const firstLightVars = tokensToVarBlock(firstTheme.light);\n const firstGlobals = globalsToVarBlock(firstTheme.globals);\n const firstDarkVars = tokensToVarBlock(firstTheme.dark);\n\n const rootBlock = [firstLightVars, firstGlobals].filter(Boolean).join(\"\\n\");\n blocks.push(`:root {\\n${rootBlock}\\n}`);\n blocks.push(`.dark {\\n${firstDarkVars}\\n${firstGlobals}\\n}`);\n\n // All themes (including first) — scoped by data attribute\n for (const [name, theme] of entries) {\n const lightVars = tokensToVarBlock(theme.light);\n const globalsVars = globalsToVarBlock(theme.globals);\n const darkVars = tokensToVarBlock(theme.dark);\n\n const lightBlock = [lightVars, globalsVars].filter(Boolean).join(\"\\n\");\n blocks.push(`[data-design-theme=\"${name}\"] {\\n${lightBlock}\\n}`);\n blocks.push(\n `[data-design-theme=\"${name}\"].dark {\\n${darkVars}\\n${globalsVars}\\n}`,\n );\n }\n\n return blocks.join(\"\\n\\n\");\n}\n","/**\n * PixelPlay UI — License validation via Polar.sh customer-portal API.\n *\n * Behaviour:\n * - Development (`next dev`): console warning if no key, components work fine.\n * - Production build (`next build`): validates key against Polar API.\n * Build fails if the key is missing, invalid, or revoked.\n *\n * This uses the public customer-portal endpoint (no auth token required).\n */\n\nconst POLAR_ORG_ID = \"0f5f2ec4-1ce3-4e23-8099-c3d77aadb8cf\";\nconst VALIDATE_URL =\n \"https://api.polar.sh/v1/customer-portal/license-keys/validate\";\n\nlet initialised = false;\n\ninterface InitOptions {\n /** The customer's license key (from PIXELPLAY_LICENSE_KEY env var) */\n licenseKey?: string;\n}\n\n/**\n * Initialise PixelPlay and validate the license key.\n *\n * Call this once at the top of your root layout (server component):\n * ```ts\n * import { initPixelPlay } from \"pixelplay/server\";\n * initPixelPlay({ licenseKey: process.env.PIXELPLAY_LICENSE_KEY });\n * ```\n *\n * In development: logs a warning if no key — components still work.\n * In production builds: validates the key and fails the build if invalid.\n */\nexport async function initPixelPlay(options?: InitOptions): Promise<void> {\n if (initialised) return;\n initialised = true;\n\n const key = options?.licenseKey;\n const isProduction = process.env.NODE_ENV === \"production\";\n\n if (!key) {\n if (isProduction) {\n throw new Error(\n \"\\n\\n🚫 PixelPlay UI — Build failed: No license key provided.\\n\" +\n \" Set PIXELPLAY_LICENSE_KEY in your environment variables.\\n\" +\n \" Purchase a license at https://dennisisaac.com/ui-kit/pricing\\n\",\n );\n }\n console.warn(\n \"\\n⚠️ PixelPlay UI — No license key provided.\\n\" +\n \" Components will work in development, but production builds require a valid key.\\n\" +\n \" Purchase a license at https://dennisisaac.com/ui-kit/pricing\\n\",\n );\n return;\n }\n\n // In development, validate async (fire-and-forget, don't block dev server)\n if (!isProduction) {\n validateKey(key, false).catch(() => {});\n return;\n }\n\n // In production, validate synchronously — build must fail if invalid\n await validateKey(key, true);\n}\n\nasync function validateKey(key: string, throwOnError: boolean): Promise<void> {\n try {\n const res = await fetch(VALIDATE_URL, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n key,\n organization_id: POLAR_ORG_ID,\n }),\n });\n\n if (!res.ok) {\n const status = res.status;\n if (status === 404 || status === 422) {\n const msg =\n \"\\n🚫 PixelPlay UI — Invalid license key.\\n\" +\n \" The provided PIXELPLAY_LICENSE_KEY could not be validated.\\n\" +\n \" Please check your key or purchase a license at\\n\" +\n \" https://dennisisaac.com/ui-kit/pricing\\n\";\n\n if (throwOnError) throw new Error(msg);\n console.warn(\"⚠️ \" + msg);\n return;\n }\n // Other HTTP errors — in production, let the build continue\n // (don't punish users for Polar API outages)\n return;\n }\n\n const data = await res.json();\n\n if (data.status === \"revoked\" || data.status === \"disabled\") {\n const msg =\n `\\n🚫 PixelPlay UI — License key has been ${data.status}.\\n` +\n \" Please contact support or purchase a new license at\\n\" +\n \" https://dennisisaac.com/ui-kit/pricing\\n\";\n\n if (throwOnError) throw new Error(msg);\n console.warn(\"⚠️ \" + msg);\n }\n } catch (err) {\n // Re-throw our own errors (license validation failures)\n if (err instanceof Error && err.message.includes(\"PixelPlay UI\")) {\n throw err;\n }\n // Network failure — silently ignore, don't block development or builds\n // (Polar API being down shouldn't break customer builds)\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../app/ui-kit/pixelplay-ui/shared/config/tokens.ts","../../../app/ui-kit/pixelplay-ui/shared/config/themes/rosewood.ts","../../../app/ui-kit/pixelplay-ui/shared/config/themes/botanica.ts","../../../app/ui-kit/pixelplay-ui/shared/config/themes/inkwell.ts","../../../app/ui-kit/pixelplay-ui/shared/config/theme-tokens.ts","../src/license.ts"],"sourcesContent":["/**\n * Design tokens — single source of truth for the UI kit's visual language.\n * These map to CSS custom properties defined in globals.css.\n */\n\nexport const colors = {\n // ── Semantic / role colors ────────────────────────────────────────────────\n // Curated shades for their specific UI role (slightly tuned vs. raw palette).\n // brand → purple family | error → red family | warning → amber family\n // success → green family | neutral base → gray\n brand: {\n 25: \"#FCFAFF\",\n 50: \"#F9F5FF\",\n 100: \"#F4EBFF\",\n 200: \"#E9D7FE\",\n 300: \"#D6BBFB\",\n 400: \"#B692F6\",\n 500: \"#9E77ED\",\n 600: \"#7F56D9\",\n 700: \"#6941C6\",\n 800: \"#42307D\",\n 900: \"#26145A\",\n 950: \"#160C34\",\n 975: \"#0B061A\",\n },\n error: {\n 25: \"#FFFBFA\",\n 50: \"#FEF3F2\",\n 100: \"#FEE4E2\",\n 200: \"#FECDCA\",\n 300: \"#FDA29B\",\n 400: \"#F97066\",\n 500: \"#F04438\",\n 600: \"#D92D20\",\n 700: \"#B42318\",\n 800: \"#7A271A\",\n 900: \"#4C1108\",\n 950: \"#2B0904\",\n 975: \"#160502\",\n },\n warning: {\n 25: \"#FFFCF5\",\n 50: \"#FFFAEB\",\n 100: \"#FEF0C7\",\n 200: \"#FEDF89\",\n 300: \"#FEC84B\",\n 400: \"#FDB022\",\n 500: \"#F79009\",\n 600: \"#DC6803\",\n 700: \"#B54708\",\n 800: \"#7A2E0E\",\n 900: \"#491A06\",\n 950: \"#291003\",\n 975: \"#150802\",\n },\n success: {\n 25: \"#F6FEF9\",\n 50: \"#ECFDF3\",\n 100: \"#D1FADF\",\n 200: \"#A6F4C5\",\n 300: \"#6CE9A6\",\n 400: \"#32D583\",\n 500: \"#12B76A\",\n 600: \"#039855\",\n 700: \"#027A48\",\n 800: \"#054F31\",\n 900: \"#03301E\",\n 950: \"#021C11\",\n 975: \"#010E09\",\n },\n\n // ── Neutrals ──────────────────────────────────────────────────────────────\n gray: {\n 25: \"#FDFDFD\",\n 50: \"#FAFAFA\",\n 100: \"#F5F5F5\",\n 200: \"#E9EAEB\",\n 300: \"#D5D7DA\",\n 400: \"#A4A7AE\",\n 500: \"#717680\",\n 600: \"#535862\",\n 700: \"#414651\",\n 800: \"#252B37\",\n 900: \"#101828\",\n 950: \"#090E18\",\n 975: \"#05080E\",\n },\n slate: {\n 25: \"#FCFCFE\",\n 50: \"#F8FAFC\",\n 100: \"#F1F5F9\",\n 200: \"#E2E8F0\",\n 300: \"#CBD5E1\",\n 400: \"#94A3B8\",\n 500: \"#64748B\",\n 600: \"#475569\",\n 700: \"#334155\",\n 800: \"#1E293B\",\n 900: \"#0F172A\",\n 950: \"#090D19\",\n 975: \"#05070E\",\n },\n zinc: {\n 25: \"#FAFAFB\",\n 50: \"#FAFAFA\",\n 100: \"#F4F4F5\",\n 200: \"#E4E4E7\",\n 300: \"#D4D4D8\",\n 400: \"#A1A1AA\",\n 500: \"#71717A\",\n 600: \"#52525B\",\n 700: \"#3F3F46\",\n 800: \"#27272A\",\n 900: \"#18181B\",\n 950: \"#0E0E10\",\n 975: \"#080809\",\n },\n stone: {\n 25: \"#FAFAF9\",\n 50: \"#FAFAF9\",\n 100: \"#F5F5F4\",\n 200: \"#E7E5E4\",\n 300: \"#D6D3D1\",\n 400: \"#A8A29E\",\n 500: \"#78716C\",\n 600: \"#57534E\",\n 700: \"#44403C\",\n 800: \"#292524\",\n 900: \"#1C1917\",\n 950: \"#110F0D\",\n 975: \"#090807\",\n },\n\n // ── Reds & oranges ────────────────────────────────────────────────────────\n red: {\n 25: \"#FFF5F5\",\n 50: \"#FEF2F2\",\n 100: \"#FEE2E2\",\n 200: \"#FECACA\",\n 300: \"#FCA5A5\",\n 400: \"#F87171\",\n 500: \"#EF4444\",\n 600: \"#DC2626\",\n 700: \"#B91C1C\",\n 800: \"#7F1D1D\",\n 900: \"#4C1111\",\n 950: \"#2B0909\",\n 975: \"#160505\",\n },\n orange: {\n 25: \"#FFFAF5\",\n 50: \"#FFF6ED\",\n 100: \"#FFEAD5\",\n 200: \"#FDDCAB\",\n 300: \"#FEB273\",\n 400: \"#FD853A\",\n 500: \"#FB6514\",\n 600: \"#EC4A0A\",\n 700: \"#C4320A\",\n 800: \"#7E2410\",\n 900: \"#4C1509\",\n 950: \"#2B0C05\",\n 975: \"#160603\",\n },\n amber: {\n 25: \"#FFFDF5\",\n 50: \"#FFFBEB\",\n 100: \"#FEF3C7\",\n 200: \"#FDE68A\",\n 300: \"#FCD34D\",\n 400: \"#FBBF24\",\n 500: \"#F59E0B\",\n 600: \"#D97706\",\n 700: \"#B45309\",\n 800: \"#78350F\",\n 900: \"#471E07\",\n 950: \"#280F03\",\n 975: \"#140802\",\n },\n yellow: {\n 25: \"#FEFEF2\",\n 50: \"#FEFCE8\",\n 100: \"#FEF9C3\",\n 200: \"#FEF08A\",\n 300: \"#FDE047\",\n 400: \"#FACC15\",\n 500: \"#EAB308\",\n 600: \"#CA8A04\",\n 700: \"#A16207\",\n 800: \"#713F12\",\n 900: \"#44250A\",\n 950: \"#261505\",\n 975: \"#130B03\",\n },\n\n // ── Greens ────────────────────────────────────────────────────────────────\n lime: {\n 25: \"#FBFFE7\",\n 50: \"#F7FEE7\",\n 100: \"#ECFCCB\",\n 200: \"#D9F99D\",\n 300: \"#BEF264\",\n 400: \"#A3E635\",\n 500: \"#84CC16\",\n 600: \"#65A30D\",\n 700: \"#4D7C0F\",\n 800: \"#365314\",\n 900: \"#20320C\",\n 950: \"#121C06\",\n 975: \"#090E03\",\n },\n green: {\n 25: \"#F2FDF5\",\n 50: \"#F0FDF4\",\n 100: \"#DCFCE7\",\n 200: \"#BBF7D0\",\n 300: \"#86EFAC\",\n 400: \"#4ADE80\",\n 500: \"#22C55E\",\n 600: \"#16A34A\",\n 700: \"#15803D\",\n 800: \"#14532D\",\n 900: \"#0C321B\",\n 950: \"#061C0F\",\n 975: \"#030E08\",\n },\n emerald: {\n 25: \"#F3FDF8\",\n 50: \"#ECFDF5\",\n 100: \"#D1FAE5\",\n 200: \"#A7F3D0\",\n 300: \"#6EE7B7\",\n 400: \"#34D399\",\n 500: \"#10B981\",\n 600: \"#059669\",\n 700: \"#047857\",\n 800: \"#064E3B\",\n 900: \"#032F23\",\n 950: \"#021A13\",\n 975: \"#010D0A\",\n },\n teal: {\n 25: \"#F0FCFB\",\n 50: \"#F0FDFA\",\n 100: \"#CCFBF1\",\n 200: \"#99F6E4\",\n 300: \"#5EEAD4\",\n 400: \"#2DD4BF\",\n 500: \"#14B8A6\",\n 600: \"#0D9488\",\n 700: \"#0F766E\",\n 800: \"#134E4A\",\n 900: \"#0A302E\",\n 950: \"#061C1A\",\n 975: \"#030E0D\",\n },\n\n // ── Blues ─────────────────────────────────────────────────────────────────\n cyan: {\n 25: \"#F0FEFF\",\n 50: \"#ECFEFF\",\n 100: \"#CFFAFE\",\n 200: \"#A5F3FC\",\n 300: \"#67E8F9\",\n 400: \"#22D3EE\",\n 500: \"#06B6D4\",\n 600: \"#0891B2\",\n 700: \"#0E7490\",\n 800: \"#164E63\",\n 900: \"#0C2F3C\",\n 950: \"#071A22\",\n 975: \"#040D11\",\n },\n blueLight: {\n 25: \"#F5FBFF\",\n 50: \"#F0F9FF\",\n 100: \"#E0F2FE\",\n 200: \"#B9E6FE\",\n 300: \"#7CD4FD\",\n 400: \"#36BFFA\",\n 500: \"#0BA5EC\",\n 600: \"#0086C9\",\n 700: \"#026AA2\",\n 800: \"#0B4A6F\",\n 900: \"#062C43\",\n 950: \"#031826\",\n 975: \"#020C13\",\n },\n blue: {\n 25: \"#F5FAFF\",\n 50: \"#EFF8FF\",\n 100: \"#D1E9FF\",\n 200: \"#B2DDFF\",\n 300: \"#84CAFF\",\n 400: \"#53B1FD\",\n 500: \"#2E90FA\",\n 600: \"#1570EF\",\n 700: \"#175CD3\",\n 800: \"#194185\",\n 900: \"#0E2669\",\n 950: \"#08153B\",\n 975: \"#040B1E\",\n },\n blueGray: {\n 25: \"#FCFCFD\",\n 50: \"#F8F9FC\",\n 100: \"#EAECF5\",\n 200: \"#D5D9EB\",\n 300: \"#AFB5D9\",\n 400: \"#717BBC\",\n 500: \"#4E5BA6\",\n 600: \"#3E4784\",\n 700: \"#363F72\",\n 800: \"#293056\",\n 900: \"#101323\",\n 950: \"#090B15\",\n 975: \"#05060B\",\n },\n\n // ── Purples & pinks ───────────────────────────────────────────────────────\n indigo: {\n 25: \"#F5F8FF\",\n 50: \"#EEF4FF\",\n 100: \"#E0EAFF\",\n 200: \"#C7D7FE\",\n 300: \"#A4BCFD\",\n 400: \"#8098F9\",\n 500: \"#6172F3\",\n 600: \"#444CE7\",\n 700: \"#3538CD\",\n 800: \"#2D3282\",\n 900: \"#1B1F52\",\n 950: \"#10122F\",\n 975: \"#080918\",\n },\n violet: {\n 25: \"#FAFAFF\",\n 50: \"#F5F3FF\",\n 100: \"#EDE9FE\",\n 200: \"#DDD6FE\",\n 300: \"#C4B5FD\",\n 400: \"#A78BFA\",\n 500: \"#8B5CF6\",\n 600: \"#7C3AED\",\n 700: \"#6D28D9\",\n 800: \"#4C1D95\",\n 900: \"#2D1159\",\n 950: \"#190932\",\n 975: \"#0D0519\",\n },\n purple: {\n 25: \"#FAFAFF\",\n 50: \"#F4F3FF\",\n 100: \"#EBE9FE\",\n 200: \"#D9D6FE\",\n 300: \"#BDB4FE\",\n 400: \"#9B8AFB\",\n 500: \"#7A5AF8\",\n 600: \"#6938EF\",\n 700: \"#5925DC\",\n 800: \"#3E1C96\",\n 900: \"#25105A\",\n 950: \"#140932\",\n 975: \"#0A0519\",\n },\n fuchsia: {\n 25: \"#FEF8FF\",\n 50: \"#FDF4FF\",\n 100: \"#FAE8FF\",\n 200: \"#F5D0FE\",\n 300: \"#F0ABFC\",\n 400: \"#E879F9\",\n 500: \"#D946EF\",\n 600: \"#C026D3\",\n 700: \"#A21CAF\",\n 800: \"#701A75\",\n 900: \"#430F46\",\n 950: \"#250827\",\n 975: \"#130414\",\n },\n pink: {\n 25: \"#FEF6FB\",\n 50: \"#FDF2FA\",\n 100: \"#FCE7F6\",\n 200: \"#FCCEEE\",\n 300: \"#FAA7E0\",\n 400: \"#F670C7\",\n 500: \"#EE46BC\",\n 600: \"#DD2590\",\n 700: \"#C11574\",\n 800: \"#851651\",\n 900: \"#4F0C30\",\n 950: \"#2C071A\",\n 975: \"#16040D\",\n },\n rose: {\n 25: \"#FFF5F6\",\n 50: \"#FFF1F3\",\n 100: \"#FFE4E8\",\n 200: \"#FECDD6\",\n 300: \"#FEA3B4\",\n 400: \"#FD6F8E\",\n 500: \"#F63D68\",\n 600: \"#E31B54\",\n 700: \"#C01048\",\n 800: \"#89123E\",\n 900: \"#520A25\",\n 950: \"#2E0514\",\n 975: \"#17030A\",\n },\n} as const;\n\n/**\n * Spacing scale. Keys are Tailwind-style step numbers; values show both a rem\n * string and the equivalent px number. Base unit = 4px.\n */\nexport const spacing = {\n unit: 4, // base unit in px\n 1: { rem: \"0.25rem\", px: 4 },\n 2: { rem: \"0.5rem\", px: 8 },\n 3: { rem: \"0.75rem\", px: 12 },\n 4: { rem: \"1rem\", px: 16 },\n 5: { rem: \"1.25rem\", px: 20 },\n 6: { rem: \"1.5rem\", px: 24 },\n 8: { rem: \"2rem\", px: 32 },\n 10: { rem: \"2.5rem\", px: 40 },\n 12: { rem: \"3rem\", px: 48 },\n 16: { rem: \"4rem\", px: 64 },\n 20: { rem: \"5rem\", px: 80 },\n 24: { rem: \"6rem\", px: 96 },\n 32: { rem: \"8rem\", px: 128 },\n 40: { rem: \"10rem\", px: 160 },\n 48: { rem: \"12rem\", px: 192 },\n 56: { rem: \"14rem\", px: 224 },\n 64: { rem: \"16rem\", px: 256 },\n} as const;\n\nexport type SpacingStep = keyof typeof spacing;\n\nexport const radii = {\n none: { rem: \"0rem\", px: 0 },\n xxs: { rem: \"0.125rem\", px: 2 },\n xs: { rem: \"0.25rem\", px: 4 },\n sm: { rem: \"0.375rem\", px: 6 },\n md: { rem: \"0.5rem\", px: 8 },\n lg: { rem: \"0.625rem\", px: 10 },\n xl: { rem: \"0.75rem\", px: 12 },\n \"2xl\": { rem: \"1rem\", px: 16 },\n \"3xl\": { rem: \"1.25rem\", px: 20 },\n \"4xl\": { rem: \"1.5rem\", px: 24 },\n full: { rem: \"9999px\", px: 9999 },\n} as const;\n\nexport type RadiusKey = keyof typeof radii;\n\nexport const fontFamilies = {\n sans: \"Inter, ui-sans-serif, system-ui, -apple-system, sans-serif\",\n mono: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace\",\n} as const;\n\nexport const fontWeights = {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n} as const;\n\n/**\n * Display type scale — used for hero headings and large marketing copy.\n * Each entry: [fontSize, lineHeight, letterSpacing]\n */\nexport const displayScale = {\n \"2xl\": {\n fontSize: \"4.5rem\",\n lineHeight: \"5.625rem\",\n letterSpacing: \"-0.02em\",\n }, // 72px / 90px\n xl: { fontSize: \"3.75rem\", lineHeight: \"4.5rem\", letterSpacing: \"-0.02em\" }, // 60px / 72px\n lg: { fontSize: \"3rem\", lineHeight: \"3.75rem\", letterSpacing: \"-0.02em\" }, // 48px / 60px\n md: { fontSize: \"2.25rem\", lineHeight: \"2.75rem\", letterSpacing: \"-0.02em\" }, // 36px / 44px\n sm: { fontSize: \"1.875rem\", lineHeight: \"2.375rem\", letterSpacing: \"0em\" }, // 30px / 38px\n xs: { fontSize: \"1.5rem\", lineHeight: \"2rem\", letterSpacing: \"0em\" }, // 24px / 32px\n} as const;\n\n/**\n * Text type scale — used for body copy, labels, and UI text.\n * Each entry: [fontSize, lineHeight, letterSpacing]\n */\nexport const textScale = {\n xl: { fontSize: \"1.25rem\", lineHeight: \"1.875rem\", letterSpacing: \"0em\" }, // 20px / 30px\n lg: { fontSize: \"1.125rem\", lineHeight: \"1.75rem\", letterSpacing: \"0em\" }, // 18px / 28px\n md: { fontSize: \"1rem\", lineHeight: \"1.5rem\", letterSpacing: \"0em\" }, // 16px / 24px\n sm: { fontSize: \"0.875rem\", lineHeight: \"1.25rem\", letterSpacing: \"0em\" }, // 14px / 20px\n xs: { fontSize: \"0.75rem\", lineHeight: \"1.125rem\", letterSpacing: \"0em\" }, // 12px / 18px\n} as const;\n\n/** Legacy alias kept for backwards compatibility */\nexport const fontSizes = {\n xs: textScale.xs.fontSize,\n sm: textScale.sm.fontSize,\n md: textScale.md.fontSize,\n lg: textScale.lg.fontSize,\n xl: textScale.xl.fontSize,\n} as const;\n\n// ---------------------------------------------------------------------------\n// Shadows\n// ---------------------------------------------------------------------------\n\n/**\n * Elevation shadow scale, sourced from the design system Figma file.\n * Values are expressed as CSS box-shadow strings.\n */\nexport const shadows = {\n xs: \"0px 1px 2px 0px rgba(10,13,18,0.05)\",\n sm: \"0px 1px 3px 0px rgba(10,13,18,0.10), 0px 1px 2px 0px rgba(10,13,18,0.06)\",\n md: \"0px 4px 8px -2px rgba(10,13,18,0.10), 0px 2px 4px -2px rgba(10,13,18,0.06)\",\n lg: \"0px 12px 16px -4px rgba(10,13,18,0.08), 0px 4px 6px -2px rgba(10,13,18,0.03)\",\n xl: \"0px 20px 24px -4px rgba(10,13,18,0.08), 0px 8px 8px -4px rgba(10,13,18,0.03)\",\n \"2xl\": \"0px 24px 48px -12px rgba(10,13,18,0.18)\",\n \"3xl\": \"0px 32px 64px -12px rgba(10,13,18,0.14)\",\n} as const;\n\nexport type ShadowKey = keyof typeof shadows;\n\n// ---------------------------------------------------------------------------\n// Blur / backdrop-blur\n// ---------------------------------------------------------------------------\n\n/**\n * Backdrop-blur scale.\n * Values map to CSS backdrop-filter: blur(Xpx).\n */\nexport const blurs = {\n sm: \"4px\",\n md: \"8px\",\n lg: \"12px\",\n xl: \"20px\",\n} as const;\n\nexport type BlurKey = keyof typeof blurs;\n\n// ---------------------------------------------------------------------------\n// Container breakpoints\n// ---------------------------------------------------------------------------\n\nexport const containers = {\n sm: { rem: \"40rem\", px: 640 },\n md: { rem: \"48rem\", px: 768 },\n lg: { rem: \"64rem\", px: 1024 },\n xl: { rem: \"80rem\", px: 1280 },\n} as const;\n\nexport type ContainerKey = keyof typeof containers;\n\nexport type ColorKey = keyof typeof colors;\nexport type ColorScale =\n | 25\n | 50\n | 100\n | 200\n | 300\n | 400\n | 500\n | 600\n | 700\n | 800\n | 900\n | 950\n | 975;\nexport type SizeScale = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\nexport type DisplaySize = keyof typeof displayScale;\nexport type TextSize = keyof typeof textScale;\nexport type FontWeight = keyof typeof fontWeights;\n","/**\n * Rosewood — Elegant fashion & retail theme.\n * Warm pink/blush palette, refined serif type (Playfair Display),\n * very rounded corners, soft diffused shadows.\n */\n\nimport { colors } from \"../tokens\";\nimport type { ThemeTokens, DesignTheme } from \"../theme-tokens\";\n\n// ---------------------------------------------------------------------------\n// Light\n// ---------------------------------------------------------------------------\n\nconst rosewoodLightTheme: ThemeTokens = {\n // Surfaces — warm blush tones\n surface: colors.rose[25],\n \"surface-dim\": colors.rose[50],\n \"surface-bright\": \"#FFFFFF\",\n \"surface-container-lowest\": \"#FFFFFF\",\n \"surface-container-low\": colors.rose[25],\n \"surface-container\": colors.rose[50],\n \"surface-container-high\": colors.rose[100],\n \"surface-container-highest\": colors.rose[200],\n\n // Content\n \"on-surface\": colors.stone[900],\n \"on-surface-variant\": colors.stone[600],\n \"inverse-surface\": colors.stone[900],\n \"inverse-on-surface\": colors.rose[25],\n\n // Primary — rich rosewood pink (600 for contrast against blush surfaces)\n primary: colors.red[400],\n \"on-primary\": \"#FFFFFF\",\n \"primary-container\": colors.rose[100],\n \"on-primary-container\": colors.rose[800],\n \"inverse-primary\": colors.rose[300],\n\n // Secondary — deep burgundy\n secondary: colors.red[700],\n \"on-secondary\": \"#FFFFFF\",\n \"secondary-container\": colors.rose[200],\n \"on-secondary-container\": colors.red[900],\n\n // Tertiary — dusty rose gold\n tertiary: colors.pink[400],\n \"on-tertiary\": \"#FFFFFF\",\n \"tertiary-container\": colors.pink[100],\n \"on-tertiary-container\": colors.pink[800],\n\n // Utility\n outline: colors.rose[300],\n \"outline-variant\": colors.rose[200],\n scrim: \"rgba(68,44,46,0.4)\",\n shadow: \"rgba(68,44,46,0.08)\",\n\n // Feedback\n error: colors.error[500],\n \"on-error\": \"#FFFFFF\",\n \"error-container\": colors.error[100],\n \"on-error-container\": colors.error[800],\n\n success: colors.success[500],\n \"on-success\": \"#FFFFFF\",\n \"success-container\": colors.success[100],\n \"on-success-container\": colors.success[800],\n\n warning: colors.warning[500],\n \"on-warning\": \"#FFFFFF\",\n \"warning-container\": colors.warning[100],\n \"on-warning-container\": colors.warning[800],\n\n info: colors.blue[500],\n \"on-info\": \"#FFFFFF\",\n \"info-container\": colors.blue[100],\n \"on-info-container\": colors.blue[800],\n\n // States\n \"surface-tint\": colors.rose[200],\n \"state-hover\": \"rgba(68,44,46,0.06)\",\n \"state-focus\": \"rgba(68,44,46,0.10)\",\n \"state-pressed\": \"rgba(68,44,46,0.10)\",\n \"state-dragged\": \"rgba(68,44,46,0.14)\",\n \"state-disabled\": \"rgba(68,44,46,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.pink[400],\n \"graphic-2\": colors.red[700],\n \"graphic-3\": colors.warning[500],\n \"graphic-4\": colors.success[500],\n \"graphic-5\": colors.orange[500],\n \"graphic-6\": colors.error[500],\n \"graphic-7\": colors.blue[500],\n \"graphic-8\": colors.pink[600],\n \"graphic-9\": colors.amber[500],\n \"graphic-10\": colors.slate[500],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.pink[50],\n \"graphic-2-container\": colors.red[50],\n \"graphic-3-container\": colors.warning[50],\n \"graphic-4-container\": colors.success[50],\n \"graphic-5-container\": colors.orange[50],\n \"graphic-6-container\": colors.error[50],\n \"graphic-7-container\": colors.blue[50],\n \"graphic-8-container\": colors.pink[50],\n \"graphic-9-container\": colors.amber[50],\n \"graphic-10-container\": colors.slate[50],\n \"on-graphic-1-container\": colors.pink[800],\n \"on-graphic-2-container\": colors.red[800],\n \"on-graphic-3-container\": colors.warning[800],\n \"on-graphic-4-container\": colors.success[800],\n \"on-graphic-5-container\": colors.orange[800],\n \"on-graphic-6-container\": colors.error[800],\n \"on-graphic-7-container\": colors.blue[800],\n \"on-graphic-8-container\": colors.pink[800],\n \"on-graphic-9-container\": colors.amber[800],\n \"on-graphic-10-container\": colors.slate[800],\n\n // Status\n \"status-positive\": colors.success[500],\n \"status-warning\": colors.warning[500],\n \"status-negative\": colors.red[700],\n \"status-neutral\": colors.stone[400],\n\n // Progress\n \"progress-track\": colors.rose[200],\n \"progress-indicator\": colors.red[700],\n \"progress-buffer\": colors.pink[400],\n\n // Scales\n \"scale-low\": colors.success[500],\n \"scale-medium\": colors.warning[500],\n \"scale-high\": colors.red[700],\n\n // Infrastructure\n \"graphic-outline\": colors.rose[300],\n \"graphic-divider\": colors.rose[200],\n \"graphic-label\": colors.stone[600],\n \"graphic-marker\": colors.red[700],\n\n // Overlays\n \"graphic-hover\": colors.rose[100],\n \"graphic-muted\": colors.rose[200],\n \"annotation-line\": colors.stone[400],\n};\n\n// ---------------------------------------------------------------------------\n// Dark\n// ---------------------------------------------------------------------------\n\nconst rosewoodDarkTheme: ThemeTokens = {\n // Surfaces — deep burgundy-charcoal\n surface: colors.stone[900],\n \"surface-dim\": colors.stone[950],\n \"surface-bright\": colors.stone[800],\n \"surface-container-lowest\": colors.stone[950],\n \"surface-container-low\": colors.stone[900],\n \"surface-container\": colors.stone[800],\n \"surface-container-high\": colors.stone[700],\n \"surface-container-highest\": colors.stone[600],\n\n // Content\n \"on-surface\": colors.rose[25],\n \"on-surface-variant\": colors.rose[300],\n \"inverse-surface\": colors.rose[25],\n \"inverse-on-surface\": colors.stone[900],\n\n // Primary — warm pink lighter for dark bg\n primary: colors.rose[200],\n \"on-primary\": colors.stone[900],\n \"primary-container\": colors.stone[700],\n \"on-primary-container\": colors.rose[200],\n \"inverse-primary\": colors.red[700],\n\n // Secondary\n secondary: colors.rose[300],\n \"on-secondary\": colors.red[950],\n \"secondary-container\": colors.red[900],\n \"on-secondary-container\": colors.rose[200],\n\n // Tertiary\n tertiary: colors.pink[300],\n \"on-tertiary\": colors.pink[950],\n \"tertiary-container\": colors.pink[800],\n \"on-tertiary-container\": colors.pink[100],\n\n // Utility\n outline: colors.stone[600],\n \"outline-variant\": colors.stone[700],\n scrim: \"rgba(255,255,255,0.1)\",\n shadow: \"rgba(0,0,0,0.3)\",\n\n // Feedback\n error: colors.error[400],\n \"on-error\": colors.error[900],\n \"error-container\": colors.error[950],\n \"on-error-container\": colors.error[100],\n\n success: colors.success[400],\n \"on-success\": colors.success[900],\n \"success-container\": colors.success[950],\n \"on-success-container\": colors.success[100],\n\n warning: colors.warning[400],\n \"on-warning\": colors.warning[900],\n \"warning-container\": colors.warning[950],\n \"on-warning-container\": colors.warning[100],\n\n info: colors.blue[400],\n \"on-info\": colors.blue[900],\n \"info-container\": colors.blue[950],\n \"on-info-container\": colors.blue[100],\n\n // States\n \"surface-tint\": colors.rose[200],\n \"state-hover\": \"rgba(254,219,208,0.08)\",\n \"state-focus\": \"rgba(254,219,208,0.12)\",\n \"state-pressed\": \"rgba(254,219,208,0.12)\",\n \"state-dragged\": \"rgba(254,219,208,0.16)\",\n \"state-disabled\": \"rgba(255,245,243,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.pink[300],\n \"graphic-2\": colors.rose[300],\n \"graphic-3\": colors.warning[400],\n \"graphic-4\": colors.success[400],\n \"graphic-5\": colors.orange[400],\n \"graphic-6\": colors.error[400],\n \"graphic-7\": colors.blue[400],\n \"graphic-8\": colors.pink[400],\n \"graphic-9\": colors.amber[400],\n \"graphic-10\": colors.slate[400],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.pink[950],\n \"graphic-2-container\": colors.rose[950],\n \"graphic-3-container\": colors.warning[950],\n \"graphic-4-container\": colors.success[950],\n \"graphic-5-container\": colors.orange[950],\n \"graphic-6-container\": colors.error[950],\n \"graphic-7-container\": colors.blue[950],\n \"graphic-8-container\": colors.pink[950],\n \"graphic-9-container\": colors.amber[950],\n \"graphic-10-container\": colors.slate[950],\n \"on-graphic-1-container\": colors.pink[100],\n \"on-graphic-2-container\": colors.rose[100],\n \"on-graphic-3-container\": colors.warning[100],\n \"on-graphic-4-container\": colors.success[100],\n \"on-graphic-5-container\": colors.orange[100],\n \"on-graphic-6-container\": colors.error[100],\n \"on-graphic-7-container\": colors.blue[100],\n \"on-graphic-8-container\": colors.pink[100],\n \"on-graphic-9-container\": colors.amber[100],\n \"on-graphic-10-container\": colors.slate[100],\n\n // Status\n \"status-positive\": colors.success[400],\n \"status-warning\": colors.warning[400],\n \"status-negative\": colors.rose[300],\n \"status-neutral\": colors.stone[500],\n\n // Progress\n \"progress-track\": colors.stone[700],\n \"progress-indicator\": colors.rose[200],\n \"progress-buffer\": colors.stone[600],\n\n // Scales\n \"scale-low\": colors.success[400],\n \"scale-medium\": colors.warning[400],\n \"scale-high\": colors.rose[300],\n\n // Infrastructure\n \"graphic-outline\": colors.stone[600],\n \"graphic-divider\": colors.stone[700],\n \"graphic-label\": colors.rose[300],\n \"graphic-marker\": colors.rose[200],\n\n // Overlays\n \"graphic-hover\": colors.stone[700],\n \"graphic-muted\": colors.stone[700],\n \"annotation-line\": colors.stone[500],\n};\n\n// ---------------------------------------------------------------------------\n// Rosewood design theme definition\n// ---------------------------------------------------------------------------\n\nexport const rosewoodTheme: DesignTheme = {\n label: \"Rosewood\",\n description: \"Elegant fashion & retail\",\n swatch: colors.rose[200],\n personality: \"soft\",\n light: rosewoodLightTheme,\n dark: rosewoodDarkTheme,\n globals: {\n \"--radius-xs\": \"0.5rem\",\n \"--radius-sm\": \"0.625rem\",\n \"--radius-md\": \"0.875rem\",\n \"--radius-lg\": \"1.25rem\",\n \"--radius-xl\": \"1.5rem\",\n \"--radius-2xl\": \"2rem\",\n \"--radius-3xl\": \"2.5rem\",\n \"--radius-4xl\": \"3rem\",\n \"--font-sans\": \"'JetBrains Mono', 'Courier New', monospace\",\n \"--font-heading\": \"'JetBrains Mono', 'Courier New', monospace\",\n \"--font-body\": \"'JetBrains Mono', 'Courier New', monospace\",\n \"--font-weight-normal\": \"400\",\n \"--font-weight-medium\": \"500\",\n \"--font-weight-semibold\": \"600\",\n \"--font-weight-bold\": \"700\",\n\n // ── Typography scale (standard sizes) ──\n \"--text-xs\": \"0.75rem\",\n \"--text-xs--line-height\": \"1.125rem\",\n \"--text-sm\": \"0.875rem\",\n \"--text-sm--line-height\": \"1.25rem\",\n \"--text-base\": \"1rem\",\n \"--text-base--line-height\": \"1.5rem\",\n \"--text-lg\": \"1.125rem\",\n \"--text-lg--line-height\": \"1.75rem\",\n \"--text-xl\": \"1.25rem\",\n \"--text-xl--line-height\": \"1.875rem\",\n \"--text-2xl\": \"1.5rem\",\n \"--text-2xl--line-height\": \"2rem\",\n \"--text-3xl\": \"1.875rem\",\n \"--text-3xl--line-height\": \"2.375rem\",\n \"--text-4xl\": \"2.25rem\",\n \"--text-4xl--line-height\": \"2.75rem\",\n \"--letter-spacing-normal\": \"0em\",\n \"--letter-spacing-tight\": \"-0.02em\",\n \"--shadow-xs\": \"0 1px 4px 0 rgba(68,44,46,0.04)\",\n \"--shadow-sm\": \"0 2px 8px -1px rgba(68,44,46,0.06)\",\n \"--shadow-md\": \"0 4px 16px -2px rgba(68,44,46,0.06)\",\n \"--shadow-lg\": \"0 8px 28px -4px rgba(68,44,46,0.06)\",\n \"--shadow-xl\": \"0 16px 44px -6px rgba(68,44,46,0.06)\",\n \"--shadow-2xl\": \"0 24px 60px -8px rgba(68,44,46,0.06)\",\n\n // ── Spacing tokens ──\n \"--spacing-page-x\": \"1rem\",\n \"--spacing-page-y\": \"1.5rem\",\n \"--spacing-card-x\": \"1.25rem\",\n \"--spacing-card-y\": \"1rem\",\n \"--spacing-section-gap\": \"1.5rem\",\n \"--spacing-row-gap\": \"1rem\",\n \"--spacing-col-gap\": \"1rem\",\n \"--spacing-header-h\": \"3.5rem\",\n \"--spacing-sidebar-w\": \"17.25rem\",\n \"--spacing-filter-bar-x\": \"1rem\",\n \"--spacing-filter-bar-y\": \"0.75rem\",\n \"--spacing-aside-w\": \"20rem\",\n },\n};\n","/**\n * Botanica — Nature-inspired cooking & lifestyle theme.\n * Deep green + orange accent, warm wedge typography (Montserrat),\n * moderate rounded corners, earthy textured shadows.\n */\n\nimport { colors } from \"../tokens\";\nimport type { ThemeTokens, DesignTheme } from \"../theme-tokens\";\n\n// ---------------------------------------------------------------------------\n// Light\n// ---------------------------------------------------------------------------\n\nconst botanicaLightTheme: ThemeTokens = {\n // Surfaces — warm olive-cream\n surface: colors.yellow[25],\n \"surface-dim\": colors.yellow[100],\n \"surface-bright\": \"#FFFFFF\",\n \"surface-container-lowest\": \"#FFFFFF\",\n \"surface-container-low\": colors.yellow[50],\n \"surface-container\": colors.yellow[100],\n \"surface-container-high\": colors.yellow[200],\n \"surface-container-highest\": colors.lime[200],\n\n // Content\n \"on-surface\": colors.emerald[950],\n \"on-surface-variant\": colors.emerald[700],\n \"inverse-surface\": colors.emerald[950],\n \"inverse-on-surface\": colors.lime[50],\n\n // Primary — deep herb green\n primary: colors.emerald[700],\n \"on-primary\": \"#FFFFFF\",\n \"primary-container\": colors.emerald[200],\n \"on-primary-container\": colors.emerald[950],\n \"inverse-primary\": colors.emerald[400],\n\n // Secondary — spicy orange-red\n secondary: colors.orange[500],\n \"on-secondary\": \"#FFFFFF\",\n \"secondary-container\": colors.orange[100],\n \"on-secondary-container\": colors.orange[900],\n\n // Tertiary — earthy olive\n tertiary: colors.lime[600],\n \"on-tertiary\": \"#FFFFFF\",\n \"tertiary-container\": colors.lime[100],\n \"on-tertiary-container\": colors.lime[900],\n\n // Utility\n outline: colors.emerald[300],\n \"outline-variant\": colors.emerald[200],\n scrim: \"rgba(26,58,42,0.4)\",\n shadow: \"rgba(26,58,42,0.10)\",\n\n // Feedback\n error: colors.error[600],\n \"on-error\": \"#FFFFFF\",\n \"error-container\": colors.error[100],\n \"on-error-container\": colors.error[800],\n\n success: colors.success[600],\n \"on-success\": \"#FFFFFF\",\n \"success-container\": colors.success[100],\n \"on-success-container\": colors.success[800],\n\n warning: colors.warning[600],\n \"on-warning\": \"#FFFFFF\",\n \"warning-container\": colors.warning[100],\n \"on-warning-container\": colors.warning[800],\n\n info: colors.blue[600],\n \"on-info\": \"#FFFFFF\",\n \"info-container\": colors.blue[100],\n \"on-info-container\": colors.blue[800],\n\n // States\n \"surface-tint\": colors.emerald[700],\n \"state-hover\": \"rgba(26,58,42,0.06)\",\n \"state-focus\": \"rgba(26,58,42,0.10)\",\n \"state-pressed\": \"rgba(26,58,42,0.10)\",\n \"state-dragged\": \"rgba(26,58,42,0.14)\",\n \"state-disabled\": \"rgba(26,58,42,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.emerald[700],\n \"graphic-2\": colors.orange[500],\n \"graphic-3\": colors.lime[600],\n \"graphic-4\": colors.success[600],\n \"graphic-5\": colors.warning[500],\n \"graphic-6\": colors.error[600],\n \"graphic-7\": colors.blue[600],\n \"graphic-8\": colors.green[600],\n \"graphic-9\": colors.orange[600],\n \"graphic-10\": colors.teal[600],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.emerald[50],\n \"graphic-2-container\": colors.orange[50],\n \"graphic-3-container\": colors.lime[50],\n \"graphic-4-container\": colors.success[50],\n \"graphic-5-container\": colors.warning[50],\n \"graphic-6-container\": colors.error[50],\n \"graphic-7-container\": colors.blue[50],\n \"graphic-8-container\": colors.green[50],\n \"graphic-9-container\": colors.orange[50],\n \"graphic-10-container\": colors.teal[50],\n \"on-graphic-1-container\": colors.emerald[800],\n \"on-graphic-2-container\": colors.orange[800],\n \"on-graphic-3-container\": colors.lime[800],\n \"on-graphic-4-container\": colors.success[800],\n \"on-graphic-5-container\": colors.warning[800],\n \"on-graphic-6-container\": colors.error[800],\n \"on-graphic-7-container\": colors.blue[800],\n \"on-graphic-8-container\": colors.green[800],\n \"on-graphic-9-container\": colors.orange[800],\n \"on-graphic-10-container\": colors.teal[800],\n\n // Status\n \"status-positive\": colors.success[600],\n \"status-warning\": colors.warning[600],\n \"status-negative\": colors.error[600],\n \"status-neutral\": colors.emerald[400],\n\n // Progress\n \"progress-track\": colors.emerald[200],\n \"progress-indicator\": colors.emerald[700],\n \"progress-buffer\": colors.emerald[400],\n\n // Scales\n \"scale-low\": colors.success[600],\n \"scale-medium\": colors.warning[600],\n \"scale-high\": colors.error[600],\n\n // Infrastructure\n \"graphic-outline\": colors.emerald[300],\n \"graphic-divider\": colors.emerald[200],\n \"graphic-label\": colors.emerald[700],\n \"graphic-marker\": colors.orange[500],\n\n // Overlays\n \"graphic-hover\": colors.emerald[50],\n \"graphic-muted\": colors.emerald[200],\n \"annotation-line\": colors.emerald[400],\n};\n\n// ---------------------------------------------------------------------------\n// Dark\n// ---------------------------------------------------------------------------\n\nconst botanicaDarkTheme: ThemeTokens = {\n // Surfaces — dark forest\n surface: colors.emerald[975],\n \"surface-dim\": colors.emerald[975],\n \"surface-bright\": colors.emerald[900],\n \"surface-container-lowest\": colors.emerald[975],\n \"surface-container-low\": colors.emerald[950],\n \"surface-container\": colors.emerald[900],\n \"surface-container-high\": colors.green[900],\n \"surface-container-highest\": colors.green[800],\n\n // Content\n \"on-surface\": colors.emerald[50],\n \"on-surface-variant\": colors.emerald[300],\n \"inverse-surface\": colors.emerald[50],\n \"inverse-on-surface\": colors.emerald[950],\n\n // Primary\n primary: colors.emerald[300],\n \"on-primary\": colors.emerald[950],\n \"primary-container\": colors.emerald[900],\n \"on-primary-container\": colors.emerald[200],\n \"inverse-primary\": colors.emerald[700],\n\n // Secondary\n secondary: colors.orange[400],\n \"on-secondary\": colors.orange[950],\n \"secondary-container\": colors.orange[900],\n \"on-secondary-container\": colors.orange[100],\n\n // Tertiary\n tertiary: colors.lime[400],\n \"on-tertiary\": colors.lime[950],\n \"tertiary-container\": colors.lime[900],\n \"on-tertiary-container\": colors.lime[100],\n\n // Utility\n outline: colors.emerald[600],\n \"outline-variant\": colors.emerald[800],\n scrim: \"rgba(255,255,255,0.1)\",\n shadow: \"rgba(0,0,0,0.3)\",\n\n // Feedback\n error: colors.error[400],\n \"on-error\": colors.error[950],\n \"error-container\": colors.error[900],\n \"on-error-container\": colors.error[100],\n\n success: colors.success[400],\n \"on-success\": colors.success[950],\n \"success-container\": colors.success[900],\n \"on-success-container\": colors.success[100],\n\n warning: colors.warning[400],\n \"on-warning\": colors.warning[950],\n \"warning-container\": colors.warning[900],\n \"on-warning-container\": colors.warning[100],\n\n info: colors.blue[400],\n \"on-info\": colors.blue[950],\n \"info-container\": colors.blue[900],\n \"on-info-container\": colors.blue[100],\n\n // States\n \"surface-tint\": colors.emerald[300],\n \"state-hover\": \"rgba(110,231,183,0.08)\",\n \"state-focus\": \"rgba(110,231,183,0.12)\",\n \"state-pressed\": \"rgba(110,231,183,0.12)\",\n \"state-dragged\": \"rgba(110,231,183,0.16)\",\n \"state-disabled\": \"rgba(236,253,245,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.emerald[300],\n \"graphic-2\": colors.orange[400],\n \"graphic-3\": colors.lime[400],\n \"graphic-4\": colors.success[400],\n \"graphic-5\": colors.warning[400],\n \"graphic-6\": colors.error[400],\n \"graphic-7\": colors.blue[400],\n \"graphic-8\": colors.green[400],\n \"graphic-9\": colors.orange[400],\n \"graphic-10\": colors.teal[400],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.emerald[950],\n \"graphic-2-container\": colors.orange[950],\n \"graphic-3-container\": colors.lime[950],\n \"graphic-4-container\": colors.success[950],\n \"graphic-5-container\": colors.warning[950],\n \"graphic-6-container\": colors.error[950],\n \"graphic-7-container\": colors.blue[950],\n \"graphic-8-container\": colors.green[950],\n \"graphic-9-container\": colors.orange[950],\n \"graphic-10-container\": colors.teal[950],\n \"on-graphic-1-container\": colors.emerald[100],\n \"on-graphic-2-container\": colors.orange[100],\n \"on-graphic-3-container\": colors.lime[100],\n \"on-graphic-4-container\": colors.success[100],\n \"on-graphic-5-container\": colors.warning[100],\n \"on-graphic-6-container\": colors.error[100],\n \"on-graphic-7-container\": colors.blue[100],\n \"on-graphic-8-container\": colors.green[100],\n \"on-graphic-9-container\": colors.orange[100],\n \"on-graphic-10-container\": colors.teal[100],\n\n // Status\n \"status-positive\": colors.success[400],\n \"status-warning\": colors.warning[400],\n \"status-negative\": colors.error[400],\n \"status-neutral\": colors.emerald[500],\n\n // Progress\n \"progress-track\": colors.emerald[800],\n \"progress-indicator\": colors.emerald[300],\n \"progress-buffer\": colors.emerald[600],\n\n // Scales\n \"scale-low\": colors.success[400],\n \"scale-medium\": colors.warning[400],\n \"scale-high\": colors.error[400],\n\n // Infrastructure\n \"graphic-outline\": colors.emerald[600],\n \"graphic-divider\": colors.emerald[800],\n \"graphic-label\": colors.emerald[300],\n \"graphic-marker\": colors.orange[400],\n\n // Overlays\n \"graphic-hover\": colors.emerald[900],\n \"graphic-muted\": colors.emerald[800],\n \"annotation-line\": colors.emerald[500],\n};\n\n// ---------------------------------------------------------------------------\n// Botanica design theme definition\n// ---------------------------------------------------------------------------\n\nexport const botanicaTheme: DesignTheme = {\n label: \"Botanica\",\n description: \"Nature-inspired cooking & lifestyle\",\n swatch: colors.emerald[700],\n personality: \"balanced\",\n light: botanicaLightTheme,\n dark: botanicaDarkTheme,\n globals: {\n \"--radius-xs\": \"0.25rem\",\n \"--radius-sm\": \"0.375rem\",\n \"--radius-md\": \"0.5rem\",\n \"--radius-lg\": \"0.75rem\",\n \"--radius-xl\": \"1rem\",\n \"--radius-2xl\": \"1.25rem\",\n \"--radius-3xl\": \"1.5rem\",\n \"--radius-4xl\": \"2rem\",\n \"--font-sans\": \"'Inter', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-heading\": \"'Inter', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-body\": \"'Inter', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-weight-normal\": \"400\",\n \"--font-weight-medium\": \"500\",\n \"--font-weight-semibold\": \"600\",\n \"--font-weight-bold\": \"700\",\n\n // ── Typography scale (geometric sans — standard sizes, moderate leading) ──\n \"--text-xs\": \"0.75rem\",\n \"--text-xs--line-height\": \"1.125rem\",\n \"--text-sm\": \"0.875rem\",\n \"--text-sm--line-height\": \"1.25rem\",\n \"--text-base\": \"1rem\",\n \"--text-base--line-height\": \"1.5rem\",\n \"--text-lg\": \"1.125rem\",\n \"--text-lg--line-height\": \"1.75rem\",\n \"--text-xl\": \"1.25rem\",\n \"--text-xl--line-height\": \"1.875rem\",\n \"--text-2xl\": \"1.5rem\",\n \"--text-2xl--line-height\": \"2rem\",\n \"--text-3xl\": \"1.875rem\",\n \"--text-3xl--line-height\": \"2.375rem\",\n \"--text-4xl\": \"2.25rem\",\n \"--text-4xl--line-height\": \"2.75rem\",\n \"--letter-spacing-normal\": \"0.005em\",\n \"--letter-spacing-tight\": \"-0.02em\",\n \"--shadow-xs\": \"0 1px 2px 0 rgba(26,58,42,0.08)\",\n \"--shadow-sm\": \"0 2px 4px -1px rgba(26,58,42,0.10)\",\n \"--shadow-md\": \"0 3px 10px -2px rgba(26,58,42,0.10)\",\n \"--shadow-lg\": \"0 6px 20px -4px rgba(26,58,42,0.12)\",\n \"--shadow-xl\": \"0 12px 32px -6px rgba(26,58,42,0.12)\",\n \"--shadow-2xl\": \"0 20px 48px -8px rgba(26,58,42,0.14)\",\n\n // ── Spacing tokens ──\n \"--spacing-page-x\": \"1rem\",\n \"--spacing-page-y\": \"1.5rem\",\n \"--spacing-card-x\": \"1.5rem\",\n \"--spacing-card-y\": \"1.25rem\",\n \"--spacing-section-gap\": \"1.5rem\",\n \"--spacing-row-gap\": \"1rem\",\n \"--spacing-col-gap\": \"1rem\",\n \"--spacing-header-h\": \"3.5rem\",\n \"--spacing-sidebar-w\": \"17.25rem\",\n \"--spacing-filter-bar-x\": \"1rem\",\n \"--spacing-filter-bar-y\": \"0.75rem\",\n \"--spacing-aside-w\": \"20rem\",\n },\n};\n","/**\n * Inkwell — Bold editorial & news theme.\n * High-contrast monochrome + purple editorial ink, geometric type\n * (Libre Franklin), zero radius, crisp geometric shadows.\n */\n\nimport { colors } from \"../tokens\";\nimport type { ThemeTokens, DesignTheme } from \"../theme-tokens\";\n\n// ---------------------------------------------------------------------------\n// Light\n// ---------------------------------------------------------------------------\n\nconst inkwellLightTheme: ThemeTokens = {\n // Surfaces — pure white / cool gray\n surface: \"#FFFFFF\",\n \"surface-dim\": colors.gray[100],\n \"surface-bright\": \"#FFFFFF\",\n \"surface-container-lowest\": \"#FFFFFF\",\n \"surface-container-low\": colors.gray[50],\n \"surface-container\": colors.gray[100],\n \"surface-container-high\": colors.gray[200],\n \"surface-container-highest\": colors.gray[300],\n\n // Content — near black\n \"on-surface\": colors.gray[950],\n \"on-surface-variant\": colors.gray[700],\n \"inverse-surface\": colors.gray[900],\n \"inverse-on-surface\": colors.gray[50],\n\n // Primary — deep purple (editorial ink)\n primary: colors.violet[600],\n \"on-primary\": \"#FFFFFF\",\n \"primary-container\": colors.violet[100],\n \"on-primary-container\": colors.violet[900],\n \"inverse-primary\": colors.violet[300],\n\n // Secondary — muted charcoal\n secondary: colors.gray[700],\n \"on-secondary\": \"#FFFFFF\",\n \"secondary-container\": colors.gray[200],\n \"on-secondary-container\": colors.gray[900],\n\n // Tertiary — editorial red accent\n tertiary: colors.red[600],\n \"on-tertiary\": \"#FFFFFF\",\n \"tertiary-container\": colors.red[100],\n \"on-tertiary-container\": colors.red[900],\n\n // Utility\n outline: colors.gray[300],\n \"outline-variant\": colors.gray[200],\n scrim: \"rgba(0,0,0,0.5)\",\n shadow: \"rgba(0,0,0,0.15)\",\n\n // Feedback\n error: colors.error[600],\n \"on-error\": \"#FFFFFF\",\n \"error-container\": colors.error[100],\n \"on-error-container\": colors.error[800],\n\n success: colors.success[600],\n \"on-success\": \"#FFFFFF\",\n \"success-container\": colors.success[100],\n \"on-success-container\": colors.success[800],\n\n warning: colors.warning[600],\n \"on-warning\": \"#FFFFFF\",\n \"warning-container\": colors.warning[100],\n \"on-warning-container\": colors.warning[800],\n\n info: colors.blue[600],\n \"on-info\": \"#FFFFFF\",\n \"info-container\": colors.blue[100],\n \"on-info-container\": colors.blue[800],\n\n // States\n \"surface-tint\": colors.violet[600],\n \"state-hover\": \"rgba(0,0,0,0.06)\",\n \"state-focus\": \"rgba(0,0,0,0.10)\",\n \"state-pressed\": \"rgba(0,0,0,0.10)\",\n \"state-dragged\": \"rgba(0,0,0,0.14)\",\n \"state-disabled\": \"rgba(0,0,0,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.violet[600],\n \"graphic-2\": colors.red[600],\n \"graphic-3\": colors.gray[700],\n \"graphic-4\": colors.success[600],\n \"graphic-5\": colors.warning[600],\n \"graphic-6\": colors.blue[600],\n \"graphic-7\": colors.purple[600],\n \"graphic-8\": colors.teal[600],\n \"graphic-9\": colors.orange[600],\n \"graphic-10\": colors.blueGray[600],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.violet[50],\n \"graphic-2-container\": colors.red[50],\n \"graphic-3-container\": colors.gray[100],\n \"graphic-4-container\": colors.success[50],\n \"graphic-5-container\": colors.warning[50],\n \"graphic-6-container\": colors.blue[50],\n \"graphic-7-container\": colors.purple[50],\n \"graphic-8-container\": colors.teal[50],\n \"graphic-9-container\": colors.orange[50],\n \"graphic-10-container\": colors.blueGray[50],\n \"on-graphic-1-container\": colors.violet[800],\n \"on-graphic-2-container\": colors.red[800],\n \"on-graphic-3-container\": colors.gray[800],\n \"on-graphic-4-container\": colors.success[800],\n \"on-graphic-5-container\": colors.warning[800],\n \"on-graphic-6-container\": colors.blue[800],\n \"on-graphic-7-container\": colors.purple[800],\n \"on-graphic-8-container\": colors.teal[800],\n \"on-graphic-9-container\": colors.orange[800],\n \"on-graphic-10-container\": colors.blueGray[800],\n\n // Status\n \"status-positive\": colors.success[600],\n \"status-warning\": colors.warning[600],\n \"status-negative\": colors.red[600],\n \"status-neutral\": colors.gray[400],\n\n // Progress\n \"progress-track\": colors.gray[200],\n \"progress-indicator\": colors.violet[600],\n \"progress-buffer\": colors.violet[300],\n\n // Scales\n \"scale-low\": colors.success[600],\n \"scale-medium\": colors.warning[600],\n \"scale-high\": colors.red[600],\n\n // Infrastructure\n \"graphic-outline\": colors.gray[300],\n \"graphic-divider\": colors.gray[200],\n \"graphic-label\": colors.gray[700],\n \"graphic-marker\": colors.violet[600],\n\n // Overlays\n \"graphic-hover\": colors.violet[50],\n \"graphic-muted\": colors.gray[200],\n \"annotation-line\": colors.gray[400],\n};\n\n// ---------------------------------------------------------------------------\n// Dark\n// ---------------------------------------------------------------------------\n\nconst inkwellDarkTheme: ThemeTokens = {\n // Surfaces — pure dark editorial\n surface: colors.gray[950],\n \"surface-dim\": colors.gray[975],\n \"surface-bright\": colors.gray[800],\n \"surface-container-lowest\": colors.gray[975],\n \"surface-container-low\": colors.gray[950],\n \"surface-container\": colors.gray[900],\n \"surface-container-high\": colors.gray[800],\n \"surface-container-highest\": colors.gray[700],\n\n // Content\n \"on-surface\": colors.gray[50],\n \"on-surface-variant\": colors.gray[400],\n \"inverse-surface\": colors.gray[50],\n \"inverse-on-surface\": colors.gray[950],\n\n // Primary\n primary: colors.violet[300],\n \"on-primary\": colors.violet[950],\n \"primary-container\": colors.violet[800],\n \"on-primary-container\": colors.violet[100],\n \"inverse-primary\": colors.violet[600],\n\n // Secondary\n secondary: colors.gray[400],\n \"on-secondary\": colors.gray[900],\n \"secondary-container\": colors.gray[700],\n \"on-secondary-container\": colors.gray[100],\n\n // Tertiary\n tertiary: colors.red[400],\n \"on-tertiary\": colors.red[950],\n \"tertiary-container\": colors.red[900],\n \"on-tertiary-container\": colors.red[100],\n\n // Utility\n outline: colors.gray[600],\n \"outline-variant\": colors.gray[700],\n scrim: \"rgba(255,255,255,0.1)\",\n shadow: \"rgba(0,0,0,0.4)\",\n\n // Feedback\n error: colors.error[400],\n \"on-error\": colors.error[950],\n \"error-container\": colors.error[900],\n \"on-error-container\": colors.error[100],\n\n success: colors.success[400],\n \"on-success\": colors.success[950],\n \"success-container\": colors.success[900],\n \"on-success-container\": colors.success[100],\n\n warning: colors.warning[400],\n \"on-warning\": colors.warning[950],\n \"warning-container\": colors.warning[900],\n \"on-warning-container\": colors.warning[100],\n\n info: colors.blue[400],\n \"on-info\": colors.blue[950],\n \"info-container\": colors.blue[900],\n \"on-info-container\": colors.blue[100],\n\n // States\n \"surface-tint\": colors.violet[300],\n \"state-hover\": \"rgba(196,181,253,0.08)\",\n \"state-focus\": \"rgba(196,181,253,0.12)\",\n \"state-pressed\": \"rgba(196,181,253,0.12)\",\n \"state-dragged\": \"rgba(196,181,253,0.16)\",\n \"state-disabled\": \"rgba(250,250,250,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.violet[300],\n \"graphic-2\": colors.red[400],\n \"graphic-3\": colors.gray[400],\n \"graphic-4\": colors.success[400],\n \"graphic-5\": colors.warning[400],\n \"graphic-6\": colors.blue[400],\n \"graphic-7\": colors.purple[400],\n \"graphic-8\": colors.teal[400],\n \"graphic-9\": colors.orange[400],\n \"graphic-10\": colors.blueGray[400],\n \"on-graphic\": \"#FFFFFF\",\n \"graphic-1-container\": colors.violet[950],\n \"graphic-2-container\": colors.red[950],\n \"graphic-3-container\": colors.gray[900],\n \"graphic-4-container\": colors.success[950],\n \"graphic-5-container\": colors.warning[950],\n \"graphic-6-container\": colors.blue[950],\n \"graphic-7-container\": colors.purple[950],\n \"graphic-8-container\": colors.teal[950],\n \"graphic-9-container\": colors.orange[950],\n \"graphic-10-container\": colors.blueGray[950],\n \"on-graphic-1-container\": colors.violet[100],\n \"on-graphic-2-container\": colors.red[100],\n \"on-graphic-3-container\": colors.gray[100],\n \"on-graphic-4-container\": colors.success[100],\n \"on-graphic-5-container\": colors.warning[100],\n \"on-graphic-6-container\": colors.blue[100],\n \"on-graphic-7-container\": colors.purple[100],\n \"on-graphic-8-container\": colors.teal[100],\n \"on-graphic-9-container\": colors.orange[100],\n \"on-graphic-10-container\": colors.blueGray[100],\n\n // Status\n \"status-positive\": colors.success[400],\n \"status-warning\": colors.warning[400],\n \"status-negative\": colors.red[400],\n \"status-neutral\": colors.gray[500],\n\n // Progress\n \"progress-track\": colors.gray[700],\n \"progress-indicator\": colors.violet[300],\n \"progress-buffer\": colors.violet[700],\n\n // Scales\n \"scale-low\": colors.success[400],\n \"scale-medium\": colors.warning[400],\n \"scale-high\": colors.red[400],\n\n // Infrastructure\n \"graphic-outline\": colors.gray[600],\n \"graphic-divider\": colors.gray[700],\n \"graphic-label\": colors.gray[400],\n \"graphic-marker\": colors.violet[300],\n\n // Overlays\n \"graphic-hover\": colors.violet[800],\n \"graphic-muted\": colors.gray[700],\n \"annotation-line\": colors.gray[500],\n};\n\n// ---------------------------------------------------------------------------\n// Inkwell design theme definition\n// ---------------------------------------------------------------------------\n\nexport const inkwellTheme: DesignTheme = {\n label: \"Inkwell\",\n description: \"Bold editorial & news\",\n swatch: colors.violet[600],\n personality: \"sharp\",\n light: inkwellLightTheme,\n dark: inkwellDarkTheme,\n globals: {\n \"--radius-xs\": \"0px\",\n \"--radius-sm\": \"0px\",\n \"--radius-md\": \"2px\",\n \"--radius-lg\": \"2px\",\n \"--radius-xl\": \"4px\",\n \"--radius-2xl\": \"4px\",\n \"--radius-3xl\": \"4px\",\n \"--radius-4xl\": \"4px\",\n \"--font-sans\": \"'Space Grotesk', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-heading\": \"'Space Grotesk', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-body\": \"'Space Grotesk', 'Helvetica Neue', Arial, sans-serif\",\n \"--font-weight-normal\": \"400\",\n \"--font-weight-medium\": \"500\",\n \"--font-weight-semibold\": \"600\",\n \"--font-weight-bold\": \"700\",\n\n // ── Typography scale (editorial — tighter body, punchy display headings) ──\n \"--text-xs\": \"0.6875rem\",\n \"--text-xs--line-height\": \"1rem\",\n \"--text-sm\": \"0.8125rem\",\n \"--text-sm--line-height\": \"1.25rem\",\n \"--text-base\": \"0.9375rem\",\n \"--text-base--line-height\": \"1.375rem\",\n \"--text-lg\": \"1.0625rem\",\n \"--text-lg--line-height\": \"1.5rem\",\n \"--text-xl\": \"1.25rem\",\n \"--text-xl--line-height\": \"1.75rem\",\n \"--text-2xl\": \"1.625rem\",\n \"--text-2xl--line-height\": \"2rem\",\n \"--text-3xl\": \"2.125rem\",\n \"--text-3xl--line-height\": \"2.5rem\",\n \"--text-4xl\": \"2.75rem\",\n \"--text-4xl--line-height\": \"3.25rem\",\n \"--letter-spacing-normal\": \"0em\",\n \"--letter-spacing-tight\": \"-0.025em\",\n \"--shadow-xs\": \"0 1px 2px 0 rgba(0,0,0,0.14)\",\n \"--shadow-sm\": \"0 1px 3px 0 rgba(0,0,0,0.18)\",\n \"--shadow-md\": \"0 2px 6px -1px rgba(0,0,0,0.20)\",\n \"--shadow-lg\": \"0 4px 12px -2px rgba(0,0,0,0.22)\",\n \"--shadow-xl\": \"0 8px 24px -4px rgba(0,0,0,0.22)\",\n \"--shadow-2xl\": \"0 12px 36px -6px rgba(0,0,0,0.24)\",\n\n // ── Spacing tokens ──\n \"--spacing-page-x\": \"1rem\",\n \"--spacing-page-y\": \"1.5rem\",\n \"--spacing-card-x\": \"1.25rem\",\n \"--spacing-card-y\": \"1rem\",\n \"--spacing-section-gap\": \"1.5rem\",\n \"--spacing-row-gap\": \"1rem\",\n \"--spacing-col-gap\": \"1rem\",\n \"--spacing-header-h\": \"3.5rem\",\n \"--spacing-sidebar-w\": \"17.25rem\",\n \"--spacing-filter-bar-x\": \"1rem\",\n \"--spacing-filter-bar-y\": \"0.75rem\",\n \"--spacing-aside-w\": \"20rem\",\n },\n};\n","/**\n * Theme tokens — semantic design tokens for the PixelPlay UI system.\n *\n * THIS FILE IS THE SINGLE SOURCE OF TRUTH FOR THEMING.\n * To swap the entire theme, replace `lightTheme` and `darkTheme` below with\n * a new palette. All CSS custom properties are generated from these objects\n * at runtime — no other file needs to change.\n *\n * Token names map 1-to-1 to CSS custom properties: `primary` → `--primary`.\n * Use them in components via `var(--primary)`, `var(--on-surface)`, etc.\n */\n\nimport { colors } from \"./tokens\";\n\n// ---------------------------------------------------------------------------\n// Token type — every semantic token the system recognises\n// ---------------------------------------------------------------------------\n\nexport type ThemeTokens = {\n // ── Surfaces ──────────────────────────────────────────────────────────────\n /** Main app background / base layer */\n surface: string;\n /** Sidebar or dimmed backgrounds */\n \"surface-dim\": string;\n /** High-emphasis background (modals, popovers) */\n \"surface-bright\": string;\n /** Cards — lowest elevation */\n \"surface-container-lowest\": string;\n /** Cards / Inset sections */\n \"surface-container-low\": string;\n /** Dashboard widgets / Main cards */\n \"surface-container\": string;\n /** Modals / Dialogs */\n \"surface-container-high\": string;\n /** Top App Bar / Focused elements */\n \"surface-container-highest\": string;\n\n // ── Content ───────────────────────────────────────────────────────────────\n /** Primary text / High-emphasis icons */\n \"on-surface\": string;\n /** Secondary text / Captions / Helper text */\n \"on-surface-variant\": string;\n /** Tooltip backgrounds / Snackbars */\n \"inverse-surface\": string;\n /** Tooltip text / Snackbar actions */\n \"inverse-on-surface\": string;\n\n // ── Primary ───────────────────────────────────────────────────────────────\n /** Primary buttons / Active states */\n primary: string;\n /** Text on Primary buttons */\n \"on-primary\": string;\n /** Active menu item background */\n \"primary-container\": string;\n /** Text on active menu items */\n \"on-primary-container\": string;\n /** Inverse theme primary actions */\n \"inverse-primary\": string;\n\n // ── Secondary ─────────────────────────────────────────────────────────────\n /** Secondary buttons / Filter chips */\n secondary: string;\n /** Text on Secondary elements */\n \"on-secondary\": string;\n /** Selected toggle / chip background */\n \"secondary-container\": string;\n /** Text on selected toggle / chip */\n \"on-secondary-container\": string;\n\n // ── Tertiary ──────────────────────────────────────────────────────────────\n /** Accent elements / Specific chart series */\n tertiary: string;\n /** Text on Tertiary elements */\n \"on-tertiary\": string;\n /** Highlighting specific dashboard metrics */\n \"tertiary-container\": string;\n /** Text on tertiary metric background */\n \"on-tertiary-container\": string;\n\n // ── Utility ───────────────────────────────────────────────────────────────\n /** Input borders / Card strokes */\n outline: string;\n /** Dividers / Table row separators */\n \"outline-variant\": string;\n /** Modal / Drawer backdrop */\n scrim: string;\n /** Component elevation shadows */\n shadow: string;\n\n // ── Feedback ──────────────────────────────────────────────────────────────\n /** Destructive actions / Critical alerts */\n error: string;\n /** Text on error background */\n \"on-error\": string;\n /** Error banner / Failed state background */\n \"error-container\": string;\n /** Text on error container */\n \"on-error-container\": string;\n /** Positive trends / Healthy status */\n success: string;\n /** Text on success background */\n \"on-success\": string;\n /** Positive metric background */\n \"success-container\": string;\n /** Text on success container */\n \"on-success-container\": string;\n /** Cautionary alerts / Pending status */\n warning: string;\n /** Text on warning background */\n \"on-warning\": string;\n /** Warning metric background */\n \"warning-container\": string;\n /** Text on warning container */\n \"on-warning-container\": string;\n /** Informational callouts */\n info: string;\n /** Text on info background */\n \"on-info\": string;\n /** Info callout background */\n \"info-container\": string;\n /** Text on info container */\n \"on-info-container\": string;\n\n // ── States ────────────────────────────────────────────────────────────────\n /** Applied color for elevation overlays */\n \"surface-tint\": string;\n /** Hover — 8 % opacity overlay */\n \"state-hover\": string;\n /** Focus — 12 % opacity overlay */\n \"state-focus\": string;\n /** Pressed — 12 % opacity overlay */\n \"state-pressed\": string;\n /** Dragged — 16 % opacity overlay */\n \"state-dragged\": string;\n /** Disabled — 38 % on-surface opacity */\n \"state-disabled\": string;\n\n // ── Categorical (data-vis / infographic) ──────────────────────────────────\n /** Map regions, pie slices, progress bars — series 1 */\n \"graphic-1\": string;\n \"graphic-2\": string;\n \"graphic-3\": string;\n \"graphic-4\": string;\n \"graphic-5\": string;\n \"graphic-6\": string;\n \"graphic-7\": string;\n \"graphic-8\": string;\n \"graphic-9\": string;\n \"graphic-10\": string;\n /** Text / labels placed inside a graphic shape */\n \"on-graphic\": string;\n /** Light background tint — avatars, chips, tag backgrounds */\n \"graphic-1-container\": string;\n \"graphic-2-container\": string;\n \"graphic-3-container\": string;\n \"graphic-4-container\": string;\n \"graphic-5-container\": string;\n \"graphic-6-container\": string;\n \"graphic-7-container\": string;\n \"graphic-8-container\": string;\n \"graphic-9-container\": string;\n \"graphic-10-container\": string;\n /** Dark foreground text on the corresponding container */\n \"on-graphic-1-container\": string;\n \"on-graphic-2-container\": string;\n \"on-graphic-3-container\": string;\n \"on-graphic-4-container\": string;\n \"on-graphic-5-container\": string;\n \"on-graphic-6-container\": string;\n \"on-graphic-7-container\": string;\n \"on-graphic-8-container\": string;\n \"on-graphic-9-container\": string;\n \"on-graphic-10-container\": string;\n\n // ── Status (non-interactive indicators) ───────────────────────────────────\n /** \"Healthy\" indicators — distinct from success buttons */\n \"status-positive\": string;\n /** \"Attention required\" — e.g. yellow node in a network map */\n \"status-warning\": string;\n /** \"Critical failure\" — e.g. red heat-map zone */\n \"status-negative\": string;\n /** \"Inactive / Pending\" — e.g. grayed-out map regions */\n \"status-neutral\": string;\n\n // ── Progress ──────────────────────────────────────────────────────────────\n /** Empty background of a progress bar or radial gauge */\n \"progress-track\": string;\n /** Filled portion of a progress bar */\n \"progress-indicator\": string;\n /** Secondary loading / buffer indicator */\n \"progress-buffer\": string;\n\n // ── Scales (heatmaps / density maps) ──────────────────────────────────────\n /** Heatmap start — low value */\n \"scale-low\": string;\n /** Heatmap midpoint */\n \"scale-medium\": string;\n /** Heatmap end — high value */\n \"scale-high\": string;\n\n // ── Infrastructure (SVG / canvas elements) ────────────────────────────────\n /** Borders for complex SVG shapes or map boundaries */\n \"graphic-outline\": string;\n /** Internal grid lines for tables or coordinate planes */\n \"graphic-divider\": string;\n /** Non-interactive text — axis labels, coordinates */\n \"graphic-label\": string;\n /** Data points, map pins, or node anchors */\n \"graphic-marker\": string;\n\n // ── Overlays ──────────────────────────────────────────────────────────────\n /** Highlight state for a hovered graphic element */\n \"graphic-hover\": string;\n /** Faded state for non-selected graphic elements */\n \"graphic-muted\": string;\n /** Lead lines connecting labels to specific graphic points */\n \"annotation-line\": string;\n};\n\n// ---------------------------------------------------------------------------\n// Light theme\n// ---------------------------------------------------------------------------\n\nexport const lightTheme: ThemeTokens = {\n // Surfaces\n surface: colors.gray[25],\n \"surface-dim\": colors.gray[100],\n \"surface-bright\": \"#FFFFFF\",\n \"surface-container-lowest\": \"#FFFFFF\",\n \"surface-container-low\": colors.gray[50],\n \"surface-container\": colors.gray[100],\n \"surface-container-high\": colors.gray[200],\n \"surface-container-highest\": colors.gray[300],\n\n // Content\n \"on-surface\": colors.gray[900],\n \"on-surface-variant\": colors.gray[600],\n \"inverse-surface\": colors.gray[800],\n \"inverse-on-surface\": colors.gray[50],\n\n // Primary (brand = purple family)\n primary: colors.brand[600],\n \"on-primary\": \"#FFFFFF\",\n \"primary-container\": colors.brand[200],\n \"on-primary-container\": colors.brand[800],\n \"inverse-primary\": colors.brand[300],\n\n // Secondary (violet)\n secondary: colors.violet[500],\n \"on-secondary\": \"#FFFFFF\",\n \"secondary-container\": colors.violet[100],\n \"on-secondary-container\": colors.violet[800],\n\n // Tertiary (teal accent)\n tertiary: colors.teal[500],\n \"on-tertiary\": \"#FFFFFF\",\n \"tertiary-container\": colors.teal[100],\n \"on-tertiary-container\": colors.teal[800],\n\n // Utility\n outline: colors.gray[300],\n \"outline-variant\": colors.gray[200],\n scrim: \"rgba(0,0,0,0.4)\",\n shadow: \"rgba(0,0,0,0.08)\",\n\n // Feedback\n error: colors.error[500],\n \"on-error\": \"#FFFFFF\",\n \"error-container\": colors.error[100],\n \"on-error-container\": colors.error[800],\n\n success: colors.success[500],\n \"on-success\": \"#FFFFFF\",\n \"success-container\": colors.success[100],\n \"on-success-container\": colors.success[800],\n\n warning: colors.warning[500],\n \"on-warning\": \"#FFFFFF\",\n \"warning-container\": colors.warning[100],\n \"on-warning-container\": colors.warning[800],\n\n info: colors.blue[500],\n \"on-info\": \"#FFFFFF\",\n \"info-container\": colors.blue[100],\n \"on-info-container\": colors.blue[800],\n\n // States\n \"surface-tint\": colors.brand[500],\n \"state-hover\": \"rgba(0,0,0,0.08)\",\n \"state-focus\": \"rgba(0,0,0,0.12)\",\n \"state-pressed\": \"rgba(0,0,0,0.12)\",\n \"state-dragged\": \"rgba(0,0,0,0.16)\",\n \"state-disabled\": \"rgba(0,0,0,0.38)\",\n\n // Categorical — 10 perceptually distinct hues\n \"graphic-1\": colors.brand[500], // purple\n \"graphic-2\": colors.blue[500], // blue\n \"graphic-3\": colors.teal[500], // teal\n \"graphic-4\": colors.success[500], // green\n \"graphic-5\": colors.warning[500], // amber\n \"graphic-6\": colors.error[500], // red\n \"graphic-7\": colors.indigo[500], // indigo\n \"graphic-8\": colors.pink[500], // pink\n \"graphic-9\": colors.amber[500], // yellow-amber\n \"graphic-10\": colors.cyan[500], // cyan\n \"on-graphic\": \"#FFFFFF\",\n // Categorical containers — very light bg ([50]) + mid-tone icon/text ([600])\n \"graphic-1-container\": colors.brand[50],\n \"graphic-2-container\": colors.blue[50],\n \"graphic-3-container\": colors.teal[50],\n \"graphic-4-container\": colors.success[50],\n \"graphic-5-container\": colors.warning[50],\n \"graphic-6-container\": colors.error[50],\n \"graphic-7-container\": colors.indigo[50],\n \"graphic-8-container\": colors.pink[50],\n \"graphic-9-container\": colors.amber[50],\n \"graphic-10-container\": colors.cyan[50],\n \"on-graphic-1-container\": colors.brand[600],\n \"on-graphic-2-container\": colors.blue[600],\n \"on-graphic-3-container\": colors.teal[600],\n \"on-graphic-4-container\": colors.success[600],\n \"on-graphic-5-container\": colors.warning[600],\n \"on-graphic-6-container\": colors.error[600],\n \"on-graphic-7-container\": colors.indigo[600],\n \"on-graphic-8-container\": colors.pink[600],\n \"on-graphic-9-container\": colors.amber[600],\n \"on-graphic-10-container\": colors.cyan[600],\n\n // Status\n \"status-positive\": colors.success[600],\n \"status-warning\": colors.warning[500],\n \"status-negative\": colors.error[600],\n \"status-neutral\": colors.gray[400],\n\n // Progress\n \"progress-track\": colors.gray[200],\n \"progress-indicator\": colors.brand[500],\n \"progress-buffer\": colors.brand[300],\n\n // Scales\n \"scale-low\": colors.success[300],\n \"scale-medium\": colors.warning[400],\n \"scale-high\": colors.error[500],\n\n // Infrastructure\n \"graphic-outline\": colors.gray[300],\n \"graphic-divider\": colors.gray[200],\n \"graphic-label\": colors.gray[600],\n \"graphic-marker\": colors.brand[600],\n\n // Overlays\n \"graphic-hover\": colors.brand[100],\n \"graphic-muted\": colors.gray[200],\n \"annotation-line\": colors.gray[400],\n};\n\n// ---------------------------------------------------------------------------\n// Dark theme\n// ---------------------------------------------------------------------------\n\nexport const darkTheme: ThemeTokens = {\n // Surfaces\n surface: colors.gray[900],\n \"surface-dim\": \"#080D14\",\n \"surface-bright\": colors.gray[800],\n \"surface-container-lowest\": \"#080D14\",\n \"surface-container-low\": colors.gray[900],\n \"surface-container\": colors.gray[800],\n \"surface-container-high\": colors.gray[700],\n \"surface-container-highest\": colors.gray[600],\n\n // Content\n \"on-surface\": colors.gray[50],\n \"on-surface-variant\": colors.gray[400],\n \"inverse-surface\": colors.gray[100],\n \"inverse-on-surface\": colors.gray[900],\n\n // Primary\n primary: colors.brand[400],\n \"on-primary\": \"#000000\",\n \"primary-container\": colors.brand[900],\n \"on-primary-container\": colors.brand[100],\n \"inverse-primary\": colors.brand[600],\n\n // Secondary\n secondary: colors.violet[400],\n \"on-secondary\": colors.violet[900],\n \"secondary-container\": colors.violet[800],\n \"on-secondary-container\": colors.violet[100],\n\n // Tertiary\n tertiary: colors.teal[400],\n \"on-tertiary\": \"#000000\",\n \"tertiary-container\": colors.teal[900],\n \"on-tertiary-container\": colors.teal[100],\n\n // Utility\n outline: colors.gray[600],\n \"outline-variant\": colors.gray[700],\n scrim: \"rgba(255,255,255,0.1)\",\n shadow: \"rgba(0,0,0,0.3)\",\n\n // Feedback\n error: colors.error[400],\n \"on-error\": colors.error[900],\n \"error-container\": colors.error[800],\n \"on-error-container\": colors.error[100],\n\n success: colors.success[400],\n \"on-success\": colors.success[900],\n \"success-container\": colors.success[800],\n \"on-success-container\": colors.success[100],\n\n warning: colors.warning[400],\n \"on-warning\": colors.warning[900],\n \"warning-container\": colors.warning[800],\n \"on-warning-container\": colors.warning[100],\n\n info: colors.blue[400],\n \"on-info\": colors.blue[900],\n \"info-container\": colors.blue[800],\n \"on-info-container\": colors.blue[100],\n\n // States\n \"surface-tint\": colors.brand[400],\n \"state-hover\": \"rgba(255,255,255,0.08)\",\n \"state-focus\": \"rgba(255,255,255,0.12)\",\n \"state-pressed\": \"rgba(255,255,255,0.12)\",\n \"state-dragged\": \"rgba(255,255,255,0.16)\",\n \"state-disabled\": \"rgba(255,255,255,0.38)\",\n\n // Categorical\n \"graphic-1\": colors.brand[400],\n \"graphic-2\": colors.blue[400],\n \"graphic-3\": colors.teal[400],\n \"graphic-4\": colors.success[400],\n \"graphic-5\": colors.warning[400],\n \"graphic-6\": colors.error[400],\n \"graphic-7\": colors.indigo[400],\n \"graphic-8\": colors.pink[400],\n \"graphic-9\": colors.amber[400],\n \"graphic-10\": colors.cyan[400],\n \"on-graphic\": \"#FFFFFF\",\n // Categorical containers — very dark bg + light text\n \"graphic-1-container\": colors.brand[950],\n \"graphic-2-container\": colors.blue[950],\n \"graphic-3-container\": colors.teal[950],\n \"graphic-4-container\": colors.success[950],\n \"graphic-5-container\": colors.warning[950],\n \"graphic-6-container\": colors.error[950],\n \"graphic-7-container\": colors.indigo[950],\n \"graphic-8-container\": colors.pink[950],\n \"graphic-9-container\": colors.amber[950],\n \"graphic-10-container\": colors.cyan[950],\n \"on-graphic-1-container\": colors.brand[100],\n \"on-graphic-2-container\": colors.blue[100],\n \"on-graphic-3-container\": colors.teal[100],\n \"on-graphic-4-container\": colors.success[100],\n \"on-graphic-5-container\": colors.warning[100],\n \"on-graphic-6-container\": colors.error[100],\n \"on-graphic-7-container\": colors.indigo[100],\n \"on-graphic-8-container\": colors.pink[100],\n \"on-graphic-9-container\": colors.amber[100],\n \"on-graphic-10-container\": colors.cyan[100],\n\n // Status\n \"status-positive\": colors.success[400],\n \"status-warning\": colors.warning[400],\n \"status-negative\": colors.error[400],\n \"status-neutral\": colors.gray[500],\n\n // Progress\n \"progress-track\": colors.gray[700],\n \"progress-indicator\": colors.brand[400],\n \"progress-buffer\": colors.brand[700],\n\n // Scales\n \"scale-low\": colors.success[400],\n \"scale-medium\": colors.warning[400],\n \"scale-high\": colors.error[400],\n\n // Infrastructure\n \"graphic-outline\": colors.gray[600],\n \"graphic-divider\": colors.gray[700],\n \"graphic-label\": colors.gray[400],\n \"graphic-marker\": colors.brand[400],\n\n // Overlays\n \"graphic-hover\": colors.brand[800],\n \"graphic-muted\": colors.gray[700],\n \"annotation-line\": colors.gray[500],\n};\n\n// ═══════════════════════════════════════════════════════════════════════════\n// Design themes — imported from individual theme files for easy packaging\n// ═══════════════════════════════════════════════════════════════════════════\n\nimport { rosewoodTheme } from \"./themes/rosewood\";\nimport { botanicaTheme } from \"./themes/botanica\";\nimport { inkwellTheme } from \"./themes/inkwell\";\n\n// ---------------------------------------------------------------------------\n// Design theme system — each design theme pairs light/dark color tokens\n// with global overrides for radius, shadow, and typography.\n// ---------------------------------------------------------------------------\n\nimport type { PersonalityPreset } from \"../types/components\";\n\nexport type DesignTheme = {\n label: string;\n description: string;\n /** Primary color swatch shown in the selector */\n swatch: string;\n /** Personality preset controlling radius + animation behavior */\n personality: PersonalityPreset;\n light: ThemeTokens;\n dark: ThemeTokens;\n /** Mode-independent CSS custom properties (radius, shadow, font) */\n globals: Record<string, string>;\n};\n\nexport type DesignThemeName = \"rosewood\" | \"botanica\" | \"inkwell\";\n\nexport const designThemes: Record<DesignThemeName, DesignTheme> = {\n inkwell: inkwellTheme,\n rosewood: rosewoodTheme,\n botanica: botanicaTheme,\n};\n\n// ---------------------------------------------------------------------------\n// Backward-compatible exports\n// ---------------------------------------------------------------------------\n\nexport const themes = {\n light: lightTheme,\n dark: darkTheme,\n} as const;\n\nexport type ThemeName = keyof typeof themes;\n\n// ---------------------------------------------------------------------------\n// CSS generation helper\n// ---------------------------------------------------------------------------\n\nfunction tokensToVarBlock(tokens: ThemeTokens): string {\n return Object.entries(tokens)\n .map(([key, value]) => ` --${key}: ${value};`)\n .join(\"\\n\");\n}\n\nfunction globalsToVarBlock(globals: Record<string, string>): string {\n return Object.entries(globals)\n .map(([key, value]) => ` ${key}: ${value};`)\n .join(\"\\n\");\n}\n\n/**\n * Generates a `<style>` block with CSS custom properties for every design\n * theme × light/dark mode. The first theme (inkwell) is output as `:root` / `.dark`.\n * All themes also get `[data-design-theme=\"name\"]` attribute selectors so they\n * can be activated by setting the attribute on the root element.\n */\nexport function generateThemeCSS(): string {\n const blocks: string[] = [];\n const entries = Object.entries(designThemes);\n\n // First theme as base (:root / .dark) — so page renders without flash\n const [, firstTheme] = entries[0];\n const firstLightVars = tokensToVarBlock(firstTheme.light);\n const firstGlobals = globalsToVarBlock(firstTheme.globals);\n const firstDarkVars = tokensToVarBlock(firstTheme.dark);\n\n const rootBlock = [firstLightVars, firstGlobals].filter(Boolean).join(\"\\n\");\n blocks.push(`:root {\\n${rootBlock}\\n}`);\n blocks.push(`.dark {\\n${firstDarkVars}\\n${firstGlobals}\\n}`);\n\n // All themes (including first) — scoped by data attribute\n for (const [name, theme] of entries) {\n const lightVars = tokensToVarBlock(theme.light);\n const globalsVars = globalsToVarBlock(theme.globals);\n const darkVars = tokensToVarBlock(theme.dark);\n\n const lightBlock = [lightVars, globalsVars].filter(Boolean).join(\"\\n\");\n blocks.push(`[data-design-theme=\"${name}\"] {\\n${lightBlock}\\n}`);\n blocks.push(\n `[data-design-theme=\"${name}\"].dark {\\n${darkVars}\\n${globalsVars}\\n}`,\n );\n }\n\n return blocks.join(\"\\n\\n\");\n}\n","/**\n * PixelPlay UI - License validation (optional).\n *\n * The npm package is free to use. License keys are optional and used\n * for analytics/support tracking only. Builds never fail due to missing keys.\n */\n\nconst POLAR_ORG_ID = \"0f5f2ec4-1ce3-4e23-8099-c3d77aadb8cf\";\nconst VALIDATE_URL =\n \"https://api.polar.sh/v1/customer-portal/license-keys/validate\";\n\nlet initialised = false;\n\ninterface InitOptions {\n /** Optional license key for analytics/support tracking */\n licenseKey?: string;\n}\n\n/**\n * Initialise PixelPlay (optional).\n *\n * Call this once at the top of your root layout if you want to register\n * your license key for support tracking:\n * ```ts\n * import { initPixelPlay } from \"pixelplay/server\";\n * initPixelPlay({ licenseKey: process.env.PIXELPLAY_LICENSE_KEY });\n * ```\n *\n * Without a key, components work normally in all environments.\n */\nexport async function initPixelPlay(options?: InitOptions): Promise<void> {\n if (initialised) return;\n initialised = true;\n\n const key = options?.licenseKey;\n\n if (!key) {\n // No key - that's fine, package is free\n return;\n }\n\n // Validate async (fire-and-forget, never block builds)\n validateKey(key).catch(() => {});\n}\n\nasync function validateKey(key: string): Promise<void> {\n try {\n const res = await fetch(VALIDATE_URL, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n key,\n organization_id: POLAR_ORG_ID,\n }),\n });\n\n if (!res.ok) {\n // Invalid key - just log, never fail\n if (res.status === 404 || res.status === 422) {\n console.info(\n \"[PixelPlay] License key could not be validated. Components will still work normally.\",\n );\n }\n return;\n }\n\n const data = await res.json();\n\n if (data.status === \"revoked\" || data.status === \"disabled\") {\n console.info(\n `[PixelPlay] License key has been ${data.status}. Components will still work normally.`,\n );\n }\n } catch {\n // Network failure - silently ignore\n }\n}\n"],"mappings":"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","names":[]}
|