{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "local-companion",
  "homepage": "https://shruggie.tech",
  "description": "Local Companion registry.",
  "items": [
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "theme",
      "type": "registry:theme",
      "title": "Local Companion Theme",
      "description": "Local Companion design tokens. Dark-first, WCAG AA, and brand-contract compliant.",
      "cssVars": {
        "theme": {
          "radius-sm": "6px",
          "radius-md": "8px",
          "radius-lg": "10px",
          "radius-xl": "12px",
          "radius-2xl": "16px",
          "font-display": "var(--font-display-role)"
        },
        "light": {
          "background": "oklch(0.9795 0.0054 274.97)",
          "foreground": "oklch(0.1954 0.0174 264.05)",
          "card": "oklch(1.0000 0 0)",
          "card-foreground": "oklch(0.1954 0.0174 264.05)",
          "popover": "oklch(1.0000 0 0)",
          "popover-foreground": "oklch(0.1954 0.0174 264.05)",
          "primary": "oklch(0.5153 0.1567 272.47)",
          "primary-foreground": "oklch(1.0000 0 0)",
          "secondary": "oklch(0.9552 0.0112 269.55)",
          "secondary-foreground": "oklch(0.1954 0.0174 264.05)",
          "muted": "oklch(0.9256 0.0210 271.19)",
          "muted-foreground": "oklch(0.4558 0.0441 269.76)",
          "accent": "oklch(0.9256 0.0210 271.19)",
          "accent-foreground": "oklch(0.1954 0.0174 264.05)",
          "destructive": "oklch(0.5142 0.1697 13.38)",
          "border": "oklch(0.6060 0.0097 264.49)",
          "input": "oklch(0.6060 0.0097 264.49)",
          "ring": "oklch(0.5153 0.1567 272.47)",
          "chart-1": "oklch(0.5153 0.1567 272.47)",
          "chart-2": "oklch(0.5143 0.0942 220.79)",
          "chart-3": "oklch(0.5150 0.1449 324.52)",
          "chart-4": "oklch(0.5150 0.1032 168.89)",
          "chart-5": "oklch(0.5149 0.1440 16.28)",
          "sidebar": "oklch(1.0000 0 0)",
          "sidebar-foreground": "oklch(0.1954 0.0174 264.05)",
          "sidebar-primary": "oklch(0.5153 0.1567 272.47)",
          "sidebar-primary-foreground": "oklch(1.0000 0 0)",
          "sidebar-accent": "oklch(0.9256 0.0210 271.19)",
          "sidebar-accent-foreground": "oklch(0.1954 0.0174 264.05)",
          "sidebar-border": "oklch(0.6060 0.0097 264.49)",
          "sidebar-ring": "oklch(0.5153 0.1567 272.47)",
          "brand-accent-deep": "oklch(0.6463 0.1546 273.45)",
          "brand-emphasis": "oklch(0.4999 0.1085 69.63)",
          "brand-cta": "oklch(0.5153 0.1567 272.47)",
          "brand-cta-foreground": "oklch(1.0000 0 0)",
          "brand-cta-outline-foreground": "oklch(0.5153 0.1567 272.47)",
          "brand-success": "oklch(0.4824 0.1054 160.76)",
          "brand-information": "oklch(0.4839 0.1395 255.05)"
        },
        "dark": {
          "background": "oklch(0.1498 0.0113 267.69)",
          "foreground": "oklch(1.0000 0 0)",
          "card": "oklch(0.1954 0.0174 264.05)",
          "card-foreground": "oklch(1.0000 0 0)",
          "popover": "oklch(0.1954 0.0174 264.05)",
          "popover-foreground": "oklch(1.0000 0 0)",
          "primary": "oklch(0.7217 0.1449 274.81)",
          "primary-foreground": "oklch(0.0000 0 0)",
          "secondary": "oklch(0.2536 0.0276 269.17)",
          "secondary-foreground": "oklch(1.0000 0 0)",
          "muted": "oklch(0.2536 0.0276 269.17)",
          "muted-foreground": "oklch(0.6862 0 0)",
          "accent": "oklch(0.3028 0.0342 267.91)",
          "accent-foreground": "oklch(1.0000 0 0)",
          "destructive": "oklch(0.7412 0.1613 11.44)",
          "border": "oklch(0.2686 0 0)",
          "input": "oklch(0.2686 0 0)",
          "ring": "oklch(0.7217 0.1449 274.81)",
          "chart-1": "oklch(0.6806 0.1452 274.87)",
          "chart-2": "oklch(0.6792 0.1269 223.36)",
          "chart-3": "oklch(0.6798 0.1335 326.92)",
          "chart-4": "oklch(0.6797 0.1331 170.93)",
          "chart-5": "oklch(0.6790 0.1335 18.91)",
          "sidebar": "oklch(0.1954 0.0174 264.05)",
          "sidebar-foreground": "oklch(1.0000 0 0)",
          "sidebar-primary": "oklch(0.7217 0.1449 274.81)",
          "sidebar-primary-foreground": "oklch(0.0000 0 0)",
          "sidebar-accent": "oklch(0.3028 0.0342 267.91)",
          "sidebar-accent-foreground": "oklch(1.0000 0 0)",
          "sidebar-border": "oklch(0.2686 0 0)",
          "sidebar-ring": "oklch(0.7217 0.1449 274.81)",
          "brand-accent-deep": "oklch(0.6463 0.1546 273.45)",
          "brand-emphasis": "oklch(0.8292 0.1196 77.69)",
          "brand-cta": "oklch(0.5153 0.1567 272.47)",
          "brand-cta-foreground": "oklch(1.0000 0 0)",
          "brand-cta-outline-foreground": "oklch(1.0000 0 0)",
          "brand-success": "oklch(0.7980 0.1213 167.25)",
          "brand-information": "oklch(0.7642 0.1257 249.46)"
        }
      },
      "css": {
        "@layer base": {
          ":focus-visible": {
            "outline": "2px solid var(--ring)",
            "outline-offset": "2px"
          }
        }
      },
      "docs": "Dark-first. Set defaultTheme=\"dark\" in your theme provider. The bright accent is never text on a light surface; the light block already substitutes the accessible variant. The parent kit's color-roles.json names approved identity combinations and measured interface cues with non-color signals."
    }
  ]
}
