/* Shared "workbench" look: dark wood table, brass header, cream paper on top.
   Used by index.html, rules.html (via build_rules.py) and reference.html.
   play.html carries the same tokens inline. */

:root {
  --bench: #2a1f17;
  --bench-line: rgba(226, 189, 107, .16);
  --paper: #f3e9d5;
  --paper-deep: #e7d6b4;
  --paper-edge: #d9c69a;
  --ink: #211810;
  --ink-soft: #4a3a26;
  --ink-faded: #7a6748;
  --brass-lo: #8a6520;
  --brass: #b8893a;
  --brass-hi: #e2bd6b;
  --copper: #b8612d;
  --text: #efe3c8;
  --muted: #b6a37f;
  --c-mech: #6b7280;
  --c-elec: #d98a06;
  --c-steam: #d4402f;
  --c-mag: #6d28d9;
  --display: "Fraunces", Georgia, "Times New Roman", serif;
  --mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
}

html { background: var(--bench); }
body.bench { margin: 0; min-height: 100vh; background: var(--bench); color: var(--text); }

/* Wood grain + warm lamp glow, on a fixed layer behind everything */
body.bench::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background-image:
    repeating-linear-gradient(92deg, rgba(255,255,255,.018) 0 2px, transparent 2px 9px),
    radial-gradient(ellipse at 50% -10%, #4a3726 0%, transparent 60%);
}

/* Header bar */
.bench-bar {
  padding: 12px 16px;
  border-bottom: 1px solid var(--bench-line);
  background: rgba(0, 0, 0, .25);
  font-family: var(--mono);
}
.bench-bar .wrap { max-width: 1440px; margin: 0 auto; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.bench-title { margin: 0; font-family: var(--display); font-weight: 700; font-size: 20px; color: var(--brass-hi); text-decoration: none; letter-spacing: .01em; }
.bench-title small { font-family: var(--mono); font-weight: 400; font-size: 11px; color: var(--muted); letter-spacing: .12em; text-transform: uppercase; margin-left: 6px; }
.bench-nav { display: flex; gap: 2px; flex-wrap: wrap; }
.bench-nav a { color: var(--muted); text-decoration: none; padding: 4px 9px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; border-bottom: 2px solid transparent; }
.bench-nav a:hover { color: var(--text); }
.bench-nav a[aria-current="page"] { color: var(--brass-hi); border-color: var(--brass); }

/* A paper document lying on the bench */
.sheet {
  position: relative;
  max-width: 1240px;
  margin: 28px auto 56px;
  background: var(--paper);
  color: var(--ink);
  border-radius: 3px;
  box-shadow: 0 2px 0 rgba(0,0,0,.3), 0 24px 60px rgba(0,0,0,.5);
}
@media (max-width: 1280px) { .sheet { margin: 20px 16px 40px; } }

.bench-footer { text-align: center; color: var(--muted); font: 11px var(--mono); letter-spacing: .08em; padding: 0 16px 32px; }
.bench-footer code { color: var(--brass-hi); }
