/* =========================================================
   GEEN LEVEN — global design tokens
   Single source of truth for fonts, colours and HUD layout.
   Loaded first on every page (before page-specific CSS).
   ========================================================= */

/* Self-hosted book typeface so every OS renders identical letterforms.
   Drop a web-licensed Century Schoolbook (or the OFL "C059" clone) here as
   .woff2 / .woff. Until the file exists the stack falls back to the locally
   installed Century Schoolbook, then Georgia — so the page never breaks. */
@font-face {
  font-family: "GeenLeven Serif";
  src:
    url("../fonts/geenleven-serif.woff2") format("woff2"),
    url("../fonts/geenleven-serif.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Type */
  --font-serif: "GeenLeven Serif", "Century Schoolbook", "Georgia", "Times New Roman", serif;
  --font-main: var(--font-serif);

  /* Palette — "bone on void" */
  --void: #050505;
  --ink: #000000;
  --bone: rgba(232, 223, 200, 0.86);
  --bone-dim: rgba(232, 223, 200, 0.55);
  --bone-faint: rgba(232, 223, 200, 0.25);
  --bone-ghost: rgba(232, 223, 200, 0.14);
  --color-light: var(--bone);

  /* HUD / cube layout (room pages reference these with fallbacks) */
  --hud-side: 40px;
  --hud-top-left: 70px;
  --hud-top-right: 40px;
  --hud-bottom: 40px;
  --cube-scene-size: 140px;
  --hud-label-offset: 4px;
  --hud-label-top: calc(
    var(--hud-top-right) + var(--cube-scene-size) + var(--hud-label-offset)
  );

  /* Cube geometry */
  --cubeDepth: 30px;
}

/* Visually-hidden but available to screen readers and crawlers. */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
