/* Hallmark · genre: modern-minimal (technical / industrial) · macrostructure: Feature Stack (home) + Long Document (content)
 * theme: custom — "Rootcastle night & paper": night oklch(15.5% 0.018 262) · paper oklch(99% 0.003 262)
 * accent: Rootcastle blue oklch(36% 0.135 263) / signal blue oklch(53% 0.18 258) · second hue: Rootcastle green oklch(55% 0.12 155)
 * type: Inter Tight (display) + IBM Plex Sans (body) + IBM Plex Mono (data only)
 * axes: paper-band dark+light / grotesk-sans / cool · nav: N10 scroll-morph (+ mega panel) · footer: Ft5 statement
 * REI Balance — Rootcastle Engineering & Innovation design tokens (see design.md) */
:root {
    /* Night: the stage the machine stands on (hero, bands, instrument panels) */
    --color-night: oklch(15.5% 0.018 262);
    --color-night-2: oklch(19.5% 0.022 262);
    --color-night-3: oklch(24.5% 0.026 262);
    --color-night-line: oklch(31% 0.028 262);
    --color-on-night: oklch(96.5% 0.006 262);
    --color-on-night-2: oklch(77% 0.017 262);
    --color-on-night-3: oklch(60% 0.02 262);

    /* Paper: where the reading happens */
    --color-paper: oklch(99.2% 0.003 262);
    --color-paper-2: oklch(96.6% 0.006 262);
    --color-paper-3: oklch(92.8% 0.01 262);
    --color-rule: oklch(89.8% 0.011 262);
    --color-muted: oklch(48% 0.018 262);
    --color-ink-2: oklch(33% 0.02 262);
    --color-ink: oklch(17% 0.016 262);

    /* Brand: the E is blue, the I is green */
    --color-blue: oklch(36% 0.135 263);
    --color-blue-2: oklch(43% 0.155 261);
    --color-blue-bright: oklch(53% 0.18 258);
    --color-blue-glow: oklch(76% 0.11 255);
    --color-on-blue-2: oklch(87% 0.03 262);
    --color-green: oklch(55% 0.12 155);
    --color-green-glow: oklch(76% 0.13 155);
    --color-signal: oklch(64% 0.19 30);
    --color-focus: oklch(53% 0.18 258);
    --color-focus-on-night: oklch(76% 0.11 255);

    /* Legacy aliases read by tools.js, admin.css and print.css */
    --color-logo: var(--color-ink);
    --color-navy: var(--color-blue);
    --color-navy-2: var(--color-blue-2);
    --color-navy-deep: var(--color-night);
    --color-navy-line: var(--color-night-line);
    --color-on-navy: var(--color-on-night);
    --color-on-navy-2: var(--color-on-night-2);
    --color-accent: var(--color-blue-bright);
    --color-accent-on-navy: var(--color-blue-glow);

    /* Data-viz only */
    --color-zone-a: oklch(70% 0.14 155);
    --color-zone-b: oklch(80% 0.14 125);
    --color-zone-c: oklch(80% 0.145 75);
    --color-zone-d: oklch(62% 0.2 27);
    --color-trace-2: oklch(74% 0.12 300);
    --color-trace-3: oklch(82% 0.13 80);
    --color-ok-bg: oklch(95.5% 0.035 155);
    --color-ok-ink: oklch(38% 0.09 155);
    --color-err: oklch(52% 0.19 27);

    --font-display: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
    --font-body: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
    --font-data: "IBM Plex Mono", ui-monospace, Consolas, monospace;

    --space-3xs: 0.25rem;
    --space-2xs: 0.5rem;
    --space-xs: 0.75rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2rem;
    --space-xl: 3rem;
    --space-2xl: 4.5rem;
    --space-3xl: 7.5rem;

    --text-2xs: 0.75rem;
    --text-xs: 0.8125rem;
    --text-sm: 0.9375rem;
    --text-md: 1.0625rem;
    --text-lg: 1.3125rem;
    --text-xl: 1.75rem;
    --text-2xl: clamp(2rem, 3.2vw + 0.6rem, 3.25rem);
    --text-3xl: clamp(2.4rem, 4.4vw + 0.6rem, 4.5rem);
    --text-display: clamp(2.7rem, 5.6vw + 0.6rem, 6rem);

    --track-display: -0.052em;
    --track-head: -0.038em;

    --radius: 2px;
    --rule: 1px solid var(--color-rule);
    --rule-night: 1px solid var(--color-night-line);
    --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --dur-short: 160ms;
    --dur-med: 320ms;
    --header-h: 76px;
    --shell: 1280px;
    --z-header: 30;
    --z-menu: 40;
}
@media (max-width: 760px) { :root { --header-h: 64px; } }
