:root {
  --color-canvas: oklch(20% 0.014 55);
  --color-surface: oklch(94% 0.025 75);
  --color-surface-2: oklch(90% 0.028 72);
  --color-ink: oklch(23% 0.018 55);
  --color-muted: oklch(48% 0.018 58);
  --color-rule: oklch(72% 0.024 70);
  --color-accent: oklch(53% 0.16 30);
  --color-focus: oklch(60% 0.2 30);
  --color-dock: oklch(19% 0.014 55);
  --color-dock-ink: oklch(94% 0.014 75);
  --color-dock-muted: oklch(72% 0.012 72);
  --color-modal: oklch(18% 0.012 55);
  --color-modal-2: oklch(22% 0.014 55);
  --color-overlay: oklch(8% 0.01 55 / 0.78);
  --color-shadow: oklch(8% 0.01 55 / 0.48);
  --font-display: Georgia, "Songti SC", serif;
  --font-body: "Avenir Next", "Segoe UI", sans-serif;
  --font-mono: "SFMono-Regular", 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;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.25rem;
  --text-xl: 1.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-short: 160ms;
  --dur-medium: 280ms;
  --radius-control: 6px;
  --radius-panel: 8px;
  --rule-thin: 1px;
  --swatch-stamp-paper: oklch(94% 0.025 75);
  --swatch-stamp-accent: oklch(53% 0.16 30);
  --swatch-film-paper: oklch(12% 0.01 70);
  --swatch-film-accent: oklch(73% 0.14 67);
  --swatch-glass-paper: oklch(87% 0.052 210);
  --swatch-glass-accent: oklch(57% 0.14 205);
  --swatch-terminal-paper: oklch(11% 0.025 150);
  --swatch-terminal-accent: oklch(78% 0.18 145);
  --swatch-riso-paper: oklch(95% 0.025 85);
  --swatch-riso-accent: oklch(52% 0.2 260);
  --swatch-carbon-paper: oklch(18% 0.01 240);
  --swatch-carbon-accent: oklch(82% 0.19 135);
  --swatch-instrument-paper: oklch(86% 0.012 240);
  --swatch-instrument-accent: oklch(54% 0.14 245);
  --swatch-pulse-paper: oklch(96% 0.008 80);
  --swatch-pulse-accent: oklch(66% 0.21 44);
  --swatch-prism-paper: oklch(16% 0.025 255);
  --swatch-prism-accent: oklch(78% 0.16 185);
}

body[data-skin="film"] {
  --color-canvas: oklch(8% 0.008 75);
  --color-surface: oklch(12% 0.01 70);
  --color-surface-2: oklch(17% 0.012 65);
  --color-ink: oklch(94% 0.014 75);
  --color-muted: oklch(68% 0.018 70);
  --color-rule: oklch(31% 0.018 65);
  --color-accent: oklch(73% 0.14 67);
  --color-focus: oklch(79% 0.18 67);
  --color-dock: oklch(7% 0.008 70);
  --color-dock-ink: oklch(94% 0.014 75);
  --color-dock-muted: oklch(64% 0.014 70);
  --color-modal: oklch(10% 0.009 70);
  --color-modal-2: oklch(15% 0.011 65);
  --color-overlay: oklch(4% 0.006 70 / 0.86);
  --color-shadow: oklch(3% 0.006 70 / 0.68);
  --font-display: "Arial Narrow", "Avenir Next Condensed", sans-serif;
  --font-body: "Avenir Next", "Segoe UI", sans-serif;
}

body[data-skin="glass"] {
  --color-canvas: oklch(25% 0.035 225);
  --color-surface: oklch(93% 0.035 210);
  --color-surface-2: oklch(87% 0.052 210);
  --color-ink: oklch(23% 0.045 225);
  --color-muted: oklch(47% 0.04 220);
  --color-rule: oklch(70% 0.06 210);
  --color-accent: oklch(57% 0.14 205);
  --color-focus: oklch(64% 0.19 205);
  --color-dock: oklch(20% 0.045 225);
  --color-dock-ink: oklch(94% 0.025 210);
  --color-dock-muted: oklch(72% 0.035 215);
  --color-modal: oklch(19% 0.038 225);
  --color-modal-2: oklch(24% 0.045 220);
  --color-overlay: oklch(10% 0.03 225 / 0.8);
  --color-shadow: oklch(9% 0.03 225 / 0.5);
  --font-display: "Trebuchet MS", "Avenir Next", sans-serif;
  --font-body: "Avenir Next", "Segoe UI", sans-serif;
  --radius-control: 12px;
  --radius-panel: 18px;
}

body[data-skin="terminal"] {
  --color-canvas: oklch(7% 0.018 150);
  --color-surface: oklch(11% 0.025 150);
  --color-surface-2: oklch(15% 0.03 150);
  --color-ink: oklch(88% 0.11 145);
  --color-muted: oklch(60% 0.07 145);
  --color-rule: oklch(30% 0.055 145);
  --color-accent: oklch(78% 0.18 145);
  --color-focus: oklch(84% 0.21 145);
  --color-dock: oklch(8% 0.02 150);
  --color-dock-ink: oklch(88% 0.11 145);
  --color-dock-muted: oklch(58% 0.065 145);
  --color-modal: oklch(9% 0.022 150);
  --color-modal-2: oklch(13% 0.028 150);
  --color-overlay: oklch(3% 0.012 150 / 0.9);
  --color-shadow: oklch(2% 0.01 150 / 0.7);
  --font-display: "SFMono-Regular", Consolas, monospace;
  --font-body: "SFMono-Regular", Consolas, monospace;
  --radius-control: 0;
  --radius-panel: 0;
}

body[data-skin="riso"] {
  --color-canvas: oklch(29% 0.05 260);
  --color-surface: oklch(95% 0.025 85);
  --color-surface-2: oklch(90% 0.045 88);
  --color-ink: oklch(27% 0.075 260);
  --color-muted: oklch(48% 0.065 258);
  --color-rule: oklch(72% 0.055 85);
  --color-accent: oklch(52% 0.2 260);
  --color-focus: oklch(58% 0.22 260);
  --color-dock: oklch(25% 0.075 260);
  --color-dock-ink: oklch(95% 0.025 85);
  --color-dock-muted: oklch(74% 0.045 85);
  --color-modal: oklch(24% 0.07 260);
  --color-modal-2: oklch(29% 0.08 260);
  --color-overlay: oklch(12% 0.04 260 / 0.82);
  --color-shadow: oklch(10% 0.04 260 / 0.55);
  --font-display: "Arial Black", "Trebuchet MS", sans-serif;
  --font-body: "Trebuchet MS", "Avenir Next", sans-serif;
  --radius-control: 2px;
  --radius-panel: 2px;
}

body[data-skin="carbon"] {
  --color-canvas: oklch(10% 0.006 240);
  --color-surface: oklch(18% 0.01 240);
  --color-surface-2: oklch(22% 0.012 240);
  --color-ink: oklch(97% 0.004 240);
  --color-muted: oklch(70% 0.012 240);
  --color-rule: oklch(31% 0.012 240);
  --color-accent: oklch(82% 0.19 135);
  --color-focus: oklch(79% 0.15 200);
  --color-dock: oklch(10% 0.006 240);
  --color-dock-ink: oklch(97% 0.004 240);
  --color-dock-muted: oklch(65% 0.012 240);
  --color-modal: oklch(14% 0.008 240);
  --color-modal-2: oklch(20% 0.01 240);
  --color-overlay: oklch(4% 0.004 240 / 0.9);
  --color-shadow: oklch(2% 0.003 240 / 0.72);
  --font-display: "Arial Narrow", "Avenir Next Condensed", sans-serif;
  --radius-control: 2px;
  --radius-panel: 2px;
}

body[data-skin="instrument"] {
  --color-canvas: oklch(35% 0.01 245);
  --color-surface: oklch(86% 0.012 240);
  --color-surface-2: oklch(77% 0.016 240);
  --color-ink: oklch(22% 0.018 245);
  --color-muted: oklch(46% 0.018 245);
  --color-rule: oklch(62% 0.016 240);
  --color-accent: oklch(54% 0.14 245);
  --color-focus: oklch(58% 0.17 245);
  --color-dock: oklch(25% 0.014 245);
  --color-dock-ink: oklch(91% 0.01 240);
  --color-dock-muted: oklch(70% 0.014 240);
  --color-modal: oklch(27% 0.014 245);
  --color-modal-2: oklch(32% 0.016 245);
  --color-overlay: oklch(8% 0.006 245 / 0.78);
  --color-shadow: oklch(8% 0.006 245 / 0.45);
  --font-display: "Avenir Next", "Segoe UI", sans-serif;
  --radius-control: 4px;
  --radius-panel: 6px;
}

body[data-skin="pulse"] {
  --color-canvas: oklch(20% 0.012 50);
  --color-surface: oklch(96% 0.008 80);
  --color-surface-2: oklch(91% 0.016 75);
  --color-ink: oklch(20% 0.012 50);
  --color-muted: oklch(47% 0.018 55);
  --color-rule: oklch(79% 0.018 70);
  --color-accent: oklch(66% 0.21 44);
  --color-focus: oklch(59% 0.23 38);
  --color-dock: oklch(18% 0.012 50);
  --color-dock-ink: oklch(96% 0.008 80);
  --color-dock-muted: oklch(72% 0.014 70);
  --color-modal: oklch(19% 0.012 50);
  --color-modal-2: oklch(24% 0.014 50);
  --color-overlay: oklch(7% 0.006 50 / 0.82);
  --color-shadow: oklch(7% 0.006 50 / 0.48);
  --font-display: "Arial Black", "Avenir Next", sans-serif;
  --radius-control: 4px;
  --radius-panel: 4px;
}

body[data-skin="prism"] {
  --color-canvas: oklch(7% 0.016 255);
  --color-surface: oklch(15% 0.025 255);
  --color-surface-2: oklch(23% 0.045 245);
  --color-ink: oklch(94% 0.02 190);
  --color-muted: oklch(67% 0.035 220);
  --color-rule: oklch(40% 0.07 225);
  --color-accent: oklch(78% 0.16 185);
  --color-focus: oklch(83% 0.18 185);
  --color-dock: oklch(9% 0.018 255);
  --color-dock-ink: oklch(94% 0.02 190);
  --color-dock-muted: oklch(67% 0.035 220);
  --color-modal: oklch(11% 0.02 255);
  --color-modal-2: oklch(17% 0.03 250);
  --color-overlay: oklch(3% 0.012 255 / 0.86);
  --color-shadow: oklch(2% 0.01 255 / 0.7);
  --font-display: "Trebuchet MS", "Avenir Next", sans-serif;
  --radius-control: 8px;
  --radius-panel: 12px;
}
