/* Hallmark tokens · Koiroo Atelier · warm paper / charcoal ink / restrained gold */
:root {
    --color-paper: oklch(98% 0.009 85);
    --color-paper-raised: oklch(99% 0.006 85);
    --color-paper-2: oklch(96% 0.014 85);
    --color-paper-3: oklch(92% 0.045 84);
    --color-rule: oklch(86% 0.014 82);
    --color-rule-strong: oklch(72% 0.024 80);
    --color-neutral: oklch(48% 0.014 75);
    --color-muted: oklch(42% 0.014 72);
    --color-ink-soft: oklch(28% 0.014 70);
    --color-ink: oklch(20% 0.012 68);
    --color-accent: oklch(67% 0.135 78);
    --color-accent-dark: oklch(46% 0.118 73);
    --color-accent-soft: oklch(92% 0.055 84);
    --color-accent-ink: oklch(19% 0.015 70);
    --color-focus: oklch(42% 0.145 72);
    --color-error: oklch(48% 0.19 28);
    --color-success: oklch(43% 0.11 145);
    --color-transparent: oklch(98% 0.009 85 / 0);
    --color-paper-overlay: oklch(99% 0.006 85 / 0.97);
    --color-accent-wash: oklch(67% 0.135 78 / 0.045);
    --color-accent-rule: oklch(67% 0.135 78 / 0.3);
    --color-ink-rule: oklch(20% 0.012 68 / 0.22);
    --color-paper-rule: oklch(92% 0.045 84 / 0.28);

    --font-display: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
    --font-body: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;

    --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.64rem;
    --text-sm: 0.8rem;
    --text-base: 1rem;
    --text-md: 1.25rem;
    --text-lg: 1.5625rem;
    --text-xl: 1.9531rem;
    --text-2xl: 2.4414rem;
    --text-3xl: 3.0518rem;
    --text-4xl: 3.8147rem;
    --text-display-s: clamp(2.5rem, 3.2vw + 1rem, 3.75rem);
    --text-display: clamp(2.75rem, 5vw + 1rem, 5.25rem);
    --text-home-hero-mobile: clamp(2rem, 8.2vw, 2.25rem);
    --text-home-hero: clamp(2.75rem, 2.5vw + 1rem, 3.5rem);

    --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-strong: 2px;
    --radius-none: 0;
    --radius-sm: 0.25rem;
    --radius-md: 0.5rem;

    --layout-container: 73.75rem;
    --layout-reading: 65ch;
    --banner-height: 8.5rem;
    --shadow-whisper: 0 1px 2px oklch(20% 0.012 68 / 0.06);

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

    /* Compatibility aliases for the original Koiroo stylesheet. */
    --kr-bg: var(--color-paper);
    --kr-surface: var(--color-paper-raised);
    --kr-ink: var(--color-ink);
    --kr-muted: var(--color-muted);
    --kr-accent: var(--color-accent);
    --kr-accent-dark: var(--color-accent-dark);
    --kr-accent-soft: var(--color-accent-soft);
    --kr-border: var(--color-rule);
    --kr-charcoal: var(--color-ink);
    --kr-font-heading: var(--font-display);
    --kr-font-body: var(--font-body);
    --kr-shadow: var(--shadow-whisper);
    --kr-container: var(--layout-container);
}
