@custom-variant dark (&:where(.dark, .dark *));
@theme {
--font-sans:
'Mona Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--font-display:
'Mona Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--font-display--font-variation-settings: 'wdth' 125;
--radius-4xl: 2.5rem;
/* New design system, taken from kunalkeshan.dev (itself modelled on
Paperfolio): warm off-white, scarlet + ink accents, near-black 2px
borders and hard offset shadows. Used by src/components/ui and by
sections that have moved to the new look. */
--font-heading: 'Montserrat Variable', ui-sans-serif, system-ui, sans-serif;
--font-body: 'Nunito Sans Variable', ui-sans-serif, system-ui, sans-serif;
--color-page: #ffffff;
--color-background: #faf9f6;
--color-foreground: #0b0b0b;
--color-body-foreground: #393939;
--color-card: #ffffff;
--color-card-foreground: #0b0b0b;
--color-border: #0b0b0b;
/* Palette: scarlet + ink. Scarlet sits behind dark text (6.4:1), ink
behind white text (17.7:1). The focus ring is scarlet so it shows on both the
light page (3.1:1) and the dark sections (6.4:1). */
--color-ring: #ff5a4e;
--color-primary: #ff5a4e;
--color-primary-foreground: #0b0b0b;
--color-secondary: #18181b;
--color-secondary-foreground: #ffffff;
--color-popover: #ffffff;
--color-popover-foreground: #0b0b0b;
--color-overlay: rgb(11 11 11 / 0.55);
--color-muted: #f1f0ee;
--color-muted-foreground: #6b6b6b;
--color-success: #00e07b;
--color-success-foreground: #0b0b0b;
--color-warning: #ffb800;
--color-warning-foreground: #0b0b0b;
--color-destructive: #ff4d4d;
--color-destructive-foreground: #0b0b0b;
/* Always-dark surfaces (menu panel, Tools) in both themes. */
--color-ink: #0b0b0b;
--color-ink-foreground: #faf9f6;
/* Hard offset shadows. */
--shadow: 4px 4px 0 0 var(--color-border);
--shadow-sm: 2px 2px 0 0 var(--color-border);
--shadow-lg: 6px 6px 0 0 var(--color-border);
--shadow-xl: 8px 8px 0 0 var(--color-border);
--shadow-2xl: 10px 10px 0 0 var(--color-border);
--duration-press: 300ms;
--ease-snap: cubic-bezier(0.16, 1, 0.3, 1);
/* Page width. Also gives a `max-w-page` utility. */
--container-page: 80rem;
}
:root.dark {
color-scheme: dark;
--color-page: #121212;
--color-background: #161616;
--color-foreground: #f4f3ef;
--color-body-foreground: #cfcdc8;
--color-card: #1c1c1e;
--color-card-foreground: #f4f3ef;
--color-border: #f4f3ef;
--color-secondary: #f4f3ef;
--color-secondary-foreground: #0b0b0b;
--color-popover: #1c1c1e;
--color-popover-foreground: #f4f3ef;
--color-overlay: rgb(0 0 0 / 0.7);
--color-muted: #262628;
--color-muted-foreground: #a8a6a1;
--color-ink: #050505;
}