:root {
    --color-surface: oklch(98% 0.005 150);
    --color-surface-raised: oklch(100% 0 0);
    --color-text: oklch(25% 0.02 150);
    --color-text-muted: oklch(45% 0.02 150);
    --color-primary: oklch(45% 0.12 150);
    --color-primary-text: oklch(98% 0.01 150);
    --color-border: oklch(80% 0.01 150);
    --color-free: oklch(94% 0.06 150);
    --color-free-border: oklch(55% 0.12 150);
    --color-booked: oklch(90% 0.03 30);
    --color-mine: oklch(88% 0.08 250);
    --color-unavailable: oklch(94% 0.005 150);
    --color-error: oklch(45% 0.18 25);
    --color-notice: oklch(40% 0.1 150);
    --color-focus: oklch(55% 0.18 250);

    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 2rem;
    --radius: 0.375rem;
    --font-body: system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-size-body: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
    --font-size-h1: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
}

@media (prefers-color-scheme: dark) {
    :root {
        --color-surface: oklch(20% 0.01 150);
        --color-surface-raised: oklch(25% 0.012 150);
        --color-text: oklch(95% 0.005 150);
        --color-text-muted: oklch(75% 0.01 150);
        --color-primary: oklch(72% 0.13 150);
        --color-primary-text: oklch(20% 0.02 150);
        --color-border: oklch(40% 0.01 150);
        --color-free: oklch(30% 0.06 150);
        --color-free-border: oklch(65% 0.12 150);
        --color-booked: oklch(32% 0.04 30);
        --color-mine: oklch(35% 0.08 250);
        --color-unavailable: oklch(26% 0.005 150);
        --color-error: oklch(75% 0.15 25);
        --color-notice: oklch(80% 0.1 150);
        --color-focus: oklch(75% 0.15 250);
    }
}
