{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "foundations",
  "type": "registry:style",
  "title": "Kiln Foundations",
  "description": "Palette-neutral mechanics: spacing scale, radii, motion, focus rings, typography scale, semantic color slots, data-brand mechanism. No palette or type family. Consumed by every @kiln sibling style.",
  "files": [
    {
      "path": "registry/foundations/globals.css",
      "content": "/* @kiln/foundations — palette-neutral mechanics.\n * Hard rule: no palette, no type family here. Each sibling style carries its own.\n * This file defines: spacing scale, radii, motion, focus rings, typography SCALE\n * (not family), semantic color SLOTS (not hues), data-brand mechanism.\n * Placeholder values; Cycle 1.5/2 tunes. */\n\n@import \"tailwindcss\";\n@import \"tw-animate-css\";\n\n@custom-variant dark (&:is(.dark *));\n\n@theme inline {\n  /* Semantic color slots — filled by sibling styles. No hues here. */\n  --color-background: var(--background);\n  --color-foreground: var(--foreground);\n  --color-card: var(--card);\n  --color-card-foreground: var(--card-foreground);\n  --color-popover: var(--popover);\n  --color-popover-foreground: var(--popover-foreground);\n  --color-primary: var(--primary);\n  --color-primary-foreground: var(--primary-foreground);\n  --color-secondary: var(--secondary);\n  --color-secondary-foreground: var(--secondary-foreground);\n  --color-muted: var(--muted);\n  --color-muted-foreground: var(--muted-foreground);\n  --color-accent: var(--accent);\n  --color-accent-foreground: var(--accent-foreground);\n  --color-destructive: var(--destructive);\n  --color-success: var(--success);\n  --color-warning: var(--warning);\n  --color-border: var(--border);\n  --color-input: var(--input);\n  --color-ring: var(--ring);\n\n  /* Typography scale — sizes only, not family. Styles assign --font-sans, --font-serif, --font-mono. */\n  --font-sans: var(--font-sans);\n  --font-serif: var(--font-serif);\n  --font-mono: var(--font-mono);\n\n  /* Radii — 8px base, per Cycle 1 lock. */\n  --radius-sm: calc(var(--radius) - 4px);\n  --radius-md: calc(var(--radius) - 2px);\n  --radius-lg: var(--radius);\n  --radius-xl: calc(var(--radius) + 4px);\n\n  /* Motion */\n  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);\n  --ease-emphasized: cubic-bezier(0.2, 0, 0, 1);\n  --duration-fast: 120ms;\n  --duration-base: 200ms;\n  --duration-slow: 320ms;\n}\n\n:root {\n  --radius: 0.5rem;\n  --focus-ring-width: 2px;\n  --focus-ring-offset: 2px;\n\n  /* Neutral semantic slot defaults; sibling styles override. */\n  --background: oklch(1 0 0);\n  --foreground: oklch(0.145 0 0);\n  --card: oklch(1 0 0);\n  --card-foreground: oklch(0.145 0 0);\n  --popover: oklch(1 0 0);\n  --popover-foreground: oklch(0.145 0 0);\n  --primary: oklch(0.205 0 0);\n  --primary-foreground: oklch(0.985 0 0);\n  --secondary: oklch(0.97 0 0);\n  --secondary-foreground: oklch(0.205 0 0);\n  --muted: oklch(0.97 0 0);\n  --muted-foreground: oklch(0.556 0 0);\n  --accent: oklch(0.97 0 0);\n  --accent-foreground: oklch(0.205 0 0);\n  --destructive: oklch(0.577 0.245 27.325);\n  --success: oklch(0.7 0.15 150);\n  --warning: oklch(0.78 0.16 85);\n  --border: oklch(0.922 0 0);\n  --input: oklch(0.922 0 0);\n  --ring: oklch(0.708 0 0);\n}\n\n/* data-brand mechanism: consumer surfaces opt into per-tenant accent overrides.\n * Sibling styles may extend this; no palette values live here. */\n[data-brand] {\n  /* reserved for per-brand overrides supplied by consumer */\n}\n\n@layer base {\n  * {\n    @apply border-border outline-ring/50;\n  }\n  body {\n    @apply bg-background text-foreground;\n  }\n}\n",
      "type": "registry:style",
      "target": "app/globals.css"
    }
  ]
}