97 lines
3.7 KiB
CSS
97 lines
3.7 KiB
CSS
@import 'tailwindcss';
|
|
@import 'tw-animate-css';
|
|
@import './tokens/tokens-light.css';
|
|
@import './tokens/tokens-dark.css';
|
|
|
|
@custom-variant dark (&:is(.dark *));
|
|
|
|
/* =============================================================================
|
|
GREYHAVEN DESIGN TOKENS
|
|
|
|
Token values are auto-generated by Style Dictionary from tokens/*.json
|
|
(W3C DTCG format). DO NOT hand-edit :root or .dark — edit the source
|
|
token files and run `pnpm tokens:build` instead.
|
|
|
|
Color Philosophy:
|
|
- Neutral and minimal scheme
|
|
- Off-black, warm grey, and white form the base
|
|
- Single accent (orange) used sparingly for active/important states
|
|
- No gradients, no decorative color
|
|
============================================================================= */
|
|
|
|
/* Radius — not color, kept inline */
|
|
:root {
|
|
--radius: 0.375rem;
|
|
}
|
|
|
|
/* =============================================================================
|
|
THEME CONFIGURATION
|
|
Typography: Source Serif Pro (primary/serif) + Aspekta (secondary/UI/sans)
|
|
============================================================================= */
|
|
|
|
@theme inline {
|
|
/* Typography — Aspekta is the canonical sans font, Inter is fallback */
|
|
--font-sans: 'Aspekta', var(--font-inter, 'Inter'), ui-sans-serif, system-ui, sans-serif;
|
|
--font-serif: var(--font-source-serif, 'Source Serif 4'), 'Source Serif Pro', Georgia, serif;
|
|
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
|
|
/* Color mappings — maps CSS var RGB triplets to Tailwind utility classes */
|
|
--color-background: rgb(var(--background));
|
|
--color-foreground: rgb(var(--foreground));
|
|
--color-card: rgb(var(--card));
|
|
--color-card-foreground: rgb(var(--card-foreground));
|
|
--color-popover: rgb(var(--popover));
|
|
--color-popover-foreground: rgb(var(--popover-foreground));
|
|
--color-primary: rgb(var(--primary));
|
|
--color-primary-foreground: rgb(var(--primary-foreground));
|
|
--color-secondary: rgb(var(--secondary));
|
|
--color-secondary-foreground: rgb(var(--secondary-foreground));
|
|
--color-muted: rgb(var(--muted));
|
|
--color-muted-foreground: rgb(var(--muted-foreground));
|
|
--color-accent: rgb(var(--accent));
|
|
--color-accent-foreground: rgb(var(--accent-foreground));
|
|
--color-destructive: rgb(var(--destructive));
|
|
--color-destructive-foreground: rgb(var(--destructive-foreground));
|
|
--color-border: rgb(var(--border));
|
|
--color-input: rgb(var(--input));
|
|
--color-ring: rgb(var(--ring));
|
|
--color-chart-1: rgb(var(--chart-1));
|
|
--color-chart-2: rgb(var(--chart-2));
|
|
--color-chart-3: rgb(var(--chart-3));
|
|
--color-chart-4: rgb(var(--chart-4));
|
|
--color-chart-5: rgb(var(--chart-5));
|
|
--radius-sm: calc(var(--radius) - 2px);
|
|
--radius-md: var(--radius);
|
|
--radius-lg: calc(var(--radius) + 2px);
|
|
--radius-xl: calc(var(--radius) + 4px);
|
|
--color-sidebar: rgb(var(--sidebar));
|
|
--color-sidebar-foreground: rgb(var(--sidebar-foreground));
|
|
--color-sidebar-primary: rgb(var(--sidebar-primary));
|
|
--color-sidebar-primary-foreground: rgb(var(--sidebar-primary-foreground));
|
|
--color-sidebar-accent: rgb(var(--sidebar-accent));
|
|
--color-sidebar-accent-foreground: rgb(var(--sidebar-accent-foreground));
|
|
--color-sidebar-border: rgb(var(--sidebar-border));
|
|
--color-sidebar-ring: rgb(var(--sidebar-ring));
|
|
|
|
/* Greyhaven-specific colors for direct use */
|
|
--color-greyhaven-orange: #D95E2A;
|
|
--color-greyhaven-offblack: #161614;
|
|
--color-greyhaven-offwhite: #F9F9F7;
|
|
--color-greyhaven-grey1: #F0F0EC;
|
|
--color-greyhaven-grey2: #DDDDD7;
|
|
--color-greyhaven-grey3: #C4C4BD;
|
|
--color-greyhaven-grey4: #A6A69F;
|
|
--color-greyhaven-grey5: #7F7F79;
|
|
--color-greyhaven-grey7: #575753;
|
|
--color-greyhaven-grey8: #2F2F2C;
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border outline-ring/50;
|
|
}
|
|
body {
|
|
@apply bg-background text-foreground;
|
|
}
|
|
}
|