/* Hallmark · pre-emit critique: P5 H4 E4 S5 R5 V4 */
/* Cobalt drawing desk: cool paper, quiet chrome, blue interaction; one Thai type family intentionally keeps technical content consistent. */
:root {
  --color-paper: oklch(100% 0 0);
  --color-background: oklch(96.4% .009 255);
  --color-canvas: oklch(92.9% .015 253);
  --color-text: oklch(26% .035 260);
  --color-muted: oklch(47% .035 260);
  --color-rule: oklch(85% .017 253);
  --color-rule-soft: oklch(92% .012 253);
  --color-accent: oklch(49% .208 262);
  --color-accent-hover: oklch(42% .18 262);
  --color-accent-soft: oklch(95% .027 262);
  --color-accent-line: oklch(70% .11 262);
  --color-selected-room: oklch(67% .16 262 / .17);
  --color-room-hover: oklch(67% .16 262 / .09);
  --color-grid: oklch(47% .028 255);
  --color-grid-soft: oklch(82% .022 255);
  --color-walls: oklch(27% .02 255);
  --color-doors: oklch(52% .115 155);
  --color-windows: oklch(52% .158 244);
  --color-stairs: oklch(54% .108 308);
  --color-columns: oklch(42% .031 255);
  --color-warning: oklch(40% .075 75);
  --color-warning-soft: oklch(97% .026 85);
  --color-warning-rule: oklch(87% .074 85);
  --color-danger: oklch(44% .15 25);
  --color-danger-soft: oklch(97% .016 25);
  --color-backdrop: oklch(23% .035 260 / .32);
  --color-shadow: oklch(28% .025 260 / .1);
  --color-label-halo: oklch(100% 0 0 / .94);
  --font-body: 'IBM Plex Sans Thai', 'Noto Sans Thai', sans-serif;
  --font-display: var(--font-body);
  --font-data: var(--font-body);
  --text-xs: .875rem;
  --text-sm: .875rem;
  --text-md: .9375rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --space-2xl: 32px;
  --radius-sm: 5px;
  --radius-md: 8px;
  --rule-width: 1px;
  --dur-fast: 100ms;
  --dur-medium: 150ms;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-in: cubic-bezier(.7, 0, .84, 0);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
}
