/* ============================================================================
   Silicon Hermetica - configurable token matrix
   Every colourway exposes the same four channels, so a glyph only ever reads
   --glow / --core / --ambient / --dim and never a literal colour.
   ========================================================================= */
:root {
  --ink:        #08070b;
  --ink-raised: #0f0d15;
  --edge:       #262034;
  --dim:        #3a4152;          /* unpowered vector line */
  --body:       #cbd5e1;
  --muted:      #94a3b8;

  /* charge is written by the proximity engine, 0 (cold) .. 1 (ignited) */
  --charge: 0;
  --dash: 0;
}

[data-colorway="cyan"] {
  --glow:    #00f3ff;
  --core:    #ffffff;
  --ambient: rgba(0, 243, 255, 0.3);
}
[data-colorway="gold"] {
  --glow:    #ffd700;
  --core:    #fff6cc;
  --ambient: rgba(255, 215, 0, 0.3);
}
[data-colorway="violet"] {
  --glow:    #bd00ff;
  --core:    #f3d9ff;
  --ambient: rgba(189, 0, 255, 0.3);
}
[data-colorway="vermilion"] {
  --glow:    #ff3b00;
  --core:    #ffe5df;
  --ambient: rgba(255, 59, 0, 0.3);
}

/* ---------- shared HUD chrome for every demo page ---------- */
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--body);
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
.hud {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 24px 80px;
}
.hud h1 {
  font-family: 'Courier New', monospace;
  font-size: 20px;
  letter-spacing: 3px;
  color: var(--glow, #ffd700);
  margin: 0 0 6px;
}
.hud .lede { color: var(--muted); font-size: 14px; margin: 0 0 28px; max-width: 70ch; }
.hud a { color: #00f0ff; text-decoration: none; border-bottom: 1px solid rgba(0,240,255,.3); }
.rail {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  margin: 0 0 30px; padding: 12px 14px;
  background: var(--ink-raised); border: 1px solid var(--edge); border-radius: 8px;
  font-family: 'Courier New', monospace; font-size: 12px;
}
.rail button {
  font: inherit; cursor: pointer; padding: 5px 11px; border-radius: 4px;
  color: var(--body); background: #161320; border: 1px solid var(--edge);
}
.rail button[aria-pressed="true"] { border-color: var(--glow); color: var(--glow); }
.rail .sep { width: 1px; height: 20px; background: var(--edge); margin: 0 4px; }
.stage {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 26px; padding: 44px 30px;
  background:
    linear-gradient(var(--edge) 1px, transparent 1px) 0 0 / 100% 56px,
    linear-gradient(90deg, var(--edge) 1px, transparent 1px) 0 0 / 56px 100%,
    var(--ink-raised);
  background-blend-mode: normal;
  border: 1px solid var(--edge); border-radius: 10px;
}
.stage::before { content: none; }
.cell { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.cell figcaption {
  font-family: 'Courier New', monospace; font-size: 11px; letter-spacing: 1.5px;
  color: var(--muted); text-transform: uppercase;
}
.note {
  margin: 26px 0 0; padding: 14px 16px; font-size: 13px; color: var(--muted);
  background: var(--ink-raised); border-left: 3px solid var(--glow, #d4af37); border-radius: 4px;
}
.note code { font-family: 'Courier New', monospace; color: #e0c76a; }
