{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "lyse-tokens",
  "type": "registry:style",
  "description": "Lyse Design System tokens — required foundation for all Lyse components. Includes color primitives, semantic colors (light/dark), layout tokens, typography tokens, and shadcn bridge.",
  "files": [
    {
      "path": "app/styles/root-colors.css",
      "content": "/* ================================================================\n * PRIMITIVES — Colors\n * Source: Figma collection \"_root colors\"\n * Raw palette values, never used directly in components.\n * Components consume semantic tokens (semantic-colors.css).\n * ================================================================ */\n:root {\n  /* Base */\n  --root-color-base-black: oklch(0.00% 0.0000 none);\n  --root-color-base-transparent: oklch(98.51% 0.0000 none / 0%);\n  --root-color-base-white: oklch(100.00% 0.0000 none);\n\n  /* Brand */\n  --root-color-brand-050: oklch(97.05% 0.0142 254.60);\n  --root-color-brand-100: oklch(93.19% 0.0316 255.59);\n  --root-color-brand-200: oklch(88.20% 0.0588 253.97);\n  --root-color-brand-300: oklch(80.71% 0.1007 250.45);\n  --root-color-brand-400: oklch(70.40% 0.1583 253.63);\n  --root-color-brand-500: oklch(61.87% 0.2067 259.23);\n  --root-color-brand-600: oklch(54.65% 0.2455 262.87);\n  --root-color-brand-700: oklch(48.78% 0.2432 264.40);\n  --root-color-brand-800: oklch(42.42% 0.1982 265.50);\n  --root-color-brand-900: oklch(37.96% 0.1453 265.47);\n  --root-color-brand-950: oklch(28.10% 0.0924 268.13);\n\n  /* Danger */\n  --root-color-danger-050: oklch(97.05% 0.0129 17.38);\n  --root-color-danger-100: oklch(93.65% 0.0320 17.74);\n  --root-color-danger-200: oklch(88.34% 0.0616 18.39);\n  --root-color-danger-300: oklch(80.53% 0.1109 19.78);\n  --root-color-danger-400: oklch(70.22% 0.1892 22.23);\n  --root-color-danger-500: oklch(61% 0.2373 25.44);\n  --root-color-danger-600: oklch(58.30% 0.2387 28.48);\n  --root-color-danger-700: oklch(50.95% 0.2086 28.51);\n  --root-color-danger-800: oklch(44.46% 0.1774 26.79);\n  --root-color-danger-900: oklch(29% 0.10 25.71);\n  --root-color-danger-950: oklch(25.75% 0.0918 25.84);\n\n  /* Neutral */\n  --root-color-neutral-050: oklch(98.51% 0.0000 none);\n  --root-color-neutral-100: oklch(97.02% 0.0000 none);\n  --root-color-neutral-200: oklch(92.19% 0.0000 none);\n  --root-color-neutral-300: oklch(86.99% 0.0000 none);\n  --root-color-neutral-400: oklch(70.90% 0.0000 none);\n  --root-color-neutral-500: oklch(55.55% 0.0000 none);\n  --root-color-neutral-600: oklch(43.86% 0.0000 none);\n  --root-color-neutral-700: oklch(37.15% 0.0000 none);\n  --root-color-neutral-800: oklch(26.86% 0.0000 none);\n  --root-color-neutral-900: oklch(20.46% 0.0000 none);\n  --root-color-neutral-950: oklch(16.84% 0.0000 none);\n\n  /* Success */\n  --root-color-success-050: oklch(98.19% 0.0181 155.83);\n  --root-color-success-100: oklch(96.24% 0.0434 156.74);\n  --root-color-success-200: oklch(92.58% 0.0845 155.86);\n  --root-color-success-300: oklch(87.04% 0.1490 154.62);\n  --root-color-success-400: oklch(79.14% 0.2091 151.66);\n  --root-color-success-500: oklch(72.89% 0.2119 147.82);\n  --root-color-success-600: oklch(63.20% 0.1860 147.37);\n  --root-color-success-700: oklch(52.96% 0.1495 148.99);\n  --root-color-success-800: oklch(44.68% 0.1187 151.40);\n  --root-color-success-900: oklch(39.35% 0.0957 152.28);\n  --root-color-success-950: oklch(26.54% 0.0651 152.77);\n\n  /* Warning */\n  --root-color-warning-050: oklch(97.96% 0.0158 73.68);\n  --root-color-warning-100: oklch(95.40% 0.0382 76.20);\n  --root-color-warning-200: oklch(89.99% 0.0763 70.44);\n  --root-color-warning-300: oklch(83.37% 0.1256 67.19);\n  --root-color-warning-400: oklch(74.58% 0.1802 56.73);\n  --root-color-warning-500: oklch(69.96% 0.2020 44.44);\n  --root-color-warning-600: oklch(64.71% 0.2173 36.85);\n  --root-color-warning-700: oklch(55.42% 0.1922 35.48);\n  --root-color-warning-800: oklch(46.96% 0.1566 37.15);\n  --root-color-warning-900: oklch(40.73% 0.1228 38.02);\n  --root-color-warning-950: oklch(26.62% 0.0789 35.91);\n\n  /* Opacity — Brand */\n  --root-opacity-brand-050: oklch(61.87% 0.2067 259.23 / 2%);\n  --root-opacity-brand-100: oklch(61.87% 0.2067 259.23 / 3%);\n  --root-opacity-brand-200: oklch(61.87% 0.2067 259.23 / 5%);\n  --root-opacity-brand-300: oklch(61.87% 0.2067 259.23 / 8%);\n  --root-opacity-brand-400: oklch(61.87% 0.2067 259.23 / 13%);\n  --root-opacity-brand-500: oklch(61.87% 0.2067 259.23 / 21%);\n  --root-opacity-brand-600: oklch(61.87% 0.2067 259.23 / 34%);\n  --root-opacity-brand-700: oklch(61.87% 0.2067 259.23 / 55%);\n  --root-opacity-brand-800: oklch(61.87% 0.2067 259.23 / 80%);\n  --root-opacity-brand-900: oklch(61.87% 0.2067 259.23);\n\n  /* Opacity — Danger */\n  --root-opacity-danger-050: oklch(61% 0.2373 25.44 / 2%);\n  --root-opacity-danger-100: oklch(61% 0.2373 25.44 / 3%);\n  --root-opacity-danger-200: oklch(61% 0.2373 25.44 / 5%);\n  --root-opacity-danger-300: oklch(61% 0.2373 25.44 / 8%);\n  --root-opacity-danger-400: oklch(61% 0.2373 25.44 / 13%);\n  --root-opacity-danger-500: oklch(61% 0.2373 25.44 / 21%);\n  --root-opacity-danger-600: oklch(61% 0.2373 25.44 / 34%);\n  --root-opacity-danger-700: oklch(61% 0.2373 25.44 / 55%);\n  --root-opacity-danger-800: oklch(61% 0.2373 25.44 / 80%);\n  --root-opacity-danger-900: oklch(61% 0.2373 25.44);\n\n  /* Opacity — Inverse */\n  --root-opacity-inverse-050: oklch(98.51% 0.0000 none / 2%);\n  --root-opacity-inverse-100: oklch(98.51% 0.0000 none / 3%);\n  --root-opacity-inverse-200: oklch(98.51% 0.0000 none / 5%);\n  --root-opacity-inverse-300: oklch(98.51% 0.0000 none / 8%);\n  --root-opacity-inverse-400: oklch(98.51% 0.0000 none / 24%);\n  --root-opacity-inverse-500: oklch(98.51% 0.0000 none / 32%);\n  --root-opacity-inverse-600: oklch(98.51% 0.0000 none / 56%);\n  --root-opacity-inverse-700: oklch(98.51% 0.0000 none / 64%);\n  --root-opacity-inverse-800: oklch(98.51% 0.0000 none / 80%);\n  --root-opacity-inverse-900: oklch(98.51% 0.0000 none);\n\n  /* Opacity — Neutral */\n  --root-opacity-neutral-050: oklch(14.48% 0.0000 none / 2%);\n  --root-opacity-neutral-100: oklch(14.48% 0.0000 none / 3%);\n  --root-opacity-neutral-200: oklch(14.48% 0.0000 none / 5%);\n  --root-opacity-neutral-300: oklch(14.48% 0.0000 none / 8%);\n  --root-opacity-neutral-400: oklch(14.48% 0.0000 none / 13%);\n  --root-opacity-neutral-500: oklch(14.48% 0.0000 none / 21%);\n  --root-opacity-neutral-600: oklch(14.48% 0.0000 none / 34%);\n  --root-opacity-neutral-700: oklch(14.48% 0.0000 none / 55%);\n  --root-opacity-neutral-800: oklch(14.48% 0.0000 none / 89%);\n  --root-opacity-neutral-900: oklch(14.48% 0.0000 none);\n\n  /* Opacity — Success */\n  --root-opacity-success-050: oklch(72.89% 0.2119 147.82 / 2%);\n  --root-opacity-success-100: oklch(72.89% 0.2119 147.82 / 3%);\n  --root-opacity-success-200: oklch(72.89% 0.2119 147.82 / 5%);\n  --root-opacity-success-300: oklch(72.89% 0.2119 147.82 / 8%);\n  --root-opacity-success-400: oklch(72.89% 0.2119 147.82 / 13%);\n  --root-opacity-success-500: oklch(72.89% 0.2119 147.82 / 21%);\n  --root-opacity-success-600: oklch(72.89% 0.2119 147.82 / 34%);\n  --root-opacity-success-700: oklch(72.89% 0.2119 147.82 / 55%);\n  --root-opacity-success-800: oklch(72.89% 0.2119 147.82 / 80%);\n  --root-opacity-success-900: oklch(72.89% 0.2119 147.82);\n\n  /* Opacity — Warning */\n  --root-opacity-warning-050: oklch(69.96% 0.2020 44.44 / 2%);\n  --root-opacity-warning-100: oklch(69.96% 0.2020 44.44 / 3%);\n  --root-opacity-warning-200: oklch(69.96% 0.2020 44.44 / 5%);\n  --root-opacity-warning-300: oklch(69.96% 0.2020 44.44 / 8%);\n  --root-opacity-warning-400: oklch(69.96% 0.2020 44.44 / 13%);\n  --root-opacity-warning-500: oklch(69.96% 0.2020 44.44 / 21%);\n  --root-opacity-warning-600: oklch(69.96% 0.2020 44.44 / 34%);\n  --root-opacity-warning-700: oklch(69.96% 0.2020 44.44 / 55%);\n  --root-opacity-warning-800: oklch(69.96% 0.2020 44.44 / 80%);\n  --root-opacity-warning-900: oklch(69.96% 0.2020 44.44);\n}\n",
      "type": "registry:file",
      "target": "~/styles/lyse/root-colors.css"
    },
    {
      "path": "app/styles/root-typography.css",
      "content": "/* ================================================================\n * PRIMITIVES — Typography\n * Source: Figma collection \"_root font\"\n * Font metrics: sizes, weights, line-heights, letter-spacing.\n * Note: font-weight values corrected from Figma rem export.\n * ================================================================ */\n:root {\n  /* Letter Spacing */\n  --root-font-letter-spacing-xs: -0.125rem;\n  --root-font-letter-spacing-sm: -0.0625rem;\n  --root-font-letter-spacing-md: 0rem;\n  --root-font-letter-spacing-lg: 0.0625rem;\n  --root-font-letter-spacing-xl: 0.125rem;\n\n  /* Line Height */\n  --root-font-line-height-2xs: 0.875rem;\n  --root-font-line-height-xs: 1rem;\n  --root-font-line-height-sm: 1.25rem;\n  --root-font-line-height-md: 1.5rem;\n  --root-font-line-height-lg: 1.625rem;\n  --root-font-line-height-xl: 1.75rem;\n  --root-font-line-height-2xl: 2rem;\n  --root-font-line-height-3xl: 2.5rem;\n  --root-font-line-height-4xl: 2.875rem;\n  --root-font-line-height-5xl: 3.375rem;\n  --root-font-line-height-6xl: 4.125rem;\n  --root-font-line-height-7xl: 4.875rem;\n  --root-font-line-height-8xl: 6.625rem;\n  --root-font-line-height-9xl: 8.5rem;\n\n  /* Font Size */\n  --root-font-size-2xs: 0.625rem;\n  --root-font-size-xs: 0.75rem;\n  --root-font-size-sm: 0.875rem;\n  --root-font-size-md: 1rem;\n  --root-font-size-lg: 1.125rem;\n  --root-font-size-xl: 1.25rem;\n  --root-font-size-2xl: 1.5rem;\n  --root-font-size-3xl: 1.875rem;\n  --root-font-size-4xl: 2.25rem;\n  --root-font-size-5xl: 3rem;\n  --root-font-size-6xl: 3.75rem;\n  --root-font-size-7xl: 4.5rem;\n  --root-font-size-8xl: 6rem;\n  --root-font-size-9xl: 8rem;\n\n  /* Font Weight (corrected from Figma rem → unitless) */\n  --root-font-weight-100: 100;\n  --root-font-weight-200: 200;\n  --root-font-weight-300: 300;\n  --root-font-weight-400: 400;\n  --root-font-weight-500: 500;\n  --root-font-weight-600: 600;\n  --root-font-weight-700: 700;\n  --root-font-weight-800: 800;\n  --root-font-weight-900: 900;\n\n  /* Font Family */\n  --root-font-family-primary: \"DM Sans\", ui-sans-serif, system-ui, sans-serif;\n  --root-font-family-secondary: \"Inter\", ui-sans-serif, system-ui, sans-serif;\n}\n",
      "type": "registry:file",
      "target": "~/styles/lyse/root-typography.css"
    },
    {
      "path": "app/styles/root-layout.css",
      "content": "/* ================================================================\n * PRIMITIVES — Layout\n * Source: Figma collection \"_root global\"\n * Spacing, radius, sizing, borders, grid.\n * Note: border-width typo corrected from Figma (\"widht\" → \"width\").\n * Note: opacity values corrected from Figma rem → decimal (0-1).\n * ================================================================ */\n:root {\n  /* Border Width */\n  --root-border-width-0: 0rem;\n  --root-border-width-1: 0.0625rem;\n  --root-border-width-2: 0.125rem;\n  --root-border-width-3: 0.1875rem;\n  --root-border-width-4: 0.25rem;\n  --root-border-width-5: 0.375rem;\n  --root-border-width-6: 0.5rem;\n\n  /* Column */\n  --root-column-sm: 0.25rem;\n  --root-column-md: 0.5rem;\n  --root-column-lg: 0.75rem;\n\n  /* Gutter */\n  --root-gutter-sm: 1rem;\n  --root-gutter-md: 1.25rem;\n  --root-gutter-lg: 1.5rem;\n\n  /* Spacing — Negative */\n  --root-negative-6: -0.75rem;\n  --root-negative-5: -0.625rem;\n  --root-negative-4: -0.5rem;\n  --root-negative-3: -0.375rem;\n  --root-negative-2: -0.25rem;\n  --root-negative-1: -0.125rem;\n  --root-negative-0: 0rem;\n\n  /* Opacity (corrected from Figma rem → decimal) */\n  --root-opacity-1: 0.1;\n  --root-opacity-2: 0.2;\n  --root-opacity-3: 0.3;\n  --root-opacity-4: 0.4;\n  --root-opacity-5: 0.5;\n  --root-opacity-6: 0.6;\n  --root-opacity-7: 0.7;\n  --root-opacity-8: 0.8;\n  --root-opacity-9: 0.9;\n  --root-opacity-10: 1;\n\n  /* Spacing — Positive */\n  --root-positive-0: 0rem;\n  --root-positive-1: 0.125rem;\n  --root-positive-2: 0.25rem;\n  --root-positive-3: 0.375rem;\n  --root-positive-4: 0.5rem;\n  --root-positive-5: 0.625rem;\n  --root-positive-6: 0.75rem;\n  --root-positive-7: 0.875rem;\n  --root-positive-8: 1rem;\n  --root-positive-9: 1.25rem;\n  --root-positive-10: 1.5rem;\n  --root-positive-11: 2rem;\n  --root-positive-12: 3rem;\n\n  /* Radius */\n  --root-radius-0: 0rem;\n  --root-radius-1: 0.125rem;\n  --root-radius-2: 0.25rem;\n  --root-radius-3: 0.375rem;\n  --root-radius-4: 0.5rem;\n  --root-radius-5: 0.75rem;\n  --root-radius-6: 1rem;\n  --root-radius-7: 1.5rem;\n  --root-radius-full: 62.4375rem;\n\n  /* Size */\n  --root-size-1: 0.25rem;\n  --root-size-2: 0.375rem;\n  --root-size-3: 0.5rem;\n  --root-size-4: 0.75rem;\n  --root-size-5: 1rem;\n  --root-size-6: 1.25rem;\n  --root-size-7: 1.5rem;\n  --root-size-8: 2rem;\n  --root-size-9: 2.5rem;\n  --root-size-10: 3rem;\n  --root-size-11: 3.5rem;\n  --root-size-12: 4rem;\n  --root-size-13: 4.5rem;\n  --root-size-14: 5rem;\n  --root-size-15: 6rem;\n  --root-size-16: 8rem;\n\n  /* Space */\n  --root-space-0: 0rem;\n  --root-space-1: 0.125rem;\n  --root-space-2: 0.25rem;\n  --root-space-3: 0.375rem;\n  --root-space-4: 0.5rem;\n  --root-space-5: 0.75rem;\n  --root-space-6: 1rem;\n  --root-space-7: 1.5rem;\n  --root-space-8: 2rem;\n  --root-space-9: 2.5rem;\n  --root-space-10: 3rem;\n  --root-space-11: 4rem;\n  --root-space-12: 5rem;\n  --root-space-13: 6rem;\n  --root-space-14: 10rem;\n  --root-space-15: 16.25rem;\n}\n",
      "type": "registry:file",
      "target": "~/styles/lyse/root-layout.css"
    },
    {
      "path": "app/styles/semantic-global.css",
      "content": "/* ================================================================\n * SEMANTICS — Global (mode-independent)\n * Source: Figma collection \"global\"\n * Aliases to primitives. Single mode, no light/dark variation.\n * ================================================================ */\n:root {\n  /* Typography — Letter Spacing */\n  --font-letter-spacing-heading: var(--root-font-letter-spacing-sm);\n  --font-letter-spacing-content: var(--root-font-letter-spacing-md);\n\n  /* Typography — Line Height */\n  --font-line-height-content-caption: var(--root-font-line-height-xs);\n  --font-line-height-content-note: var(--root-font-line-height-sm);\n  --font-line-height-content-body: var(--root-font-line-height-md);\n  --font-line-height-content-highlight: var(--root-font-line-height-lg);\n  --font-line-height-content-feature: var(--root-font-line-height-xl);\n  --font-line-height-heading-small: var(--root-font-line-height-xl);\n  --font-line-height-heading-medium: var(--root-font-line-height-2xl);\n  --font-line-height-heading-large: var(--root-font-line-height-3xl);\n  --font-line-height-heading-display: var(--root-font-line-height-4xl);\n\n  /* Typography — Font Size */\n  --font-size-content-caption: var(--root-font-size-xs);\n  --font-size-content-note: var(--root-font-size-sm);\n  --font-size-content-body: var(--root-font-size-md);\n  --font-size-content-highlight: var(--root-font-size-lg);\n  --font-size-content-feature: var(--root-font-size-xl);\n  --font-size-heading-small: var(--root-font-size-xl);\n  --font-size-heading-medium: var(--root-font-size-2xl);\n  --font-size-heading-large: var(--root-font-size-3xl);\n  --font-size-heading-display: var(--root-font-size-4xl);\n\n  /* Typography — Font Weight */\n  --font-weight-regular: var(--root-font-weight-400);\n  --font-weight-accent: var(--root-font-weight-500);\n  --font-weight-emphasis: var(--root-font-weight-600);\n  --font-weight-bold: var(--root-font-weight-700);\n\n  /* Typography — Font Family */\n  --font-family-content: var(--root-font-family-secondary);\n  --font-family-heading: var(--root-font-family-primary);\n\n  /* Grid */\n  --grid-column: var(--root-column-lg);\n  --grid-gutter: var(--root-space-7);\n  --grid-margin: var(--root-space-7);\n\n  /* Layout — Border */\n  --layout-border-none: var(--root-border-width-0);\n  --layout-border-thin: var(--root-border-width-1);\n  --layout-border-thick: var(--root-border-width-2);\n  --layout-border-thicker: var(--root-border-width-4);\n\n  /* Layout — Gap */\n  --layout-gap-none: var(--root-space-0);\n  --layout-gap-xs: var(--root-space-1);\n  --layout-gap-sm: var(--root-space-2);\n  --layout-gap-md: var(--root-space-4);\n  --layout-gap-lg: var(--root-space-5);\n  --layout-gap-xl: var(--root-space-6);\n  --layout-gap-2xl: var(--root-space-7);\n  --layout-gap-3xl: var(--root-space-8);\n  --layout-gap-4xl: var(--root-space-9);\n\n  /* Layout — Padding */\n  --layout-padding-none: var(--root-space-0);\n  --layout-padding-2xs: var(--root-space-1);\n  --layout-padding-xs: var(--root-space-2);\n  --layout-padding-sm: var(--root-space-3);\n  --layout-padding-md: var(--root-space-4);\n  --layout-padding-lg: var(--root-space-5);\n  --layout-padding-xl: var(--root-space-6);\n  --layout-padding-2xl: var(--root-space-7);\n  --layout-padding-3xl: var(--root-space-8);\n  --layout-padding-4xl: var(--root-space-9);\n  --layout-padding-5xl: var(--root-space-12);\n  --layout-padding-6xl: var(--root-space-15);\n\n  /* Layout — Radius */\n  --layout-radius-xs: var(--root-radius-1);\n  --layout-radius-sm: var(--root-radius-2);\n  --layout-radius-md: var(--root-radius-3);\n  --layout-radius-lg: var(--root-radius-4);\n  --layout-radius-xl: var(--root-radius-5);\n  --layout-radius-2xl: var(--root-radius-6);\n  --layout-radius-3xl: var(--root-radius-7);\n  --layout-radius-full: var(--root-radius-full);\n\n  /* Layout — Size */\n  --layout-size-2xs: var(--root-size-4);\n  --layout-size-xs: var(--root-size-5);\n  --layout-size-base: var(--root-size-6);\n  --layout-size-sm: var(--root-size-6);\n  --layout-size-md: var(--root-size-7);\n  --layout-size-lg: var(--root-size-8);\n  --layout-size-xl: var(--root-size-9);\n  --layout-size-2xl: var(--root-size-10);\n  --layout-size-3xl: var(--root-size-11);\n\n  /* Opacity */\n  --opacity-disabled: var(--root-opacity-4);\n\n  /* Shadow — Blur */\n  --shadow-blur-negative-2xl: var(--root-negative-6);\n  --shadow-blur-negative-xl: var(--root-negative-5);\n  --shadow-blur-negative-lg: var(--root-negative-3);\n  --shadow-blur-negative-md: var(--root-negative-2);\n  --shadow-blur-negative-sm: var(--root-negative-1);\n  --shadow-blur-positive-none: var(--root-positive-0);\n  --shadow-blur-positive-sm: var(--root-positive-1);\n  --shadow-blur-positive-md: var(--root-positive-2);\n  --shadow-blur-positive-lg: var(--root-positive-3);\n  --shadow-blur-positive-xl: var(--root-positive-5);\n  --shadow-blur-positive-2xl: var(--root-positive-7);\n  --shadow-blur-positive-3xl: var(--root-positive-10);\n  --shadow-blur-positive-4xl: var(--root-positive-11);\n  --shadow-blur-positive-5xl: var(--root-positive-12);\n\n  /* Shadow — Position */\n  --shadow-position-negative-3xl: var(--root-negative-6);\n  --shadow-position-negative-2xl: var(--root-negative-5);\n  --shadow-position-negative-xl: var(--root-negative-4);\n  --shadow-position-negative-lg: var(--root-negative-3);\n  --shadow-position-negative-md: var(--root-negative-2);\n  --shadow-position-negative-sm: var(--root-negative-1);\n  --shadow-position-positive-none: var(--root-positive-0);\n  --shadow-position-positive-sm: var(--root-positive-1);\n  --shadow-position-positive-md: var(--root-positive-2);\n  --shadow-position-positive-lg: var(--root-positive-3);\n  --shadow-position-positive-xl: var(--root-positive-4);\n  --shadow-position-positive-2xl: var(--root-positive-5);\n  --shadow-position-positive-3xl: var(--root-positive-7);\n  --shadow-position-positive-4xl: var(--root-positive-9);\n  --shadow-position-positive-5xl: var(--root-positive-10);\n  --shadow-position-positive-6xl: var(--root-positive-11);\n}\n",
      "type": "registry:file",
      "target": "~/styles/lyse/semantic-global.css"
    },
    {
      "path": "app/styles/semantic-colors.css",
      "content": "/* ================================================================\n * SEMANTICS — Theme Colors\n * Source: Figma collection \"theme\"\n * Color tokens that change between light/dark modes.\n * :root = Light (default), .dark = Dark.\n * ================================================================ */\n\n/* --------------------------------\n * Light (default)\n * -------------------------------- */\n:root {\n  /* Background — Base */\n  --background-base: var(--root-color-neutral-050);\n  --background-disabled: var(--root-opacity-neutral-300);\n  --background-elevated: var(--root-color-neutral-050);\n  --background-fixed: var(--root-color-neutral-050);\n  --background-selected: var(--root-color-brand-050);\n\n  /* Background — Brand */\n  --background-brand-bolder-default: var(--root-color-brand-400);\n  --background-brand-bolder-hover: var(--root-color-brand-300);\n  --background-brand-bolder-pressed: var(--root-color-brand-300);\n  --background-brand-faint-default: var(--root-color-brand-050);\n  --background-brand-faint-hover: var(--root-color-brand-100);\n  --background-brand-faint-pressed: var(--root-color-brand-100);\n  --background-brand-lighter-default: var(--root-color-brand-100);\n  --background-brand-lighter-hover: var(--root-color-brand-200);\n  --background-brand-lighter-pressed: var(--root-color-brand-200);\n  --background-brand-medium-default: var(--root-color-brand-200);\n  --background-brand-medium-hover: var(--root-color-brand-300);\n  --background-brand-medium-pressed: var(--root-color-brand-300);\n  --background-brand-moderate-default: var(--root-color-brand-300);\n  --background-brand-moderate-hover: var(--root-color-brand-200);\n  --background-brand-moderate-pressed: var(--root-color-brand-200);\n  --background-brand-strong-default: var(--root-color-brand-500);\n  --background-brand-strong-hover: var(--root-color-brand-400);\n  --background-brand-strong-pressed: var(--root-color-brand-400);\n\n  /* Background — Danger */\n  --background-danger-bolder-default: var(--root-color-danger-400);\n  --background-danger-bolder-hover: var(--root-color-danger-300);\n  --background-danger-bolder-pressed: var(--root-color-danger-300);\n  --background-danger-faint-default: var(--root-color-danger-050);\n  --background-danger-faint-hover: var(--root-color-danger-100);\n  --background-danger-faint-pressed: var(--root-color-danger-200);\n  --background-danger-lighter-default: var(--root-color-danger-100);\n  --background-danger-lighter-hover: var(--root-color-danger-200);\n  --background-danger-lighter-pressed: var(--root-color-danger-200);\n  --background-danger-medium-default: var(--root-color-danger-200);\n  --background-danger-medium-hover: var(--root-color-danger-300);\n  --background-danger-medium-pressed: var(--root-color-danger-300);\n  --background-danger-moderate-default: var(--root-color-danger-300);\n  --background-danger-moderate-hover: var(--root-color-danger-200);\n  --background-danger-moderate-pressed: var(--root-color-danger-200);\n  --background-danger-strong-default: var(--root-color-danger-500);\n  --background-danger-strong-hover: var(--root-color-danger-400);\n  --background-danger-strong-pressed: var(--root-color-danger-400);\n\n  /* Background — Neutral */\n  --background-neutral-bolder-default: var(--root-color-neutral-300);\n  --background-neutral-bolder-hover: var(--root-color-neutral-200);\n  --background-neutral-bolder-pressed: var(--root-color-neutral-200);\n  --background-neutral-faint-default: var(--root-color-base-white);\n  --background-neutral-faint-hover: var(--root-color-neutral-100);\n  --background-neutral-faint-pressed: var(--root-color-neutral-200);\n  --background-neutral-lighter-default: var(--root-color-neutral-100);\n  --background-neutral-lighter-hover: var(--root-color-neutral-200);\n  --background-neutral-lighter-pressed: var(--root-color-neutral-300);\n  --background-neutral-medium-default: var(--root-color-neutral-100);\n  --background-neutral-medium-hover: var(--root-color-neutral-200);\n  --background-neutral-medium-pressed: var(--root-color-neutral-200);\n  --background-neutral-moderate-default: var(--root-color-neutral-200);\n  --background-neutral-moderate-hover: var(--root-color-neutral-100);\n  --background-neutral-moderate-pressed: var(--root-color-neutral-100);\n  --background-neutral-strong-default: var(--root-color-neutral-950);\n  --background-neutral-strong-hover: var(--root-color-neutral-900);\n  --background-neutral-strong-pressed: var(--root-color-neutral-800);\n\n  /* Background — Success */\n  --background-success-bolder-default: var(--root-color-success-400);\n  --background-success-bolder-hover: var(--root-color-success-300);\n  --background-success-bolder-pressed: var(--root-color-success-300);\n  --background-success-faint-default: var(--root-color-success-050);\n  --background-success-faint-hover: var(--root-color-success-100);\n  --background-success-faint-pressed: var(--root-color-success-100);\n  --background-success-lighter-default: var(--root-color-success-100);\n  --background-success-lighter-hover: var(--root-color-success-200);\n  --background-success-lighter-pressed: var(--root-color-success-200);\n  --background-success-medium-default: var(--root-color-success-200);\n  --background-success-medium-hover: var(--root-color-success-300);\n  --background-success-medium-pressed: var(--root-color-success-300);\n  --background-success-moderate-default: var(--root-color-success-300);\n  --background-success-moderate-hover: var(--root-color-success-800);\n  --background-success-moderate-pressed: var(--root-color-success-800);\n  --background-success-strong-default: var(--root-color-success-500);\n  --background-success-strong-hover: var(--root-color-success-400);\n  --background-success-strong-pressed: var(--root-color-success-400);\n\n  /* Background — Warning */\n  --background-warning-bolder-default: var(--root-color-warning-400);\n  --background-warning-bolder-hover: var(--root-color-warning-300);\n  --background-warning-bolder-pressed: var(--root-color-warning-300);\n  --background-warning-faint-default: var(--root-color-warning-050);\n  --background-warning-faint-hover: var(--root-color-warning-100);\n  --background-warning-faint-pressed: var(--root-color-warning-100);\n  --background-warning-lighter-default: var(--root-color-warning-100);\n  --background-warning-lighter-hover: var(--root-color-warning-200);\n  --background-warning-lighter-pressed: var(--root-color-warning-200);\n  --background-warning-medium-default: var(--root-color-warning-200);\n  --background-warning-medium-hover: var(--root-color-warning-300);\n  --background-warning-medium-pressed: var(--root-color-warning-300);\n  --background-warning-moderate-default: var(--root-color-warning-300);\n  --background-warning-moderate-hover: var(--root-color-warning-200);\n  --background-warning-moderate-pressed: var(--root-color-warning-200);\n  --background-warning-strong-default: var(--root-color-warning-500);\n  --background-warning-strong-hover: var(--root-color-warning-400);\n  --background-warning-strong-pressed: var(--root-color-warning-400);\n\n  /* Border — Base */\n  --border-base: var(--root-color-base-white);\n  --border-default: var(--root-opacity-neutral-300);\n  --border-disabled: var(--root-opacity-neutral-100);\n  --border-divider: var(--root-opacity-neutral-300);\n  --border-selected: var(--root-color-brand-500);\n\n  /* Border — Brand */\n  --border-brand-bolder: var(--root-color-brand-400);\n  --border-brand-lighter: var(--root-color-brand-100);\n  --border-brand-medium: var(--root-color-brand-200);\n  --border-brand-moderate: var(--root-color-brand-300);\n  --border-brand-strong: var(--root-color-brand-500);\n\n  /* Border — Danger */\n  --border-danger-bolder: var(--root-color-danger-400);\n  --border-danger-lighter: var(--root-color-danger-100);\n  --border-danger-medium: var(--root-color-danger-200);\n  --border-danger-moderate: var(--root-color-danger-300);\n  --border-danger-strong: var(--root-color-danger-500);\n\n  /* Border — Neutral */\n  --border-neutral-bolder: var(--root-color-neutral-300);\n  --border-neutral-lighter: var(--root-color-neutral-050);\n  --border-neutral-medium: var(--root-color-neutral-100);\n  --border-neutral-moderate: var(--root-color-neutral-200);\n  --border-neutral-strong: var(--root-color-neutral-950);\n\n  /* Border — Success */\n  --border-success-bolder: var(--root-color-success-400);\n  --border-success-lighter: var(--root-color-success-100);\n  --border-success-medium: var(--root-color-success-200);\n  --border-success-moderate: var(--root-color-success-300);\n  --border-success-strong: var(--root-color-success-500);\n\n  /* Border — Warning */\n  --border-warning-bolder: var(--root-color-warning-400);\n  --border-warning-lighter: var(--root-color-warning-100);\n  --border-warning-medium: var(--root-color-warning-200);\n  --border-warning-moderate: var(--root-color-warning-300);\n  --border-warning-strong: var(--root-color-warning-500);\n\n  /* Icon */\n  --icon-disabled: var(--root-opacity-neutral-500);\n  --icon-fixed: var(--root-color-base-white);\n  --icon-inverse: var(--root-color-base-white);\n  --icon-selected: var(--root-color-brand-500);\n\n  /* Icon — Brand */\n  --icon-brand-bolder: var(--root-color-brand-600);\n  --icon-brand-lighter: var(--root-color-brand-050);\n  --icon-brand-medium: var(--root-color-brand-200);\n  --icon-brand-moderate: var(--root-color-brand-500);\n  --icon-brand-strong: var(--root-color-brand-800);\n\n  /* Icon — Danger */\n  --icon-danger-bolder: var(--root-color-danger-600);\n  --icon-danger-lighter: var(--root-color-danger-050);\n  --icon-danger-medium: var(--root-color-danger-200);\n  --icon-danger-moderate: var(--root-color-danger-500);\n  --icon-danger-strong: var(--root-color-danger-800);\n\n  /* Icon — Neutral */\n  --icon-neutral-bolder: var(--root-color-neutral-600);\n  --icon-neutral-lighter: var(--root-color-neutral-050);\n  --icon-neutral-medium: var(--root-color-neutral-200);\n  --icon-neutral-moderate: var(--root-color-neutral-400);\n  --icon-neutral-strong: var(--root-color-neutral-800);\n\n  /* Icon — Success */\n  --icon-success-bolder: var(--root-color-success-600);\n  --icon-success-lighter: var(--root-color-success-050);\n  --icon-success-medium: var(--root-color-success-200);\n  --icon-success-moderate: var(--root-color-success-500);\n  --icon-success-strong: var(--root-color-success-800);\n\n  /* Icon — Warning */\n  --icon-warning-bolder: var(--root-color-warning-600);\n  --icon-warning-lighter: var(--root-color-warning-050);\n  --icon-warning-medium: var(--root-color-warning-200);\n  --icon-warning-moderate: var(--root-color-warning-500);\n  --icon-warning-strong: var(--root-color-warning-800);\n\n  /* Link */\n  --link-primary-default: var(--root-color-brand-500);\n  --link-primary-hover: var(--root-color-brand-400);\n  --link-primary-pressed: var(--root-color-brand-400);\n  --link-primary-visited: var(--root-color-brand-400);\n\n  /* Overlay */\n  --overlay-default: #00000066;\n  --overlay-brand-default: var(--root-opacity-brand-300);\n  --overlay-danger-default: var(--root-opacity-danger-300);\n  --overlay-neutral-default: var(--root-opacity-neutral-200);\n  --overlay-success-default: var(--root-opacity-success-300);\n  --overlay-warning-default: var(--root-opacity-warning-300);\n\n  /* Shadow — Colors */\n  --shadow-brand-bolder: var(--root-opacity-brand-800);\n  --shadow-brand-lighter: var(--root-opacity-brand-200);\n  --shadow-brand-medium: var(--root-opacity-brand-400);\n  --shadow-brand-moderate: var(--root-opacity-brand-600);\n  --shadow-brand-strong: var(--root-opacity-brand-900);\n  --shadow-danger-bolder: var(--root-opacity-danger-800);\n  --shadow-danger-lighter: var(--root-opacity-danger-200);\n  --shadow-danger-medium: var(--root-opacity-danger-400);\n  --shadow-danger-moderate: var(--root-opacity-danger-600);\n  --shadow-danger-strong: var(--root-opacity-danger-900);\n  --shadow-inverse-bolder: var(--root-opacity-inverse-400);\n  --shadow-inverse-lighter: var(--root-opacity-inverse-700);\n  --shadow-inverse-medium: var(--root-opacity-inverse-600);\n  --shadow-inverse-moderate: var(--root-opacity-inverse-500);\n  --shadow-inverse-strong: var(--root-opacity-inverse-300);\n  --shadow-neutral-bolder: #0000003d;\n  --shadow-neutral-lighter: #0000008f;\n  --shadow-neutral-medium: #0000007a;\n  --shadow-neutral-moderate: #00000052;\n  --shadow-neutral-strong: #00000029;\n  --shadow-success-bolder: var(--root-opacity-success-800);\n  --shadow-success-lighter: var(--root-opacity-success-200);\n  --shadow-success-medium: var(--root-opacity-success-400);\n  --shadow-success-moderate: var(--root-opacity-success-600);\n  --shadow-success-strong: var(--root-opacity-success-900);\n  --shadow-warning-bolder: var(--root-opacity-warning-800);\n  --shadow-warning-lighter: var(--root-opacity-warning-200);\n  --shadow-warning-medium: var(--root-opacity-warning-400);\n  --shadow-warning-moderate: var(--root-opacity-warning-600);\n  --shadow-warning-strong: var(--root-opacity-warning-900);\n\n  /* Shadow — Elevation (composite, auto-remap light/dark) */\n  --shadow-elevation-sm:\n    0 0 1px rgba(0, 0, 0, 0.05),\n    0 2px 2px rgba(0, 0, 0, 0.05),\n    0 4px 3px rgba(0, 0, 0, 0.03);\n  --shadow-elevation-md:\n    0 3px 8px 0 rgba(0, 0, 0, 0.04),\n    0 14px 14px 0 rgba(0, 0, 0, 0.03),\n    0 31px 19px 0 rgba(0, 0, 0, 0.02),\n    0 55px 22px 0 rgba(0, 0, 0, 0.01);\n\n  /* Background — Surface */\n  --background-surface-raised: var(--root-color-base-white);\n\n  /* Text — Base */\n  --text-disabled: var(--root-opacity-neutral-500);\n  --text-fixed: var(--root-color-neutral-050);\n  --text-inverse: var(--root-color-base-white);\n  --text-selected: var(--root-color-brand-500);\n  --text-base-bolder: var(--root-color-neutral-700);\n  --text-base-lighter: var(--root-color-neutral-200);\n  --text-base-medium: var(--root-color-neutral-400);\n  --text-base-moderate: var(--root-color-neutral-600);\n  --text-base-strong: var(--root-color-neutral-900);\n\n  /* Text — Brand */\n  --text-brand-bolder: var(--root-color-brand-800);\n  --text-brand-lighter: var(--root-color-brand-200);\n  --text-brand-medium: var(--root-color-brand-400);\n  --text-brand-moderate: var(--root-color-brand-500);\n  --text-brand-strong: var(--root-color-brand-950);\n\n  /* Text — Danger */\n  --text-danger-bolder: var(--root-color-danger-800);\n  --text-danger-lighter: var(--root-color-danger-200);\n  --text-danger-medium: var(--root-color-danger-400);\n  --text-danger-moderate: var(--root-color-danger-500);\n  --text-danger-strong: var(--root-color-danger-950);\n\n  /* Text — Success */\n  --text-success-bolder: var(--root-color-success-600);\n  --text-success-lighter: var(--root-color-success-050);\n  --text-success-medium: var(--root-color-success-200);\n  --text-success-moderate: var(--root-color-success-500);\n  --text-success-strong: var(--root-color-success-800);\n\n  /* Text — Warning */\n  --text-warning-bolder: var(--root-color-warning-800);\n  --text-warning-lighter: var(--root-color-warning-050);\n  --text-warning-medium: var(--root-color-warning-200);\n  --text-warning-moderate: var(--root-color-warning-500);\n  --text-warning-strong: var(--root-color-warning-950);\n}\n\n/* --------------------------------\n * Dark\n * -------------------------------- */\n.dark {\n  /* Background — Base */\n  --background-base: var(--root-color-neutral-950);\n  --background-disabled: var(--root-opacity-inverse-200);\n  --background-elevated: var(--root-color-neutral-950);\n  --background-fixed: var(--root-color-neutral-050);\n  --background-selected: var(--root-color-brand-950);\n\n  /* Background — Brand */\n  --background-brand-bolder-default: var(--root-color-brand-600);\n  --background-brand-bolder-hover: var(--root-color-brand-700);\n  --background-brand-bolder-pressed: var(--root-color-brand-700);\n  --background-brand-faint-default: var(--root-color-brand-950);\n  --background-brand-faint-hover: var(--root-color-brand-900);\n  --background-brand-faint-pressed: var(--root-color-brand-900);\n  --background-brand-lighter-default: var(--root-color-brand-900);\n  --background-brand-lighter-hover: var(--root-color-brand-800);\n  --background-brand-lighter-pressed: var(--root-color-brand-800);\n  --background-brand-medium-default: var(--root-color-brand-800);\n  --background-brand-medium-hover: var(--root-color-brand-700);\n  --background-brand-medium-pressed: var(--root-color-brand-700);\n  --background-brand-moderate-default: var(--root-color-brand-700);\n  --background-brand-moderate-hover: var(--root-color-brand-800);\n  --background-brand-moderate-pressed: var(--root-color-brand-800);\n  --background-brand-strong-default: var(--root-color-brand-500);\n  --background-brand-strong-hover: var(--root-color-brand-600);\n  --background-brand-strong-pressed: var(--root-color-brand-600);\n\n  /* Background — Danger */\n  --background-danger-bolder-default: var(--root-color-danger-600);\n  --background-danger-bolder-hover: var(--root-color-danger-700);\n  --background-danger-bolder-pressed: var(--root-color-danger-700);\n  --background-danger-faint-default: var(--root-color-danger-950);\n  --background-danger-faint-hover: var(--root-color-danger-900);\n  --background-danger-faint-pressed: var(--root-color-danger-800);\n  --background-danger-lighter-default: var(--root-color-danger-900);\n  --background-danger-lighter-hover: var(--root-color-danger-800);\n  --background-danger-lighter-pressed: var(--root-color-danger-800);\n  --background-danger-medium-default: var(--root-color-danger-800);\n  --background-danger-medium-hover: var(--root-color-danger-700);\n  --background-danger-medium-pressed: var(--root-color-danger-700);\n  --background-danger-moderate-default: var(--root-color-danger-700);\n  --background-danger-moderate-hover: var(--root-color-danger-800);\n  --background-danger-moderate-pressed: var(--root-color-danger-800);\n  --background-danger-strong-default: var(--root-color-danger-500);\n  --background-danger-strong-hover: var(--root-color-danger-600);\n  --background-danger-strong-pressed: var(--root-color-danger-600);\n\n  /* Background — Neutral */\n  --background-neutral-bolder-default: var(--root-color-neutral-500);\n  --background-neutral-bolder-hover: var(--root-color-neutral-400);\n  --background-neutral-bolder-pressed: var(--root-color-neutral-400);\n  --background-neutral-faint-default: var(--root-color-neutral-900);\n  --background-neutral-faint-hover: var(--root-color-neutral-800);\n  --background-neutral-faint-pressed: var(--root-color-neutral-700);\n  --background-neutral-lighter-default: var(--root-color-neutral-800);\n  --background-neutral-lighter-hover: var(--root-color-neutral-700);\n  --background-neutral-lighter-pressed: var(--root-color-neutral-700);\n  --background-neutral-medium-default: var(--root-color-neutral-700);\n  --background-neutral-medium-hover: var(--root-color-neutral-600);\n  --background-neutral-medium-pressed: var(--root-color-neutral-600);\n  --background-neutral-moderate-default: var(--root-color-neutral-600);\n  --background-neutral-moderate-hover: var(--root-color-neutral-500);\n  --background-neutral-moderate-pressed: var(--root-color-neutral-500);\n  --background-neutral-strong-default: var(--root-color-neutral-050);\n  --background-neutral-strong-hover: var(--root-color-neutral-300);\n  --background-neutral-strong-pressed: var(--root-color-neutral-400);\n\n  /* Background — Success */\n  --background-success-bolder-default: var(--root-color-success-600);\n  --background-success-bolder-hover: var(--root-color-success-700);\n  --background-success-bolder-pressed: var(--root-color-success-700);\n  --background-success-faint-default: var(--root-color-success-950);\n  --background-success-faint-hover: var(--root-color-success-900);\n  --background-success-faint-pressed: var(--root-color-success-900);\n  --background-success-lighter-default: var(--root-color-success-900);\n  --background-success-lighter-hover: var(--root-color-success-800);\n  --background-success-lighter-pressed: var(--root-color-success-800);\n  --background-success-medium-default: var(--root-color-success-800);\n  --background-success-medium-hover: var(--root-color-success-700);\n  --background-success-medium-pressed: var(--root-color-success-700);\n  --background-success-moderate-default: var(--root-color-success-700);\n  --background-success-moderate-hover: var(--root-color-success-800);\n  --background-success-moderate-pressed: var(--root-color-success-800);\n  --background-success-strong-default: var(--root-color-success-500);\n  --background-success-strong-hover: var(--root-color-success-600);\n  --background-success-strong-pressed: var(--root-color-success-600);\n\n  /* Background — Warning */\n  --background-warning-bolder-default: var(--root-color-warning-600);\n  --background-warning-bolder-hover: var(--root-color-warning-700);\n  --background-warning-bolder-pressed: var(--root-color-warning-700);\n  --background-warning-faint-default: var(--root-color-warning-950);\n  --background-warning-faint-hover: var(--root-color-warning-900);\n  --background-warning-faint-pressed: var(--root-color-warning-900);\n  --background-warning-lighter-default: var(--root-color-warning-900);\n  --background-warning-lighter-hover: var(--root-color-warning-800);\n  --background-warning-lighter-pressed: var(--root-color-warning-800);\n  --background-warning-medium-default: var(--root-color-warning-800);\n  --background-warning-medium-hover: var(--root-color-warning-700);\n  --background-warning-medium-pressed: var(--root-color-warning-700);\n  --background-warning-moderate-default: var(--root-color-warning-700);\n  --background-warning-moderate-hover: var(--root-color-warning-800);\n  --background-warning-moderate-pressed: var(--root-color-warning-800);\n  --background-warning-strong-default: var(--root-color-warning-500);\n  --background-warning-strong-hover: var(--root-color-warning-600);\n  --background-warning-strong-pressed: var(--root-color-warning-600);\n\n  /* Border — Base */\n  --border-base: var(--root-color-base-black);\n  --border-default: var(--root-opacity-inverse-300);\n  --border-disabled: var(--root-opacity-inverse-100);\n  --border-divider: var(--root-opacity-inverse-200);\n  --border-selected: var(--root-color-brand-500);\n\n  /* Border — Brand */\n  --border-brand-bolder: var(--root-color-brand-600);\n  --border-brand-lighter: var(--root-color-brand-900);\n  --border-brand-medium: var(--root-color-brand-800);\n  --border-brand-moderate: var(--root-color-brand-700);\n  --border-brand-strong: var(--root-color-brand-500);\n\n  /* Border — Danger */\n  --border-danger-bolder: var(--root-color-danger-600);\n  --border-danger-lighter: var(--root-color-danger-900);\n  --border-danger-medium: var(--root-color-danger-800);\n  --border-danger-moderate: var(--root-color-danger-700);\n  --border-danger-strong: var(--root-color-danger-500);\n\n  /* Border — Neutral */\n  --border-neutral-bolder: var(--root-color-neutral-600);\n  --border-neutral-lighter: var(--root-color-neutral-950);\n  --border-neutral-medium: var(--root-color-neutral-800);\n  --border-neutral-moderate: var(--root-color-neutral-700);\n  --border-neutral-strong: var(--root-color-neutral-050);\n\n  /* Border — Success */\n  --border-success-bolder: var(--root-color-success-600);\n  --border-success-lighter: var(--root-color-success-900);\n  --border-success-medium: var(--root-color-success-800);\n  --border-success-moderate: var(--root-color-success-700);\n  --border-success-strong: var(--root-color-success-500);\n\n  /* Border — Warning */\n  --border-warning-bolder: var(--root-color-warning-600);\n  --border-warning-lighter: var(--root-color-warning-900);\n  --border-warning-medium: var(--root-color-warning-800);\n  --border-warning-moderate: var(--root-color-warning-700);\n  --border-warning-strong: var(--root-color-warning-500);\n\n  /* Icon */\n  --icon-disabled: var(--root-opacity-inverse-500);\n  --icon-fixed: var(--root-color-base-white);\n  --icon-inverse: var(--root-color-base-black);\n  --icon-selected: var(--root-color-brand-500);\n\n  /* Icon — Brand */\n  --icon-brand-bolder: var(--root-color-brand-200);\n  --icon-brand-lighter: var(--root-color-brand-800);\n  --icon-brand-medium: var(--root-color-brand-600);\n  --icon-brand-moderate: var(--root-color-brand-500);\n  --icon-brand-strong: var(--root-color-brand-050);\n\n  /* Icon — Danger */\n  --icon-danger-bolder: var(--root-color-danger-200);\n  --icon-danger-lighter: var(--root-color-danger-800);\n  --icon-danger-medium: var(--root-color-danger-600);\n  --icon-danger-moderate: var(--root-color-danger-500);\n  --icon-danger-strong: var(--root-color-danger-050);\n\n  /* Icon — Neutral */\n  --icon-neutral-bolder: var(--root-color-neutral-200);\n  --icon-neutral-lighter: var(--root-color-neutral-800);\n  --icon-neutral-medium: var(--root-color-neutral-600);\n  --icon-neutral-moderate: var(--root-color-neutral-400);\n  --icon-neutral-strong: var(--root-color-neutral-050);\n\n  /* Icon — Success */\n  --icon-success-bolder: var(--root-color-success-200);\n  --icon-success-lighter: var(--root-color-success-800);\n  --icon-success-medium: var(--root-color-success-600);\n  --icon-success-moderate: var(--root-color-success-500);\n  --icon-success-strong: var(--root-color-success-050);\n\n  /* Icon — Warning */\n  --icon-warning-bolder: var(--root-color-warning-200);\n  --icon-warning-lighter: var(--root-color-warning-800);\n  --icon-warning-medium: var(--root-color-warning-600);\n  --icon-warning-moderate: var(--root-color-warning-500);\n  --icon-warning-strong: var(--root-color-warning-050);\n\n  /* Link */\n  --link-primary-default: var(--root-color-brand-500);\n  --link-primary-hover: var(--root-color-brand-600);\n  --link-primary-pressed: var(--root-color-brand-600);\n  --link-primary-visited: var(--root-color-brand-600);\n\n  /* Overlay */\n  --overlay-default: #000000cc;\n  --overlay-brand-default: var(--root-opacity-brand-400);\n  --overlay-danger-default: var(--root-opacity-danger-400);\n  --overlay-neutral-default: var(--root-opacity-inverse-300);\n  --overlay-success-default: var(--root-opacity-success-400);\n  --overlay-warning-default: var(--root-opacity-warning-400);\n\n  /* Shadow — Colors */\n  --shadow-brand-bolder: var(--root-opacity-brand-800);\n  --shadow-brand-lighter: var(--root-opacity-brand-200);\n  --shadow-brand-medium: var(--root-opacity-brand-400);\n  --shadow-brand-moderate: var(--root-opacity-brand-600);\n  --shadow-brand-strong: var(--root-opacity-brand-900);\n  --shadow-danger-bolder: var(--root-opacity-danger-800);\n  --shadow-danger-lighter: var(--root-opacity-danger-200);\n  --shadow-danger-medium: var(--root-opacity-danger-400);\n  --shadow-danger-moderate: var(--root-opacity-danger-600);\n  --shadow-danger-strong: var(--root-opacity-danger-900);\n  --shadow-inverse-bolder: var(--root-opacity-inverse-400);\n  --shadow-inverse-lighter: var(--root-opacity-inverse-700);\n  --shadow-inverse-medium: var(--root-opacity-inverse-600);\n  --shadow-inverse-moderate: var(--root-opacity-inverse-500);\n  --shadow-inverse-strong: var(--root-opacity-inverse-300);\n  --shadow-neutral-bolder: #0000003d;\n  --shadow-neutral-lighter: #0000008f;\n  --shadow-neutral-medium: #0000007a;\n  --shadow-neutral-moderate: #00000052;\n  --shadow-neutral-strong: #00000029;\n  --shadow-success-bolder: var(--root-opacity-success-800);\n  --shadow-success-lighter: var(--root-opacity-success-200);\n  --shadow-success-medium: var(--root-opacity-success-400);\n  --shadow-success-moderate: var(--root-opacity-success-600);\n  --shadow-success-strong: var(--root-opacity-success-900);\n  --shadow-warning-bolder: var(--root-opacity-warning-800);\n  --shadow-warning-lighter: var(--root-opacity-warning-200);\n  --shadow-warning-medium: var(--root-opacity-warning-400);\n  --shadow-warning-moderate: var(--root-opacity-warning-600);\n  --shadow-warning-strong: var(--root-opacity-warning-900);\n\n  /* Shadow — Elevation (composite, auto-remap light/dark) */\n  --shadow-elevation-sm:\n    0 0 1px rgba(0, 0, 0, 0.3),\n    0 2px 2px rgba(0, 0, 0, 0.2),\n    0 4px 3px rgba(0, 0, 0, 0.15);\n  --shadow-elevation-md:\n    0 3px 8px 0 rgba(0, 0, 0, 0.2),\n    0 14px 14px 0 rgba(0, 0, 0, 0.18),\n    0 31px 19px 0 rgba(0, 0, 0, 0.1),\n    0 55px 22px 0 rgba(0, 0, 0, 0.05);\n\n  /* Background — Surface */\n  --background-surface-raised: var(--root-color-neutral-700);\n\n  /* Text — Base */\n  --text-disabled: var(--root-opacity-inverse-500);\n  --text-fixed: var(--root-color-neutral-050);\n  --text-inverse: var(--root-color-base-black);\n  --text-selected: var(--root-color-brand-500);\n  --text-base-bolder: var(--root-color-neutral-300);\n  --text-base-lighter: var(--root-color-neutral-800);\n  --text-base-medium: var(--root-color-neutral-600);\n  --text-base-moderate: var(--root-color-neutral-400);\n  --text-base-strong: var(--root-color-neutral-100);\n\n  /* Text — Brand */\n  --text-brand-bolder: var(--root-color-brand-200);\n  --text-brand-lighter: var(--root-color-brand-800);\n  --text-brand-medium: var(--root-color-brand-600);\n  --text-brand-moderate: var(--root-color-brand-500);\n  --text-brand-strong: var(--root-color-brand-050);\n\n  /* Text — Danger */\n  --text-danger-bolder: var(--root-color-danger-200);\n  --text-danger-lighter: var(--root-color-danger-800);\n  --text-danger-medium: var(--root-color-danger-600);\n  --text-danger-moderate: var(--root-color-danger-500);\n  --text-danger-strong: var(--root-color-danger-050);\n\n  /* Text — Success */\n  --text-success-bolder: var(--root-color-success-200);\n  --text-success-lighter: var(--root-color-success-800);\n  --text-success-medium: var(--root-color-success-600);\n  --text-success-moderate: var(--root-color-success-500);\n  --text-success-strong: var(--root-color-success-050);\n\n  /* Text — Warning */\n  --text-warning-bolder: var(--root-color-warning-200);\n  --text-warning-lighter: var(--root-color-warning-800);\n  --text-warning-medium: var(--root-color-warning-600);\n  --text-warning-moderate: var(--root-color-warning-500);\n  --text-warning-strong: var(--root-color-warning-050);\n}\n",
      "type": "registry:file",
      "target": "~/styles/lyse/semantic-colors.css"
    },
    {
      "path": "app/styles/shadcn-bridge.css",
      "content": "/* ================================================================\n * SHADCN COMPATIBILITY BRIDGE\n * Maps Lyse semantic tokens → shadcn convention names.\n * Defined once in :root — automatically resolves to dark values\n * when .dark overrides the underlying Lyse tokens.\n * ================================================================ */\n:root {\n  --background: var(--background-base);\n  --foreground: var(--text-base-strong);\n  --card: var(--background-elevated);\n  --card-foreground: var(--text-base-strong);\n  --popover: var(--background-elevated);\n  --popover-foreground: var(--text-base-strong);\n  --primary: var(--background-brand-strong-default);\n  --primary-foreground: var(--root-color-base-white);\n  --secondary: var(--background-neutral-lighter-default);\n  --secondary-foreground: var(--text-base-strong);\n  --muted: var(--background-neutral-faint-default);\n  --muted-foreground: var(--text-base-moderate);\n  --accent: var(--background-neutral-lighter-default);\n  --accent-foreground: var(--text-base-strong);\n  --destructive: var(--background-danger-strong-default);\n  --destructive-foreground: var(--root-color-base-white);\n  --border: var(--border-default);\n  --input: var(--border-default);\n  --ring: var(--border-selected);\n  --chart-1: var(--root-color-brand-500);\n  --chart-2: var(--root-color-success-500);\n  --chart-3: var(--root-color-warning-500);\n  --chart-4: var(--root-color-danger-500);\n  --chart-5: var(--root-color-brand-300);\n  --sidebar: var(--background-base);\n  --sidebar-foreground: var(--text-base-strong);\n  --sidebar-primary: var(--background-brand-strong-default);\n  --sidebar-primary-foreground: var(--root-color-base-white);\n  --sidebar-accent: var(--background-neutral-lighter-default);\n  --sidebar-accent-foreground: var(--text-base-strong);\n  --sidebar-border: var(--border-divider);\n  --sidebar-ring: var(--border-selected);\n}\n",
      "type": "registry:file",
      "target": "~/styles/lyse/shadcn-bridge.css"
    },
    {
      "path": "app/styles/typography.css",
      "content": "/* ================================================================\n * TYPOGRAPHY — Composite Classes\n * Combines font-family, size, line-height, weight, letter-spacing\n * into ready-to-use utility classes.\n *\n * Naming: .text-{category}-{scale}\n *   category: content | heading\n *   scale: caption | note | body | highlight | feature\n *          small | medium | large | display\n *\n * Weight modifiers: .font-regular | .font-accent | .font-emphasis | .font-bold\n * ================================================================ */\n\n@layer base {\n  /* --------------------------------\n   * Content — Inter (body copy)\n   * Default weight: regular (400)\n   * -------------------------------- */\n\n  .text-content-caption {\n    font-family: var(--font-family-content);\n    font-size: var(--font-size-content-caption);\n    line-height: var(--font-line-height-content-caption);\n    letter-spacing: var(--font-letter-spacing-content);\n    font-weight: var(--font-weight-regular);\n  }\n\n  .text-content-note {\n    font-family: var(--font-family-content);\n    font-size: var(--font-size-content-note);\n    line-height: var(--font-line-height-content-note);\n    letter-spacing: var(--font-letter-spacing-content);\n    font-weight: var(--font-weight-regular);\n  }\n\n  .text-content-body {\n    font-family: var(--font-family-content);\n    font-size: var(--font-size-content-body);\n    line-height: var(--font-line-height-content-body);\n    letter-spacing: var(--font-letter-spacing-content);\n    font-weight: var(--font-weight-regular);\n  }\n\n  .text-content-highlight {\n    font-family: var(--font-family-content);\n    font-size: var(--font-size-content-highlight);\n    line-height: var(--font-line-height-content-highlight);\n    letter-spacing: var(--font-letter-spacing-content);\n    font-weight: var(--font-weight-regular);\n  }\n\n  .text-content-feature {\n    font-family: var(--font-family-content);\n    font-size: var(--font-size-content-feature);\n    line-height: var(--font-line-height-content-feature);\n    letter-spacing: var(--font-letter-spacing-content);\n    font-weight: var(--font-weight-regular);\n  }\n\n  /* --------------------------------\n   * Heading — DM Sans\n   * Default weight: bold (700)\n   * -------------------------------- */\n\n  .text-heading-small {\n    font-family: var(--font-family-heading);\n    font-size: var(--font-size-heading-small);\n    line-height: var(--font-line-height-heading-small);\n    letter-spacing: var(--font-letter-spacing-heading);\n    font-weight: var(--font-weight-bold);\n  }\n\n  .text-heading-medium {\n    font-family: var(--font-family-heading);\n    font-size: var(--font-size-heading-medium);\n    line-height: var(--font-line-height-heading-medium);\n    letter-spacing: var(--font-letter-spacing-heading);\n    font-weight: var(--font-weight-bold);\n  }\n\n  .text-heading-large {\n    font-family: var(--font-family-heading);\n    font-size: var(--font-size-heading-large);\n    line-height: var(--font-line-height-heading-large);\n    letter-spacing: var(--font-letter-spacing-heading);\n    font-weight: var(--font-weight-bold);\n  }\n\n  .text-heading-display {\n    font-family: var(--font-family-heading);\n    font-size: var(--font-size-heading-display);\n    line-height: var(--font-line-height-heading-display);\n    letter-spacing: var(--font-letter-spacing-heading);\n    font-weight: var(--font-weight-bold);\n  }\n\n  /* --------------------------------\n   * Weight modifiers\n   * Override the default weight of any text class\n   * Usage: class=\"text-content-body font-accent\"\n   * -------------------------------- */\n\n  .font-regular {\n    font-weight: var(--font-weight-regular);\n  }\n\n  .font-accent {\n    font-weight: var(--font-weight-accent);\n  }\n\n  .font-emphasis {\n    font-weight: var(--font-weight-emphasis);\n  }\n\n  .font-bold {\n    font-weight: var(--font-weight-bold);\n  }\n}\n",
      "type": "registry:file",
      "target": "~/styles/lyse/typography.css"
    }
  ],
  "docs": "After installing, import all token files in your main CSS entry point (e.g. globals.css):\n\n@import './styles/lyse/root-colors.css';\n@import './styles/lyse/root-typography.css';\n@import './styles/lyse/root-layout.css';\n@import './styles/lyse/semantic-global.css';\n@import './styles/lyse/semantic-colors.css';\n@import './styles/lyse/shadcn-bridge.css';\n@import './styles/lyse/typography.css';\n\nFor dark mode, add the 'dark' class to your HTML root element."
}