/* D2 · 放映厅+杂志档案（站点栏版） — design tokens. Change values here; style.css only reads them. */
:root {
  /* color (B's screening-room palette) */
  --bg: #0c1512;          /* near-black green */
  --bg-2: #12201b;        /* 专题 band, wall panel */
  --bg-3: #1a2b24;        /* chips, tracks, cells */
  --ink: #ece6d8;
  --mute: #9fa596;
  --accent: #d9a066;      /* amber */
  --rule: #2b3a33;
  --paper-line: #16251f;  /* faint grid behind the wall (C's graph paper, dark) */
  --scrim-rgb: 12, 21, 18; /* same as --bg, used in rgba() for scrims */
  --scrim-strength: .95;   /* bottom opacity of the hero scrim */

  /* type */
  --f-display: Fraunces, "Noto Serif SC", Georgia, serif;
  --f-body: "Noto Serif SC", Georgia, serif;
  --f-mono: "JetBrains Mono", ui-monospace, monospace;
  --fs-body: 16px;
  --fs-small: 14px;
  --fs-kick: 12px;
  --fs-hero: clamp(36px, 6.4vw, 84px);
  --fs-h2: clamp(28px, 3.6vw, 44px);
  --fs-h3: clamp(22px, 2.4vw, 30px);
  --lh: 1.7;

  /* spacing scale */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 56px;
  --s-8: 96px;
  --gutter: 5vw;

  /* radii */
  --r-0: 0;
  --r-1: 3px;
  --r-pill: 999px;

  /* layout */
  --gh-h: 56px;           /* fixed site bar: brand · tabs · timeline */
  --reel-step: 6s;         /* how long each hero clip stays on screen (keep in sync with STEP in lab.js) */
  --hero-max-h: 920px;     /* hero = viewport minus site bar, never taller than this */
  --w-max: 1240px;
  --tall-max-h: min(72vh, 640px);
  --wall-cols: 5;
  --wall-gap: 2px;
}
