/* Hallmark · design-system: B. Lotz · genre: modern-minimal
 * palette: cool paper / controlled Lotz blue · typography: Geist + IBM Plex Sans
 * pre-emit critique: P5 H5 E4 S5 R5 V4
 */
:root {
  --color-paper: oklch(97.5% 0.009 244);
  --color-paper-2: oklch(94.5% 0.014 244);
  --color-paper-3: oklch(91% 0.019 244);
  --color-rule: oklch(78% 0.024 244);
  --color-rule-2: oklch(62% 0.04 244);
  --color-muted: oklch(46% 0.035 244);
  --color-neutral: oklch(33% 0.045 244);
  --color-ink: oklch(20% 0.035 244);
  --color-accent: oklch(33% 0.105 244);
  --color-accent-hover: oklch(39% 0.12 244);
  --color-accent-ink: oklch(97% 0.01 244);
  --color-focus: oklch(58% 0.16 244);
  --color-brand-surface: oklch(28% 0.09 244);
  --color-brand-surface-2: oklch(34% 0.09 244);
  --color-error: oklch(48% 0.17 25);
  --color-error-surface: oklch(94% 0.035 25);
  --color-success: oklch(40% 0.1 150);
  --color-success-surface: oklch(94% 0.035 150);
  --color-warning: oklch(48% 0.11 76);
  --color-warning-surface: oklch(94% 0.045 76);
  --color-overlay: oklch(20% 0.035 244 / 0.58);
  --color-shadow: oklch(20% 0.035 244 / 0.08);

  --font-display: var(--font-body);
  --font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;

  --text-xs: 0.8rem;
  --text-sm: 1rem;
  --text-md: 1.25rem;
  --text-lg: 1.5625rem;
  --text-xl: 1.9531rem;
  --text-2xl: 2.4414rem;
  --text-display: clamp(2.5rem, 4vw + 1rem, 4.75rem);

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

  --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-hair: 1px;
  --rule-fine: 2px;
  --radius-control: 0.25rem;
  --radius-surface: 0.25rem;
  --radius-pill: 999px;

  --page-max: 92rem;
  --page-gutter: clamp(1rem, 4vw, 4rem);
  --control-height: 2.75rem;

  --z-base: 1;
  --z-raised: 10;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-modal: 400;
  --z-toast: 500;
}

/* MPL Werkbank · dark cinematic instrument (default) with an optional light theme.
   Semantic studio tokens: every surface, text role and state colour of the internal app resolves here.
   The `--studio-blue*` names are kept for compatibility and now alias the single selection accent. */
:root {
  --studio-canvas: #121417;
  --studio-surface: #191c21;
  --studio-raised: #23272e;
  --studio-panel: #15181c;
  --studio-image: #0a0b0d;
  --studio-ink: #f2f0ea;
  --studio-secondary: #c2c1bb;
  --studio-muted: #8d8f96;
  --studio-rule: #2a2e35;
  --studio-rule-strong: #40454e;
  --studio-accent: #f2c230;
  --studio-accent-hover: #f8d055;
  --studio-accent-text: #f2c230;
  --studio-on-accent: #1a1500;
  --studio-measure: #4fd1e0;
  --studio-fill: #24282f;
  --studio-fill-hover: #2f343c;
  --studio-fill-active: #3a4049;
  --studio-selected: #2e2a19;
  --studio-success: #5fd88a;
  --studio-success-fill: #1c3326;
  --studio-warning: #ffb454;
  --studio-warning-fill: #3a2b14;
  --studio-error: #ff7b72;
  --studio-error-fill: #3f2220;
  --studio-overlay: rgb(0 0 0 / 65%);
  --studio-shadow: rgb(0 0 0 / 35%);
  --studio-dock: rgb(30 33 39 / 94%);
  --studio-pill: rgb(14 15 18 / 84%);
  --studio-logo-chip: #fdfdfd;
  --studio-scheme: dark;
  --studio-glass: var(--studio-panel);
  --studio-blue: var(--studio-accent);
  --studio-blue-hover: var(--studio-accent-hover);
  --studio-blue-text: var(--studio-accent-text);
  --studio-on-blue: var(--studio-on-accent);
  --studio-radius-control: 4px;
  --studio-radius-surface: 6px;
  --studio-header-height: 60px;
}
:root[data-theme="light"] {
  --studio-canvas: #f3f2ee;
  --studio-surface: #ffffff;
  --studio-raised: #e8e7e1;
  --studio-panel: #fbfaf7;
  --studio-image: #0a0b0d;
  --studio-ink: #1b1c1f;
  --studio-secondary: #46484d;
  --studio-muted: #6c6f76;
  --studio-rule: #dad9d2;
  --studio-rule-strong: #b8b7b0;
  --studio-accent: #e0a800;
  --studio-accent-hover: #c99600;
  --studio-accent-text: #8a6700;
  --studio-on-accent: #1b1c1f;
  --studio-measure: #0d8a99;
  --studio-fill: #ebeae5;
  --studio-fill-hover: #e0dfd9;
  --studio-fill-active: #d4d3cc;
  --studio-selected: #fff3cc;
  --studio-success: #1f8a4c;
  --studio-success-fill: #dcf3e4;
  --studio-warning: #a85a00;
  --studio-warning-fill: #ffe9cc;
  --studio-error: #c62828;
  --studio-error-fill: #fde3e1;
  --studio-overlay: rgb(20 20 20 / 45%);
  --studio-shadow: rgb(0 0 0 / 14%);
  --studio-dock: rgb(255 255 255 / 93%);
  --studio-pill: rgb(255 255 255 / 90%);
  --studio-logo-chip: transparent;
  --studio-scheme: light;
}

/* Preserved report/overlay colors, named for migration into semantic tokens. */
:root {
  --safepack-blue: #002d72;
  --safepack-red: #e4002b;
  --marker-label-fill: rgba(23,44,64,.86);
  --marker-warning: #ffb340;
  --marker-success: #3ad35c;
  --marker-link: #c8c8e3;
  --marker-dark-fill: rgba(18,20,24,.84);
  --marker-blue: #586aab;
  --marker-confirm-fill: #1f7a3a;
  --detail-dark-fill: rgba(18,20,24,.86);
  --selection-translucent: rgba(122,134,191,.20);
  --detail-highlight: rgba(255,255,255,.035);
  --loupe-shadow: rgba(0,0,0,.75);
  --loupe-shade: rgba(0,0,0,.7);
  --thumbnail-fill: rgba(255,255,255,.05);
  --thumbnail-hover: rgba(255,255,255,.09);
  --zoom-glass: #26334a;
  --glass-rule: rgba(255,255,255,.1);
  --glass-shadow: rgba(0,0,0,.25);
  --report-paper: oklch(97.5% 0.009 244);
  --report-subtle: oklch(94.5% 0.014 244);
  --report-ink: oklch(20% 0.035 244);
  --report-muted: oklch(46% 0.035 244);
  --report-secondary: oklch(33% 0.045 244);
  --report-rule: oklch(78% 0.024 244);
  --report-blue: #223166;
}
