@import 'tailwindcss'; @custom-variant dark (&:is(.dark *)); /* * Design tokens. Primary brand color is #ac0000 per BR-U1-07. * shadcn/ui-style semantic variables consumed by component primitives. */ :root { --background: #ffffff; --foreground: #0a0a0a; --card: #ffffff; --card-foreground: #0a0a0a; --popover: #ffffff; --popover-foreground: #0a0a0a; --primary: #ac0000; --primary-foreground: #ffffff; --secondary: #f4f4f5; --secondary-foreground: #18181b; --muted: #f4f4f5; --muted-foreground: #71717a; --accent: #f5e6e6; --accent-foreground: #ac0000; --destructive: #dc2626; --destructive-foreground: #ffffff; --border: #e4e4e7; --input: #e4e4e7; --ring: #ac0000; --radius: 0.5rem; } .dark { --background: #0a0a0a; --foreground: #fafafa; --card: #18181b; --card-foreground: #fafafa; --popover: #18181b; --popover-foreground: #fafafa; --primary: #e11d1d; --primary-foreground: #fafafa; --secondary: #27272a; --secondary-foreground: #fafafa; --muted: #27272a; --muted-foreground: #a1a1aa; --accent: #3a1212; --accent-foreground: #fafafa; --destructive: #ef4444; --destructive-foreground: #fafafa; --border: #27272a; --input: #27272a; --ring: #e11d1d; } @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --font-sans: system-ui, 'Segoe UI', Roboto, sans-serif; } @layer base { * { border-color: var(--color-border); } body { margin: 0; background-color: var(--color-background); color: var(--color-foreground); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } button, [role="button"], select, label[for], a[href], [tabindex]:not([tabindex="-1"]) { cursor: pointer; } /* Visible focus ring for keyboard navigation (NFR-U1-02 / Q2-A). */ :focus-visible { outline: 2px solid var(--color-ring); outline-offset: 2px; } }