/* Theme contract: layouts consume semantic tokens, never theme-specific colours.
   Open Institute is also the no-JavaScript and invalid-cookie fallback. */
:root {
  color-scheme: light;
  --paper: #f7f6f3;
  --surface: #eeeee7;
  --ink: #172722;
  --muted-ink: #52635b;
  --accent: #20584f;
  --accent-ink: #ffffff;
  --line: #cad0c8;
  --highlight: #e2e9dd;
  --footer: #172e28;
  --footer-ink: #f7f6f3;
  --font-body: "IBM Plex Sans Hebrew", "Arial", sans-serif;
  --font-display: var(--font-body);
  --font-label: var(--font-body);
  --heading-weight: 500;
  --heading-tracking: -.055em;
  --button-radius: 2px;
  --hero-texture: none;
  --rule-width: 1px;
  --page-width: 1160px;
  --reading-width: 740px;
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: clamp(3.5rem, 8vw, 7rem);
}
:root[data-theme="public-workshop"] {
  --paper: #f1f0e4;
  --surface: #e0e4d2;
  --ink: #192e25;
  --muted-ink: #4e6050;
  --accent: #d7ee78;
  --accent-ink: #192e25;
  --line: #b8c1ab;
  --highlight: #d7ee78;
  --footer: #244e3c;
  --heading-weight: 800;
  --heading-tracking: -.045em;
  --button-radius: 999px;
  --rule-width: 2px;
}
:root[data-theme="language-infrastructure"] {
  --paper: #f5f7f9;
  --surface: #e9eef5;
  --ink: #132b40;
  --muted-ink: #4f6174;
  --accent: #174dba;
  --accent-ink: #ffffff;
  --line: #c5cfdd;
  --highlight: #e3ebfc;
  --footer: #132b40;
  --font-label: "SFMono-Regular", Consolas, monospace;
  --heading-weight: 600;
  --heading-tracking: -.045em;
  --button-radius: 0px;
  --hero-texture: linear-gradient(#174dba08 1px, transparent 1px), linear-gradient(90deg, #174dba08 1px, transparent 1px);
}
