/* Hallmark · macrostructure: Workbench · tone: utilitarian/technical · anchor hue: electric blue (kept)
 * theme: custom "Print Bench" — dark graphite chassis / white label stock / LED status accents
 * fonts: Barlow Condensed (display) + Barlow (body) + IBM Plex Mono (values)
 * axes: paper-band dark / display-condensed / accent cool · pre-emit critique: P5 H4 E4 S5 R4 V4
 * See DESIGN.md — this file is the single home for every token. */
:root {
  color-scheme: dark;

  /* chassis — the printer body */
  --color-chassis:    oklch(14% 0.006 250);
  --color-chassis-2:  oklch(18.5% 0.008 250);
  --color-chassis-3:  oklch(23% 0.010 250);
  --color-chassis-4:  oklch(28% 0.012 250);
  --color-rule:       oklch(30% 0.010 250);
  --color-rule-2:     oklch(38% 0.012 250);

  /* ink on chassis */
  --color-ink:        oklch(96% 0.004 250);
  --color-ink-2:      oklch(76% 0.008 250);
  --color-ink-3:      oklch(58% 0.010 250);

  /* label stock — the paper */
  --color-stock:      oklch(99.2% 0 0);
  --color-stock-2:    oklch(94% 0 0);
  --color-stock-3:    oklch(86% 0 0);
  --color-stock-ink:  oklch(13% 0 0);
  --color-stock-ink-2: oklch(45% 0 0);

  /* the one action */
  --color-accent:     oklch(60% 0.19 258);
  --color-accent-2:   oklch(67% 0.17 258);
  --color-accent-3:   oklch(52% 0.19 258);
  --color-accent-ink: oklch(99% 0 0);
  --color-accent-dim: oklch(60% 0.19 258 / 0.14);
  --color-accent-line: oklch(60% 0.19 258 / 0.45);

  /* LEDs */
  --color-ready:      oklch(75% 0.17 155);
  --color-ready-dim:  oklch(75% 0.17 155 / 0.14);
  --color-attn:       oklch(80% 0.15 80);
  --color-attn-dim:   oklch(80% 0.15 80 / 0.14);
  --color-danger:     oklch(64% 0.20 25);
  --color-danger-dim: oklch(64% 0.20 25 / 0.14);
  --color-off:        oklch(45% 0.008 250);
  --color-focus:      var(--color-attn);
  --color-scrim:      oklch(6% 0.006 250 / 0.72);

  /* type */
  --font-display: "Barlow Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --font-body:    "Barlow", "Helvetica Neue", Arial, system-ui, sans-serif;
  --font-mono:    "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --text-xs:   0.75rem;
  --text-sm:   0.8125rem;
  --text-base: 0.9375rem;
  --text-md:   1.0625rem;
  --text-lg:   1.25rem;
  --text-xl:   1.5rem;
  --text-2xl:  1.875rem;
  --text-3xl:  2.25rem;
  --text-display: clamp(2rem, 4vw, 2.75rem);
  --leading-tight: 1.1;
  --leading-snug:  1.3;
  --leading-body:  1.55;
  --track-display: 0.05em;
  --track-label:   0.06em;
  --track-mono:    0.02em;

  /* spacing — 4-pt */
  --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: 6rem;

  /* shape */
  --radius-label: 4px;
  --radius-card:  8px;
  --radius-pill:  999px;
  --rule: 1px solid var(--color-rule);
  --rule-2: 1px solid var(--color-rule-2);
  --rule-cut: 1px dashed var(--color-rule-2);

  /* elevation — paper on chassis */
  --shadow-stock: 0 1px 0 oklch(0% 0 0 / 0.5), 0 10px 30px -12px oklch(0% 0 0 / 0.8);
  --shadow-card:  0 1px 0 oklch(0% 0 0 / 0.35), 0 12px 32px -16px oklch(0% 0 0 / 0.7);
  --shadow-modal: 0 24px 60px -20px oklch(0% 0 0 / 0.9);
  --glow-ready:  0 0 6px var(--color-ready);
  --glow-attn:   0 0 6px var(--color-attn);
  --glow-danger: 0 0 6px var(--color-danger);

  /* motion */
  --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-med:   220ms;

  /* layout */
  --wrap:       64rem;
  --wrap-wide:  80rem;
  --masthead-h: 3.75rem;
  --dock-h:     3.5rem;
  --rail-w:     20rem;

  /* the barcode — a Code128-style stripe, used as a mask so it takes any colour */
  --bars-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='132' height='24' viewBox='0 0 132 24' shape-rendering='crispEdges'><rect x='0' y='0' width='2' height='24'/><rect x='3' y='0' width='1' height='24'/><rect x='6' y='0' width='3' height='24'/><rect x='11' y='0' width='1' height='24'/><rect x='13' y='0' width='2' height='24'/><rect x='17' y='0' width='1' height='24'/><rect x='19' y='0' width='4' height='24'/><rect x='24' y='0' width='1' height='24'/><rect x='27' y='0' width='2' height='24'/><rect x='30' y='0' width='1' height='24'/><rect x='32' y='0' width='3' height='24'/><rect x='37' y='0' width='1' height='24'/><rect x='39' y='0' width='1' height='24'/><rect x='42' y='0' width='2' height='24'/><rect x='46' y='0' width='3' height='24'/><rect x='50' y='0' width='1' height='24'/><rect x='53' y='0' width='1' height='24'/><rect x='55' y='0' width='2' height='24'/><rect x='59' y='0' width='4' height='24'/><rect x='64' y='0' width='1' height='24'/><rect x='67' y='0' width='2' height='24'/><rect x='70' y='0' width='1' height='24'/><rect x='73' y='0' width='3' height='24'/><rect x='78' y='0' width='1' height='24'/><rect x='80' y='0' width='2' height='24'/><rect x='84' y='0' width='1' height='24'/><rect x='86' y='0' width='1' height='24'/><rect x='89' y='0' width='3' height='24'/><rect x='94' y='0' width='2' height='24'/><rect x='97' y='0' width='1' height='24'/><rect x='100' y='0' width='4' height='24'/><rect x='105' y='0' width='1' height='24'/><rect x='108' y='0' width='2' height='24'/><rect x='111' y='0' width='1' height='24'/><rect x='114' y='0' width='3' height='24'/><rect x='118' y='0' width='1' height='24'/><rect x='121' y='0' width='2' height='24'/><rect x='125' y='0' width='1' height='24'/><rect x='127' y='0' width='3' height='24'/></svg>");
}
