{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "theme",
  "type": "registry:theme",
  "title": "seam theme",
  "description": "shadcn-compatible Tailwind v4 tokens plus the seam depth shadow scale.",
  "files": [
    {
      "path": "registry/seam/theme/theme.css",
      "content": "/* seamui theme — shadcn-compatible Tailwind v4 tokens + seam depth system.\n   Drop-in compatible with existing shadcn themes; adds depth shadows used\n   by the seam motion system's virtual z-axis.\n\n   Design language: a warm light-gray canvas; surfaces and controls are\n   raised white \"keys\" with soft diffuse shadows and squircle corners;\n   grouped controls sit in recessed muted \"wells\" and the active one rises. */\n\n/* Tailwind v4 entry + class-based dark mode — shipped in the theme so a fresh\n   consumer's globals.css is self-sufficient after `seamui add theme`. */\n@import \"tailwindcss\";\n@custom-variant dark (&:is(.dark *));\n\n:root {\n  --radius: 0.875rem;\n\n  --background: oklch(0.993 0.0015 106);\n  --foreground: oklch(0.23 0.004 286);\n  --card: oklch(1 0 0);\n  --card-foreground: oklch(0.23 0.004 286);\n  --popover: oklch(1 0 0);\n  --popover-foreground: oklch(0.23 0.004 286);\n  --primary: oklch(0.24 0.005 286);\n  --primary-foreground: oklch(0.985 0.001 106);\n  --secondary: oklch(1 0 0);\n  --secondary-foreground: oklch(0.23 0.004 286);\n  --muted: oklch(0.948 0.003 106);\n  --muted-foreground: oklch(0.52 0.006 106);\n  --accent: oklch(0.93 0.004 106);\n  --accent-foreground: oklch(0.23 0.004 286);\n  --destructive: oklch(0.577 0.245 27.325);\n  --border: oklch(0.905 0.004 106);\n  --input: oklch(0.905 0.004 106);\n  --ring: oklch(0.71 0.005 106);\n  /* A subtle inset hairline for the active/selected key inside a well\n     (select item, etc.) — warmer and quieter than the focus --ring. */\n  --ring-hairline: oklch(0.6 0.006 106);\n\n  /* seam depth shadows — used by the motion system's z-axis.\n     Soft and diffuse: white keys resting on a warm-gray surface. */\n  --shadow-pressed: 0 1px 1px 0 oklch(0.23 0.004 286 / 0.04);\n  --shadow-resting: 0 1px 2px 0 oklch(0.23 0.004 286 / 0.05),\n    0 2px 6px -1px oklch(0.23 0.004 286 / 0.06);\n  --shadow-raised: 0 2px 4px -1px oklch(0.23 0.004 286 / 0.06),\n    0 6px 14px -3px oklch(0.23 0.004 286 / 0.08);\n  --shadow-overlay: 0 4px 10px -2px oklch(0.23 0.004 286 / 0.08),\n    0 16px 32px -6px oklch(0.23 0.004 286 / 0.12);\n  --shadow-modal: 0 8px 20px -4px oklch(0.23 0.004 286 / 0.12),\n    0 32px 64px -12px oklch(0.23 0.004 286 / 0.16);\n  /* debossed well — grouped controls sit inside it; the active key rises. */\n  --shadow-well: inset 0 1px 2px 0 oklch(0.23 0.004 286 / 0.05),\n    inset 0 2px 4px 0 oklch(0.23 0.004 286 / 0.03);\n}\n\n.dark {\n  --background: oklch(0.19 0.004 286);\n  --foreground: oklch(0.97 0.002 106);\n  --card: oklch(0.235 0.005 286);\n  --card-foreground: oklch(0.97 0.002 106);\n  --popover: oklch(0.235 0.005 286);\n  --popover-foreground: oklch(0.97 0.002 106);\n  --primary: oklch(0.94 0.003 106);\n  --primary-foreground: oklch(0.22 0.005 286);\n  /* raised \"key\" surface — must sit clearly lighter than the --muted well\n     (0.265) so active tabs / pressed toggles read as lifted in dark mode. */\n  --secondary: oklch(0.33 0.005 286);\n  --secondary-foreground: oklch(0.97 0.002 106);\n  --muted: oklch(0.265 0.005 286);\n  --muted-foreground: oklch(0.72 0.004 106);\n  --accent: oklch(0.285 0.005 286);\n  --accent-foreground: oklch(0.97 0.002 106);\n  --destructive: oklch(0.704 0.191 22.216);\n  --border: oklch(1 0 0 / 10%);\n  --input: oklch(1 0 0 / 15%);\n  --ring: oklch(0.556 0 0);\n  --ring-hairline: var(--muted-foreground);\n\n  --shadow-pressed: 0 1px 1px 0 rgb(0 0 0 / 0.3);\n  --shadow-resting: 0 1px 2px 0 rgb(0 0 0 / 0.4), 0 2px 6px -1px rgb(0 0 0 / 0.45);\n  --shadow-raised: 0 2px 4px -1px rgb(0 0 0 / 0.5), 0 6px 14px -3px rgb(0 0 0 / 0.5);\n  --shadow-overlay: 0 4px 10px -2px rgb(0 0 0 / 0.6), 0 16px 32px -6px rgb(0 0 0 / 0.6);\n  --shadow-modal: 0 8px 20px -4px rgb(0 0 0 / 0.7), 0 32px 64px -12px rgb(0 0 0 / 0.7);\n  --shadow-well: inset 0 1px 3px 0 rgb(0 0 0 / 0.35);\n}\n\n@theme inline {\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-border: var(--border);\n  --color-input: var(--input);\n  --color-ring: var(--ring);\n  --color-ring-hairline: var(--ring-hairline);\n\n  --radius-sm: calc(var(--radius) - 6px);\n  --radius-md: calc(var(--radius) - 2px);\n  --radius-lg: var(--radius);\n  --radius-xl: calc(var(--radius) + 4px);\n\n  --shadow-pressed: var(--shadow-pressed);\n  --shadow-resting: var(--shadow-resting);\n  --shadow-raised: var(--shadow-raised);\n  --shadow-overlay: var(--shadow-overlay);\n  --shadow-modal: var(--shadow-modal);\n  --shadow-well: var(--shadow-well);\n}\n\n/* Squircle corners — continuous (superellipse) curvature on browsers that\n   support `corner-shape` (Chrome 139+); falls back to plain border-radius.\n   Never combine with rounded-full elements that must stay circular. */\n@utility squircle {\n  corner-shape: squircle;\n}\n\n@layer base {\n  * {\n    border-color: var(--border);\n    outline-color: color-mix(in oklch, var(--ring) 50%, transparent);\n  }\n  body {\n    background-color: var(--background);\n    color: var(--foreground);\n  }\n  /* Base UI requirement: popups need an isolated stacking context at the root. */\n  body > div:first-child,\n  main {\n    isolation: isolate;\n  }\n}\n",
      "type": "registry:theme",
      "target": "app/globals.css"
    }
  ]
}