/* Hallmark · genre: editorial · macrostructure: Workbench · theme: studied-DNA (Tony Chase Archive)
 * tone: utilitarian · anchor hue: archive blue
 * pre-emit critique: P5 H4 E5 S5 R5 V4
 */
:root {
    color-scheme: light;

    --color-paper: oklch(99% 0.003 255);
    --color-paper-2: oklch(97% 0.006 255);
    --color-paper-3: oklch(94.5% 0.008 255);
    --color-panel: oklch(99.5% 0.002 255);
    --color-ink: oklch(19% 0.012 255);
    --color-ink-2: oklch(29% 0.012 255);
    --color-muted: oklch(44% 0.012 255);
    --color-rule: oklch(84% 0.009 255);
    --color-rule-strong: oklch(70% 0.012 255);
    --color-accent: oklch(56% 0.2 258);
    --color-accent-hover: oklch(48% 0.177 258);
    --color-accent-soft: oklch(94% 0.032 258);
    --color-accent-ink: oklch(99% 0.003 255);
    --color-button-hover: oklch(48% 0.177 258);
    --color-button-hover-ink: oklch(99% 0.003 255);
    --color-focus: oklch(55% 0.21 258);
    --color-live: oklch(56% 0.215 27);
    --color-live-soft: oklch(95% 0.035 27);
    --color-live-ink: oklch(32% 0.13 27);
    --color-danger: oklch(55% 0.19 27);
    --color-danger-hover: oklch(47% 0.17 27);
    --color-danger-soft: oklch(95% 0.035 27);
    --color-danger-ink: oklch(99% 0.003 255);
    --color-success: oklch(49% 0.13 148);
    --color-highlight: oklch(91% 0.08 92);
    --color-highlight-ink: oklch(29% 0.055 75);
    --color-player: oklch(11% 0.008 255);
    --color-player-panel: oklch(19% 0.009 255 / 0.94);
    --color-player-control-hover: oklch(34% 0.012 255 / 0.98);
    --color-player-rule: oklch(92% 0.005 255 / 0.24);
    --color-player-ink: oklch(96% 0.004 255);
    --color-player-muted: oklch(80% 0.008 255);
    --color-overlay: oklch(9% 0.008 255 / 0.72);
    --color-overlay-strong: oklch(9% 0.008 255 / 0.84);
    --color-modal-backdrop: oklch(9% 0.008 255 / 0.78);
    --color-shadow: oklch(25% 0.018 255 / 0.14);
    --color-shadow-soft: oklch(25% 0.018 255 / 0.08);
    --color-banner: oklch(29% 0.012 255);
    --color-banner-ink: oklch(99% 0.003 255);
    --color-banner-rule: oklch(58% 0.012 255);

    --font-display: Arial, Helvetica, sans-serif;
    --font-body: Arial, Helvetica, sans-serif;
    --font-mono: "Courier New", 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: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;

    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-md: 1.125rem;
    --text-lg: 1.375rem;
    --text-xl: 1.75rem;
    --text-2xl: clamp(2.25rem, 5vw, 3.75rem);

    --radius-control: 5px;
    --radius-panel: 8px;
    --radius-round: 999px;

    --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;

    --z-base: 1;
    --z-raised: 10;
    --z-sticky: 200;
    --z-modal: 400;
    --z-tooltip: 600;
}

html[data-theme="dark"] {
    color-scheme: dark;

    /* Matches the archive's established charcoal dark mode. */
    --color-paper: #333333;
    --color-paper-2: #333333;
    --color-paper-3: #444444;
    --color-panel: #222222;
    --color-ink: #ffffff;
    --color-ink-2: #ffffff;
    --color-muted: #d1d5db;
    --color-rule: #444444;
    --color-rule-strong: #555555;
    --color-accent: #007BFF;
    --color-accent-hover: #0056b3;
    --color-accent-soft: #1f3e5f;
    --color-accent-ink: #ffffff;
    --color-button-hover: #0056b3;
    --color-button-hover-ink: #ffffff;
    --color-focus: #66b2ff;
    --color-live: #ff5252;
    --color-live-soft: #4a2727;
    --color-live-ink: #ffffff;
    --color-danger: #d32f2f;
    --color-danger-hover: #c62828;
    --color-danger-soft: #4a2727;
    --color-danger-ink: #ffffff;
    --color-success: #388e3c;
    --color-highlight: #554f20;
    --color-highlight-ink: #fff6b0;
    --color-player: #000000;
    --color-player-panel: rgba(34, 34, 34, 0.94);
    --color-player-control-hover: #444444;
    --color-player-rule: rgba(255, 255, 255, 0.24);
    --color-player-ink: #ffffff;
    --color-player-muted: #d1d5db;
    --color-overlay: rgba(0, 0, 0, 0.72);
    --color-overlay-strong: rgba(0, 0, 0, 0.84);
    --color-modal-backdrop: rgba(0, 0, 0, 0.75);
    --color-shadow: rgba(0, 0, 0, 0.35);
    --color-shadow-soft: rgba(0, 0, 0, 0.18);
    --color-banner: #292929;
    --color-banner-ink: #ffffff;
    --color-banner-rule: #444444;
}
