/* Kerfloom brand tokens · shared by the public cut sheet and Pattern Studio
 * paper: oklch(96.5% 0.012 55) · laser: oklch(52% 0.20 28) · ink: oklch(19% 0.018 28)
 * display: Cabinet Grotesk · body: IBM Plex Sans · technical: IBM Plex Mono
 */
:root {
  --color-paper: oklch(96.5% 0.012 55);
  --color-canvas: oklch(98.5% 0.005 55);
  --color-material-light: oklch(81% 0.07 72);
  --color-material-dark: oklch(69% 0.085 65);
  --color-material-grain: oklch(50% 0.08 65 / 0.12);
  --shadow-material: drop-shadow(0 0.35px 0.25px oklch(28% 0.04 55 / 0.18));
  --color-paper-2: oklch(93.5% 0.016 55);
  --color-paper-3: oklch(89% 0.018 55);
  --color-rule: oklch(84% 0.012 45);
  --color-rule-strong: oklch(65% 0.018 38);
  --color-neutral: oklch(44% 0.014 32);
  --color-muted: oklch(38% 0.016 32);
  --color-ink-2: oklch(29% 0.018 30);
  --color-ink: oklch(19% 0.018 28);
  --color-graphite: oklch(21% 0.018 28);
  --color-graphite-raised: oklch(26% 0.019 28);
  --color-on-graphite: oklch(94% 0.012 55);
  --color-accent: oklch(52% 0.20 28);
  --color-accent-soft: oklch(91% 0.035 28);
  --color-accent-ink: oklch(97% 0.012 55);
  --color-focus: oklch(47% 0.22 28);
  --color-error: oklch(45% 0.13 62);
  --color-error-soft: oklch(92% 0.04 70);
  --color-success: oklch(42% 0.11 150);
  --color-success-soft: oklch(91% 0.035 150);
  --color-preview-geometry: #0f4b67;
  --color-preview-invalid: var(--color-focus);
  --color-operation-cut: #ff0000;
  --color-operation-score: #0000ff;
  --color-operation-engrave: #000000;
  --color-material-fill: #c9975a;
  --color-material-stroke: #7d552d;
  --color-transparent: transparent;
  --color-overlay: oklch(19% 0.018 28 / 0.56);

  --font-display: "Cabinet Grotesk", "Arial Black", sans-serif;
  --font-body: "IBM Plex Sans", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "Lucida Console", 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: 2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;

  --text-xs: 0.72rem;
  --text-sm: 0.82rem;
  --text-base: 1rem;
  --text-md: 1.2rem;
  --text-lg: 1.5rem;
  --text-xl: 1.875rem;
  --text-2xl: 2.35rem;

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

  --rule-thin: 1px;
  --rule-stage: 0.125rem;
  --radius-control: 0.25rem;
  --radius-panel: 0.5rem;
  --shadow-whisper: 0 1px 2px oklch(19% 0.018 28 / 0.08);

  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;
  --z-toast: 500;
}
