/* Epistable design tokens — BRAND-002 palette carried into the lamp-port
 * design system (design rounds 3–4.9, ported 2026-07-09; NIGHT-LANTERN
 * repaint 2026-07-10 afternoon, operator: "grown out of the tan" — the
 * ground is blue-black, the panes are the light).
 * services/brand.py stays the one home for the state palette; these hex
 * values mirror it. Color is state, never decoration; decoration lives
 * in the metals (ink/gold/bronze) and brick. */

/* Vendored type (OFL; no CDN — the constraint is law). Besley, Fraunces,
 * and Inter are variable files; Plex Mono ships static weights. */
@font-face {
  font-family: "Besley";
  src: url("/static/fonts/besley-var.woff2") format("woff2");
  font-weight: 400 900;
  font-display: swap;
}

@font-face {
  font-family: "Fraunces";
  src: url("/static/fonts/fraunces-var.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("/static/fonts/inter-var.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/static/fonts/ibmplexmono-400.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/static/fonts/ibmplexmono-600.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/static/fonts/ibmplexmono-700.woff2") format("woff2");
  font-weight: 700 900;
  font-display: swap;
}

:root {
  --ink: #1B202B;       /* blue-black (night repaint) */
  --ink-soft: #2b3040;

  --ground: #161A23;    /* the dark wall the lit panes hang on */
  --stone: #C8BFA8;     /* old limestone — state-chip duty only */
  --brick: #96402F;     /* the accent: active tab, rails, primary act */
  --brick-deep: #7E3327;
  --pane-hi: #FBF4E1;   /* lit pane gradient, top */
  --pane-lo: #F0E7D1;   /* lit pane gradient, bottom */
  --paper: #F1E8D0;     /* ivory */
  --paper-bright: #fff8e8;
  --paper-warm: #f7dca3;

  --rule: #9c8d72;
  --rule-soft: #d6c8aa;

  --gold: #C39A46;
  --bronze: #8A6A3F;
  --amber: #D6A23A;

  --green: #2F4A3C;
  --red: #9E3D32;
  --teal: #3E5C54;

  --muted: #6d6254;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;

  --shadow: 0 1px 0 rgba(8, 10, 16, .35),
            0 16px 36px rgba(8, 10, 16, .30);

  /* Type system (operator-ruled 2026-07-09): four vendored families —
   * Besley (Clarendon revival) = the shell voice, Fraunces = panel titles,
   * Inter = UI text, IBM Plex Mono = controls/labels. The legacy names
   * below alias into these so every older sheet follows along. */
  --font-shell: "Besley", "Clarendon", Georgia, serif;
  --font-panel: "Fraunces", Georgia, serif;
  --font-ui: "Inter", system-ui, sans-serif;
  --font-control: "IBM Plex Mono", ui-monospace, monospace;

  --font-body: var(--font-ui);
  --font-label: var(--font-control);
  --font-serif: var(--font-shell);

  /* lamp light defaults (door page; JS overrides via localStorage prefs) */
  --lamp-dim: .82;
  --lamp-r: 255;
  --lamp-g: 190;
  --lamp-b: 86;
  --lamp-speed: 6s;
}
