/* arenic design tokens — ported verbatim from engmanager.xyz critical.css.
   Tiers: scales + semantic aliases (:root), then per-theme primitive palettes.
   mdbook light/rust -> light palette; coal/navy/ayu -> dark. [data-theme] wrappers
   let the colour page preview any palette. */

:root {

        color-scheme: light dark;

        /* Type scale, cqi-anchored Utopia clamps */
        --font-size-00: clamp(0.6944rem, 0.1508cqi + 0.6643rem, 0.8rem);
        --font-size-0:  clamp(0.8333rem, 0.2381cqi + 0.7857rem, 1rem);
        --font-size-1:  clamp(1rem,      0.3571cqi + 0.9286rem, 1.25rem);
        --font-size-2:  clamp(1.2rem,    0.5179cqi + 1.0964rem, 1.5625rem);
        --font-size-3:  clamp(1.44rem,   0.733cqi  + 1.2934rem, 1.9531rem);
        --font-size-4:  clamp(1.728rem,  1.0192cqi + 1.5242rem, 2.4414rem);
        --font-size-5:  clamp(2.0736rem, 1.3974cqi + 1.7941rem, 3.0518rem);
        --font-size-6:  clamp(2.4883rem, 1.8948cqi + 2.1094rem, 3.8147rem);
        --font-size-7:  clamp(2.986rem,  2.5463cqi + 2.4767rem, 4.7684rem);
        --font-size-8:  clamp(3.5832rem, 3.3961cqi + 2.904rem,  5.9605rem);

        /* Space scale */
        --size-3xs: clamp(0.25rem, 0.0893cqi + 0.2321rem, 0.3125rem);
        --size-2xs: clamp(0.5rem,  0.1786cqi + 0.4643rem, 0.625rem);
        --size-xs:  clamp(0.75rem, 0.2679cqi + 0.6964rem, 0.9375rem);
        --size-s:   clamp(1rem,    0.3571cqi + 0.9286rem, 1.25rem);
        --size-m:   clamp(1.5rem,  0.5357cqi + 1.3929rem, 1.875rem);
        --size-l:   clamp(2rem,    0.7143cqi + 1.8571rem, 2.5rem);
        --size-xl:  clamp(3rem,    1.0714cqi + 2.7857rem, 3.75rem);
        --size-2xl: clamp(4rem,    1.4286cqi + 3.7143rem, 5rem);
        --size-3xl: clamp(6rem,    2.1429cqi + 5.5714rem, 7.5rem);
        --size-4xl: clamp(8rem,    2.8571cqi + 7.4286rem, 10rem);

        /* Space pairs (one-up at viewport max) */
        --size-pair-3xs-2xs: clamp(0.25rem, 0.5357cqi + 0.1429rem, 0.625rem);
        --size-pair-2xs-xs:  clamp(0.5rem,  0.625cqi  + 0.375rem,  0.9375rem);
        --size-pair-xs-s:    clamp(0.75rem, 0.7143cqi + 0.6071rem, 1.25rem);
        --size-pair-s-m:     clamp(1rem,    1.25cqi   + 0.75rem,   1.875rem);
        --size-pair-m-l:     clamp(1.5rem,  1.4286cqi + 1.2143rem, 2.5rem);
        --size-pair-l-xl:    clamp(2rem,    2.5cqi    + 1.5rem,    3.75rem);
        --size-pair-xl-2xl:  clamp(3rem,    2.8571cqi + 2.4286rem, 5rem);
        --size-pair-2xl-3xl: clamp(4rem,    5cqi      + 3rem,      7.5rem);

        /* Radii */
        --radius-3xs:    clamp(0.125rem,  0.0893cqi + 0.1071rem, 0.1875rem);
        --radius-2xs:    clamp(0.1875rem, 0.0893cqi + 0.1696rem, 0.25rem);
        --radius-xs:     clamp(0.25rem,   0.1786cqi + 0.2143rem, 0.375rem);
        --radius-s:      clamp(0.375rem,  0.1786cqi + 0.3393rem, 0.5rem);
        --radius-m:      clamp(0.5rem,    0.3571cqi + 0.4286rem, 0.75rem);
        --radius-l:      clamp(0.75rem,   0.3571cqi + 0.6786rem, 1rem);
        --radius-xl:     clamp(1rem,      0.7143cqi + 0.8571rem, 1.5rem);
        --radius-2xl:    clamp(1.5rem,    0.7143cqi + 1.3571rem, 2rem);
        --radius-pill:   999em;
        --radius-circle: 50%;

        /* Font families — Archivo + Monument Extended preserved.
         * No Inter import: we ignore that per the design brief. */
        --font-sans: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto,
                     "Helvetica Neue", Arial, sans-serif;
        --font-display: "Monument Extended", var(--font-sans);
        --font-mono: ui-monospace, SFMono-Regular, "SF Mono", "Cascadia Code",
                     "JetBrains Mono", Menlo, Monaco, Consolas, monospace;

        --font-weight-1: 100;
        --font-weight-2: 200;
        --font-weight-3: 300;
        --font-weight-4: 400;
        --font-weight-5: 500;
        --font-weight-6: 600;
        --font-weight-7: 700;
        --font-weight-8: 800;
        --font-weight-9: 900;

        --font-lineheight-00: 1.4;
        --font-lineheight-0:  1.5;
        --font-lineheight-1:  1.5;
        --font-lineheight-2:  1.4;
        --font-lineheight-3:  1.3;
        --font-lineheight-4:  1.15;
        --font-lineheight-5:  1.1;
        --font-lineheight-6:  1.05;
        --font-lineheight-7:  1;

        --font-letterspacing-00: 0.05em;
        --font-letterspacing-0:  0.005em;
        --font-letterspacing-1:  0;
        --font-letterspacing-2:  -0.005em;
        --font-letterspacing-3:  -0.01em;
        --font-letterspacing-4:  -0.015em;
        --font-letterspacing-5:  -0.02em;
        --font-letterspacing-6:  -0.025em;
        --font-letterspacing-tracked: 0.1em;

        /* Easings */
        --ease-1: cubic-bezier(0.25, 0, 0.5, 1);
        --ease-2: cubic-bezier(0.25, 0, 0.4, 1);
        --ease-3: cubic-bezier(0.25, 0, 0.3, 1);
        --ease-4: cubic-bezier(0.25, 0, 0.2, 1);
        --ease-5: cubic-bezier(0.25, 0, 0.1, 1);
        --ease-in-3:  cubic-bezier(0.70, 0, 1, 1);
        --ease-out-3: cubic-bezier(0, 0, 0.30, 1);
        --ease-out-5: cubic-bezier(0, 0, 0,    1);
        --ease-in-out-3: cubic-bezier(0.5, 0, 0.5, 1);
        --ease-elastic-3: cubic-bezier(0.5, 1.25, 0.75, 1.25);
        --ease-squish-2: cubic-bezier(0.5, -0.3, 0.1, 1.5);
        --ease-spring-2: linear(0, 0.008, 0.034 2.6%, 0.137 5.6%, 0.737 16.2%, 0.943, 1.111, 1.244, 1.346, 1.421, 1.469, 1.487, 1.479, 1.452, 1.413 30.8%, 1.336, 1.213, 1.101, 1.025 50%, 0.969, 0.957, 0.961, 0.973 65%, 1.001 73%, 1.014, 1.022, 1.022, 1.018, 1.001 99%, 1);

        --animation-duration-fastest: 80ms;
        --animation-duration-fast:    150ms;
        --animation-duration-base:    250ms;
        --animation-duration-slow:    400ms;

        --motion-press:      var(--animation-duration-fastest) var(--ease-3);
        --motion-hover:      var(--animation-duration-fast)    var(--ease-3);
        --motion-enter:      var(--animation-duration-base)    var(--ease-out-3);
        --motion-exit:       var(--animation-duration-fast)    var(--ease-in-3);
        --motion-emphasized: var(--animation-duration-slow)    var(--ease-spring-2);

        /* Shadows derived from the theme's text color so they re-tone
         * automatically across themes (dark themes get pale shadows). */
        --shadow-1: 0 var(--size-3xs) var(--size-2xs) 0
                    oklch(from var(--color-base-content) l c h / 0.08);
        --shadow-2: 0 var(--size-2xs) var(--size-s) calc(var(--size-3xs) * -1)
                    oklch(from var(--color-base-content) l c h / 0.10);
        --shadow-3: 0 var(--size-xs) var(--size-m) calc(var(--size-2xs) * -1)
                    oklch(from var(--color-base-content) l c h / 0.12);
        --shadow-4: 0 var(--size-s) var(--size-l) calc(var(--size-xs) * -1)
                    oklch(from var(--color-base-content) l c h / 0.14);
        --shadow-5: 0 var(--size-m) var(--size-xl) calc(var(--size-s) * -1)
                    oklch(from var(--color-base-content) l c h / 0.16);

        /* Semantic aliases. Components use these instead of raw color tokens. */
        --surface-1:        var(--color-base-100);
        --surface-2:        var(--color-base-200);
        --surface-3:        var(--color-base-300);
        --surface-elevated: var(--color-base-100);
        --surface-sunken:   var(--color-base-200);
        --surface-overlay:  oklch(from var(--color-base-content) l c h / 0.4);

        --text-1:        var(--color-base-content);
        --text-2:        oklch(from var(--color-base-content) l c h / 0.78);
        --text-muted:    oklch(from var(--color-base-content) l c h / 0.55);
        --text-disabled: oklch(from var(--color-base-content) l c h / 0.38);
        --text-on-brand: var(--color-primary-content);

        --link:         var(--color-primary);
        --link-visited: var(--color-secondary);

        --border-faint:  oklch(from var(--color-base-content) l c h / 0.06);
        --border-subtle: oklch(from var(--color-base-content) l c h / 0.12);
        --border-muted:  oklch(from var(--color-base-content) l c h / 0.18);
        --border-strong: oklch(from var(--color-base-content) l c h / 0.32);
        --border-bold:   oklch(from var(--color-base-content) l c h / 0.55);

        --brand:        var(--color-primary);
        --brand-text:   var(--color-primary-content);
        --success:      var(--color-success);
        --warning:      var(--color-warning);
        --danger:       var(--color-error);
        --info:         var(--color-info);

        --color-primary-soft:   oklch(from var(--color-primary)   l c h / 0.12);
        --color-secondary-soft: oklch(from var(--color-secondary) l c h / 0.12);
        --color-accent-soft:    oklch(from var(--color-accent)    l c h / 0.12);
        --color-success-soft:   oklch(from var(--color-success)   l c h / 0.15);
        --color-warning-soft:   oklch(from var(--color-warning)   l c h / 0.15);
        --color-error-soft:     oklch(from var(--color-error)     l c h / 0.15);
        --color-info-soft:      oklch(from var(--color-info)      l c h / 0.15);

        --focus-ring:        oklch(from var(--color-primary) l c h / 0.70);
        --focus-ring-offset: var(--surface-1);
        --focus-ring-width:  calc(var(--border) * 2);

        --hover-tint:    oklch(from var(--color-base-content) l c h / 0.06);
        --press-tint:    oklch(from var(--color-base-content) l c h / 0.10);
        --selected-tint: oklch(from var(--color-primary)      l c h / 0.14);

        --disabled-opacity: 0.45;

        --background-noise-ink: oklch(from var(--color-base-content) l c h / 0.052);
        --background-noise-soft: oklch(from var(--color-base-content) l c h / 0.032);
        --background-noise:
            radial-gradient(
                circle at 22% 28%,
                var(--background-noise-ink) 0 0.035rem,
                transparent 0.045rem
            ),
            radial-gradient(
                circle at 78% 64%,
                var(--background-noise-soft) 0 0.03rem,
                transparent 0.042rem
            ),
            radial-gradient(
                circle at 44% 82%,
                var(--background-noise-ink) 0 0.022rem,
                transparent 0.036rem
            );
    
}

/* Default (light) primitives */
:root {

        --color-base-100:          oklch(99% 0.003 270);
        --color-base-200:          oklch(96% 0.005 270);
        --color-base-300:          oklch(91% 0.008 270);
        --color-base-content:      oklch(20% 0.015 270);
        --color-primary:           oklch(52% 0.22 270);
        --color-primary-content:   oklch(98% 0.012 270);
        --color-secondary:         oklch(64% 0.21 350);
        --color-secondary-content: oklch(98% 0.012 350);
        --color-accent:            oklch(72% 0.14 195);
        --color-accent-content:    oklch(20% 0.05 195);
        --color-neutral:           oklch(22% 0.012 270);
        --color-neutral-content:   oklch(96% 0.005 270);
        --color-info:              oklch(65% 0.18 230);
        --color-info-content:      oklch(98% 0.012 230);
        --color-success:           oklch(65% 0.17 155);
        --color-success-content:   oklch(98% 0.012 155);
        --color-warning:           oklch(78% 0.18 80);
        --color-warning-content:   oklch(20% 0.08 60);
        --color-error:             oklch(65% 0.22 25);
        --color-error-content:     oklch(98% 0.012 25);
        --radius-selector: 0.5rem; --radius-field: 0.5rem; --radius-box: 1rem;
        --size-field: 2.5rem; --size-selector: 0.25rem;
        --border: 1px; --depth: 1; --noise: 0;
}

/* mdbook dark themes -> dark primitives */
body.coal, body.navy, body.ayu {

        --color-base-100:          oklch(22% 0.012 270);
        --color-base-200:          oklch(18% 0.012 270);
        --color-base-300:          oklch(14% 0.012 270);
        --color-base-content:      oklch(94% 0.005 270);
        --color-primary:           oklch(70% 0.20 270);
        --color-primary-content:   oklch(15% 0.06 270);
        --color-secondary:         oklch(70% 0.18 350);
        --color-secondary-content: oklch(15% 0.05 350);
        --color-accent:            oklch(76% 0.14 195);
        --color-accent-content:    oklch(18% 0.05 195);
        --color-neutral:           oklch(28% 0.014 270);
        --color-neutral-content:   oklch(92% 0.005 270);
        --color-info:              oklch(72% 0.15 230);
        --color-info-content:      oklch(15% 0.05 230);
        --color-success:           oklch(72% 0.15 155);
        --color-success-content:   oklch(15% 0.05 155);
        --color-warning:           oklch(82% 0.18 80);
        --color-warning-content:   oklch(18% 0.07 60);
        --color-error:             oklch(72% 0.20 25);
        --color-error-content:     oklch(15% 0.07 25);
        --radius-selector: 0.5rem; --radius-field: 0.5rem; --radius-box: 1rem;
        --size-field: 2.5rem; --size-selector: 0.25rem;
        --border: 1px; --depth: 1; --noise: 0;
}

/* All palettes for in-page previews */
[data-theme="light"] {

        --color-base-100:          oklch(99% 0.003 270);
        --color-base-200:          oklch(96% 0.005 270);
        --color-base-300:          oklch(91% 0.008 270);
        --color-base-content:      oklch(20% 0.015 270);
        --color-primary:           oklch(52% 0.22 270);
        --color-primary-content:   oklch(98% 0.012 270);
        --color-secondary:         oklch(64% 0.21 350);
        --color-secondary-content: oklch(98% 0.012 350);
        --color-accent:            oklch(72% 0.14 195);
        --color-accent-content:    oklch(20% 0.05 195);
        --color-neutral:           oklch(22% 0.012 270);
        --color-neutral-content:   oklch(96% 0.005 270);
        --color-info:              oklch(65% 0.18 230);
        --color-info-content:      oklch(98% 0.012 230);
        --color-success:           oklch(65% 0.17 155);
        --color-success-content:   oklch(98% 0.012 155);
        --color-warning:           oklch(78% 0.18 80);
        --color-warning-content:   oklch(20% 0.08 60);
        --color-error:             oklch(65% 0.22 25);
        --color-error-content:     oklch(98% 0.012 25);
        --radius-selector: 0.5rem; --radius-field: 0.5rem; --radius-box: 1rem;
        --size-field: 2.5rem; --size-selector: 0.25rem;
        --border: 1px; --depth: 1; --noise: 0;
}
[data-theme="dark"] {

        --color-base-100:          oklch(22% 0.012 270);
        --color-base-200:          oklch(18% 0.012 270);
        --color-base-300:          oklch(14% 0.012 270);
        --color-base-content:      oklch(94% 0.005 270);
        --color-primary:           oklch(70% 0.20 270);
        --color-primary-content:   oklch(15% 0.06 270);
        --color-secondary:         oklch(70% 0.18 350);
        --color-secondary-content: oklch(15% 0.05 350);
        --color-accent:            oklch(76% 0.14 195);
        --color-accent-content:    oklch(18% 0.05 195);
        --color-neutral:           oklch(28% 0.014 270);
        --color-neutral-content:   oklch(92% 0.005 270);
        --color-info:              oklch(72% 0.15 230);
        --color-info-content:      oklch(15% 0.05 230);
        --color-success:           oklch(72% 0.15 155);
        --color-success-content:   oklch(15% 0.05 155);
        --color-warning:           oklch(82% 0.18 80);
        --color-warning-content:   oklch(18% 0.07 60);
        --color-error:             oklch(72% 0.20 25);
        --color-error-content:     oklch(15% 0.07 25);
        --radius-selector: 0.5rem; --radius-field: 0.5rem; --radius-box: 1rem;
        --size-field: 2.5rem; --size-selector: 0.25rem;
        --border: 1px; --depth: 1; --noise: 0;
}
[data-theme="synthwave"] {

        --color-base-100:          oklch(18% 0.04 290);
        --color-base-200:          oklch(15% 0.04 290);
        --color-base-300:          oklch(11% 0.04 290);
        --color-base-content:      oklch(95% 0.04 295);
        --color-primary:           oklch(72% 0.25 340);
        --color-primary-content:   oklch(15% 0.08 340);
        --color-secondary:         oklch(75% 0.18 200);
        --color-secondary-content: oklch(15% 0.06 200);
        --color-accent:            oklch(85% 0.18 90);
        --color-accent-content:    oklch(15% 0.07 90);
        --color-neutral:           oklch(25% 0.05 290);
        --color-neutral-content:   oklch(92% 0.04 290);
        --color-info:              oklch(75% 0.18 200);
        --color-info-content:      oklch(15% 0.06 200);
        --color-success:           oklch(75% 0.20 155);
        --color-success-content:   oklch(15% 0.07 155);
        --color-warning:           oklch(82% 0.20 65);
        --color-warning-content:   oklch(15% 0.08 60);
        --color-error:             oklch(70% 0.25 0);
        --color-error-content:     oklch(98% 0.02 0);
        --radius-selector: 0; --radius-field: 0; --radius-box: 0;
        --size-field: 2.5rem; --size-selector: 0.25rem;
        --border: 1px; --depth: 1; --noise: 1;
}
[data-theme="cyberpunk"] {

        --color-base-100:          oklch(91% 0.22 92);
        --color-base-200:          oklch(85% 0.22 90);
        --color-base-300:          oklch(78% 0.22 88);
        --color-base-content:      oklch(15% 0.04 90);
        --color-primary:           oklch(65% 0.30 0);
        --color-primary-content:   oklch(98% 0.04 0);
        --color-secondary:         oklch(75% 0.20 200);
        --color-secondary-content: oklch(15% 0.06 200);
        --color-accent:            oklch(15% 0.04 90);
        --color-accent-content:    oklch(85% 0.22 90);
        --color-neutral:           oklch(15% 0.04 90);
        --color-neutral-content:   oklch(95% 0.04 90);
        --color-info:              oklch(75% 0.20 200);
        --color-info-content:      oklch(15% 0.07 200);
        --color-success:           oklch(70% 0.22 145);
        --color-success-content:   oklch(15% 0.07 145);
        --color-warning:           oklch(82% 0.22 65);
        --color-warning-content:   oklch(15% 0.08 65);
        --color-error:             oklch(60% 0.30 25);
        --color-error-content:     oklch(98% 0.04 25);
        --radius-selector: 0; --radius-field: 0; --radius-box: 0;
        --size-field: 2.5rem; --size-selector: 0.25rem;
        --border: 2px; --depth: 0; --noise: 0;
}
[data-theme="forest"] {

        --color-base-100:          oklch(18% 0.03 155);
        --color-base-200:          oklch(14% 0.03 155);
        --color-base-300:          oklch(10% 0.025 155);
        --color-base-content:      oklch(90% 0.04 155);
        --color-primary:           oklch(60% 0.16 155);
        --color-primary-content:   oklch(15% 0.05 155);
        --color-secondary:         oklch(50% 0.12 165);
        --color-secondary-content: oklch(95% 0.02 165);
        --color-accent:            oklch(75% 0.13 75);
        --color-accent-content:    oklch(15% 0.06 75);
        --color-neutral:           oklch(22% 0.03 155);
        --color-neutral-content:   oklch(92% 0.04 155);
        --color-info:              oklch(70% 0.13 220);
        --color-info-content:      oklch(15% 0.05 220);
        --color-success:           oklch(70% 0.15 145);
        --color-success-content:   oklch(15% 0.06 145);
        --color-warning:           oklch(80% 0.16 80);
        --color-warning-content:   oklch(15% 0.07 60);
        --color-error:             oklch(65% 0.20 25);
        --color-error-content:     oklch(98% 0.012 25);
        --radius-selector: 0.5rem; --radius-field: 0.5rem; --radius-box: 1rem;
        --size-field: 2.5rem; --size-selector: 0.25rem;
        --border: 1px; --depth: 1; --noise: 0;
}
[data-theme="lofi"] {

        --color-base-100:          oklch(98% 0.002 70);
        --color-base-200:          oklch(94% 0.002 70);
        --color-base-300:          oklch(88% 0.003 70);
        --color-base-content:      oklch(15% 0.003 70);
        --color-primary:           oklch(15% 0.003 70);
        --color-primary-content:   oklch(98% 0.002 70);
        --color-secondary:         oklch(35% 0.005 70);
        --color-secondary-content: oklch(98% 0.002 70);
        --color-accent:            oklch(50% 0.005 70);
        --color-accent-content:    oklch(98% 0.002 70);
        --color-neutral:           oklch(20% 0.005 70);
        --color-neutral-content:   oklch(95% 0.002 70);
        --color-info:              oklch(45% 0.04 220);
        --color-info-content:      oklch(98% 0.002 220);
        --color-success:           oklch(45% 0.04 155);
        --color-success-content:   oklch(98% 0.002 155);
        --color-warning:           oklch(55% 0.05 80);
        --color-warning-content:   oklch(98% 0.002 80);
        --color-error:             oklch(45% 0.06 25);
        --color-error-content:     oklch(98% 0.002 25);
        --radius-selector: 0.25rem; --radius-field: 0.25rem; --radius-box: 0.25rem;
        --size-field: 2.5rem; --size-selector: 0.25rem;
        --border: 1px; --depth: 0; --noise: 0;
}
[data-theme="dracula"] {

        --color-base-100:          oklch(28% 0.018 280);
        --color-base-200:          oklch(24% 0.018 280);
        --color-base-300:          oklch(20% 0.018 280);
        --color-base-content:      oklch(92% 0.005 280);
        --color-primary:           oklch(72% 0.13 290);
        --color-primary-content:   oklch(20% 0.06 290);
        --color-secondary:         oklch(75% 0.18 0);
        --color-secondary-content: oklch(20% 0.08 0);
        --color-accent:            oklch(82% 0.18 90);
        --color-accent-content:    oklch(20% 0.07 90);
        --color-neutral:           oklch(35% 0.018 280);
        --color-neutral-content:   oklch(92% 0.005 280);
        --color-info:              oklch(75% 0.15 200);
        --color-info-content:      oklch(15% 0.06 200);
        --color-success:           oklch(75% 0.18 145);
        --color-success-content:   oklch(15% 0.07 145);
        --color-warning:           oklch(85% 0.18 80);
        --color-warning-content:   oklch(20% 0.08 60);
        --color-error:             oklch(70% 0.22 15);
        --color-error-content:     oklch(98% 0.02 15);
        --radius-selector: 0.5rem; --radius-field: 0.5rem; --radius-box: 1rem;
        --size-field: 2.5rem; --size-selector: 0.25rem;
        --border: 1px; --depth: 1; --noise: 0;
}
[data-theme="catppuccin"] {

        --color-base-100:          oklch(96% 0.013 280);
        --color-base-200:          oklch(93% 0.013 280);
        --color-base-300:          oklch(90% 0.013 280);
        --color-base-content:      oklch(43% 0.04 270);
        --color-primary:           oklch(63% 0.18 15);
        --color-primary-content:   oklch(98% 0.012 15);
        --color-secondary:         oklch(53% 0.27 295);
        --color-secondary-content: oklch(98% 0.012 295);
        --color-accent:            oklch(58% 0.13 200);
        --color-accent-content:    oklch(98% 0.012 200);
        --color-neutral:           oklch(30% 0.04 270);
        --color-neutral-content:   oklch(96% 0.013 280);
        --color-info:              oklch(56% 0.22 260);
        --color-info-content:      oklch(98% 0.012 260);
        --color-success:           oklch(64% 0.16 145);
        --color-success-content:   oklch(15% 0.06 145);
        --color-warning:           oklch(73% 0.13 75);
        --color-warning-content:   oklch(20% 0.07 60);
        --color-error:             oklch(56% 0.22 25);
        --color-error-content:     oklch(98% 0.012 25);
        --radius-selector: 0.5rem; --radius-field: 0.5rem; --radius-box: 1rem;
        --size-field: 2.5rem; --size-selector: 0.25rem;
        --border: 1px; --depth: 1; --noise: 0;
}
[data-theme="luxury"] {

        --color-base-100:          oklch(8% 0.005 50);
        --color-base-200:          oklch(5% 0.005 50);
        --color-base-300:          oklch(3% 0.005 50);
        --color-base-content:      oklch(88% 0.04 70);
        --color-primary:           oklch(75% 0.13 75);
        --color-primary-content:   oklch(10% 0.04 75);
        --color-secondary:         oklch(85% 0.04 70);
        --color-secondary-content: oklch(15% 0.04 70);
        --color-accent:            oklch(45% 0.15 25);
        --color-accent-content:    oklch(95% 0.02 25);
        --color-neutral:           oklch(15% 0.01 50);
        --color-neutral-content:   oklch(90% 0.04 70);
        --color-info:              oklch(70% 0.13 220);
        --color-info-content:      oklch(15% 0.05 220);
        --color-success:           oklch(70% 0.15 155);
        --color-success-content:   oklch(15% 0.06 155);
        --color-warning:           oklch(78% 0.16 75);
        --color-warning-content:   oklch(15% 0.07 60);
        --color-error:             oklch(65% 0.20 20);
        --color-error-content:     oklch(98% 0.02 20);
        --radius-selector: 0.25rem; --radius-field: 0.25rem; --radius-box: 0.5rem;
        --size-field: 2.5rem; --size-selector: 0.25rem;
        --border: 1px; --depth: 1; --noise: 1;
        --background-noise-ink: oklch(from var(--color-base-content) l c h / 0.075);
        --background-noise-soft: oklch(from var(--color-base-content) l c h / 0.046);
}



/* ---- Style-guide components ---- */
.token-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:var(--size-s);margin:var(--size-m) 0}
.token{display:flex;flex-direction:column;gap:var(--size-3xs);font-family:var(--font-mono);font-size:var(--font-size-00)}
.token .chip{height:54px;border-radius:var(--radius-s);border:1px solid var(--border-subtle);box-shadow:var(--shadow-1)}
.token b{color:var(--text-1);font-weight:var(--font-weight-6)}
.token code{color:var(--text-muted);background:none;padding:0}
.theme-card{padding:var(--size-s) var(--size-m);border:1px solid var(--border-subtle);border-radius:var(--radius-box);background:var(--surface-2);margin:var(--size-s) 0;color:var(--text-1)}
.theme-card h3{margin:0 0 var(--size-2xs)}
.theme-swatches{display:flex;flex-wrap:wrap;gap:var(--size-2xs)}
.theme-swatches span{width:34px;height:34px;border-radius:var(--radius-xs);border:1px solid var(--border-subtle)}
.type-row{display:flex;align-items:baseline;gap:var(--size-m);border-bottom:1px solid var(--border-faint);padding:var(--size-2xs) 0}
.type-row .meta{min-width:9ch;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-00)}
.type-row .sample{color:var(--text-1)}
.scale-row{display:flex;align-items:center;gap:var(--size-m);margin:var(--size-2xs) 0}
.scale-row .meta{min-width:9ch;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-00)}
.bar{height:14px;background:var(--brand);border-radius:var(--radius-2xs)}
.radii-grid{display:flex;flex-wrap:wrap;gap:var(--size-m)}
.radii-grid figure{margin:0;text-align:center;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-00)}
.radii-grid .box{width:72px;height:72px;background:var(--surface-3);border:2px solid var(--border-strong);margin-bottom:var(--size-3xs)}
.elev-grid{display:flex;flex-wrap:wrap;gap:var(--size-l)}
.elev-grid figure{margin:0;text-align:center;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-00)}
.elev-grid .card{width:120px;height:74px;background:var(--surface-2);border-radius:var(--radius-box);margin-bottom:var(--size-2xs)}
.content{font-family:"Archivo",system-ui,sans-serif}
.content h1,.content h2,.content h3{letter-spacing:var(--font-letterspacing-3)}
.content a:not(.header){color:var(--brand)}
