/* Hallmark · genre: modern-minimal · macrostructure: Ecosystem Index · tone: technical-austere · theme: Coral · enrichment: none · nav: N11 (columns=4,feature=none,scrim=dim-only,open=click) · footer: Ft5 (sentence=28ch,wordmark=under,rule=hairline) */
/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5 */

:root {
    /* Coral palette: clean white paper, warm ink, one signal-coral accent. */
    --palette-light-paper: oklch(99.2% 0.002 75);
    --palette-light-paper-2: oklch(97.2% 0.003 75);
    --palette-light-paper-3: oklch(94.2% 0.004 75);
    --palette-light-ink: oklch(20% 0.018 38);
    --palette-light-ink-2: oklch(33% 0.017 38);
    --palette-light-muted: oklch(47% 0.014 38);
    --palette-light-rule: oklch(83% 0.014 48);
    --palette-light-rule-strong: oklch(62% 0.025 42);
    --palette-light-accent: oklch(51% 0.18 28);
    --palette-light-accent-hover: oklch(44% 0.17 28);
    --palette-light-accent-ink: oklch(99.2% 0.002 75);
    --palette-light-focus: oklch(42% 0.18 28);
    --palette-light-selection: oklch(89% 0.055 28);
    --palette-light-error: oklch(46% 0.18 25);
    --palette-light-error-bg: oklch(94% 0.025 25);
    --palette-light-success: oklch(40% 0.13 150);
    --palette-light-success-bg: oklch(94% 0.025 150);
    --palette-light-warning: oklch(43% 0.12 75);
    --palette-light-warning-bg: oklch(95% 0.03 75);
    --palette-light-overlay: oklch(20% 0.018 38 / 0.28);
    --palette-light-shadow: oklch(20% 0.018 38 / 0.12);

    --palette-dark-paper: oklch(14.5% 0.014 38);
    --palette-dark-paper-2: oklch(18.5% 0.016 38);
    --palette-dark-paper-3: oklch(23.5% 0.018 38);
    --palette-dark-ink: oklch(94% 0.01 48);
    --palette-dark-ink-2: oklch(82% 0.012 48);
    --palette-dark-muted: oklch(70% 0.014 48);
    --palette-dark-rule: oklch(32% 0.02 38);
    --palette-dark-rule-strong: oklch(58% 0.035 38);
    --palette-dark-accent: oklch(72% 0.13 28);
    --palette-dark-accent-hover: oklch(79% 0.105 28);
    --palette-dark-accent-ink: oklch(16% 0.018 38);
    --palette-dark-focus: oklch(82% 0.115 28);
    --palette-dark-selection: oklch(31% 0.07 28);
    --palette-dark-error: oklch(76% 0.14 25);
    --palette-dark-error-bg: oklch(24% 0.045 25);
    --palette-dark-success: oklch(76% 0.12 150);
    --palette-dark-success-bg: oklch(24% 0.04 150);
    --palette-dark-warning: oklch(80% 0.11 75);
    --palette-dark-warning-bg: oklch(25% 0.04 75);
    --palette-dark-overlay: oklch(8% 0.012 38 / 0.64);
    --palette-dark-shadow: oklch(6% 0.012 38 / 0.46);

    --color-paper: var(--palette-light-paper);
    --color-paper-2: var(--palette-light-paper-2);
    --color-paper-3: var(--palette-light-paper-3);
    --color-ink: var(--palette-light-ink);
    --color-ink-2: var(--palette-light-ink-2);
    --color-muted: var(--palette-light-muted);
    --color-rule: var(--palette-light-rule);
    --color-rule-strong: var(--palette-light-rule-strong);
    --color-accent: var(--palette-light-accent);
    --color-accent-hover: var(--palette-light-accent-hover);
    --color-accent-ink: var(--palette-light-accent-ink);
    --color-focus: var(--palette-light-focus);
    --color-selection: var(--palette-light-selection);
    --color-error: var(--palette-light-error);
    --color-error-bg: var(--palette-light-error-bg);
    --color-success: var(--palette-light-success);
    --color-success-bg: var(--palette-light-success-bg);
    --color-warning: var(--palette-light-warning);
    --color-warning-bg: var(--palette-light-warning-bg);
    --color-overlay: var(--palette-light-overlay);
    --color-shadow: var(--palette-light-shadow);

    --font-display: "Geist", "Shdemo Display Fallback", sans-serif;
    --font-body: "Geist", "Shdemo Body Fallback", sans-serif;
    --font-mono: "Geist Mono", "Shdemo Mono Fallback", monospace;

    --space-3xs: 0.125rem;
    --space-2xs: 0.25rem;
    --space-xs: 0.5rem;
    --space-sm: 0.75rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2.5rem;
    --space-2xl: 4rem;
    --space-3xl: 6rem;
    --space-4xl: 9rem;

    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-md: 1.25rem;
    --text-lg: 1.5625rem;
    --text-xl: 1.953rem;
    --text-2xl: 2.441rem;
    --text-3xl: 3.052rem;
    --text-display: clamp(2.5rem, 5vw + 0.5rem, 4.75rem);

    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --dur-micro: 120ms;
    --dur-short: 220ms;
    --dur-long: 420ms;

    --rule-hair: 1px;
    --rule-control: 1px;
    --radius-xs: 0.375rem;
    --radius-sm: 0.5rem;
    --radius-md: 0.75rem;
    --radius-lg: 1rem;
    --radius-pill: 999rem;
    --radius-round: 50%;

    --page-max: 90rem;
    --page-gutter: clamp(1rem, 4vw, 3.5rem);
    --measure: 65ch;
    --control-height: 2.75rem;
    --control-icon-size: 1.125rem;
    --brand-mark-size: 2.25rem;
    --nav-item-height: 3.75rem;
    --nav-panel-max: 38rem;
    --sidebar-min: 18rem;
    --sidebar-max: 21rem;
    --header-height: 4.75rem;

    --shadow-panel: 0 1.5rem 3rem -1.5rem var(--color-shadow);

    --z-base: 1;
    --z-raised: 10;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-modal: 400;
    --z-toast: 500;
    --z-tooltip: 600;
}

:root[data-color-scheme="dark"] {
    --color-paper: var(--palette-dark-paper);
    --color-paper-2: var(--palette-dark-paper-2);
    --color-paper-3: var(--palette-dark-paper-3);
    --color-ink: var(--palette-dark-ink);
    --color-ink-2: var(--palette-dark-ink-2);
    --color-muted: var(--palette-dark-muted);
    --color-rule: var(--palette-dark-rule);
    --color-rule-strong: var(--palette-dark-rule-strong);
    --color-accent: var(--palette-dark-accent);
    --color-accent-hover: var(--palette-dark-accent-hover);
    --color-accent-ink: var(--palette-dark-accent-ink);
    --color-focus: var(--palette-dark-focus);
    --color-selection: var(--palette-dark-selection);
    --color-error: var(--palette-dark-error);
    --color-error-bg: var(--palette-dark-error-bg);
    --color-success: var(--palette-dark-success);
    --color-success-bg: var(--palette-dark-success-bg);
    --color-warning: var(--palette-dark-warning);
    --color-warning-bg: var(--palette-dark-warning-bg);
    --color-overlay: var(--palette-dark-overlay);
    --color-shadow: var(--palette-dark-shadow);
}

@media (prefers-color-scheme: dark) {
    :root[data-color-scheme-os] {
        --color-paper: var(--palette-dark-paper);
        --color-paper-2: var(--palette-dark-paper-2);
        --color-paper-3: var(--palette-dark-paper-3);
        --color-ink: var(--palette-dark-ink);
        --color-ink-2: var(--palette-dark-ink-2);
        --color-muted: var(--palette-dark-muted);
        --color-rule: var(--palette-dark-rule);
        --color-rule-strong: var(--palette-dark-rule-strong);
        --color-accent: var(--palette-dark-accent);
        --color-accent-hover: var(--palette-dark-accent-hover);
        --color-accent-ink: var(--palette-dark-accent-ink);
        --color-focus: var(--palette-dark-focus);
        --color-selection: var(--palette-dark-selection);
        --color-error: var(--palette-dark-error);
        --color-error-bg: var(--palette-dark-error-bg);
        --color-success: var(--palette-dark-success);
        --color-success-bg: var(--palette-dark-success-bg);
        --color-warning: var(--palette-dark-warning);
        --color-warning-bg: var(--palette-dark-warning-bg);
        --color-overlay: var(--palette-dark-overlay);
        --color-shadow: var(--palette-dark-shadow);
    }
}
