/* MERGE design tokens. Import first on every page. */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@62..125,100..900&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root {
  /* surfaces */
  --ink: #0b0b0c;
  --ink-2: #111113;
  --panel: #151518;
  --panel-2: #1c1c20;
  --line: #2a2a30;
  --line-2: #3a3a42;

  /* text */
  --text: #ecebe6;
  --dim: #9a9890;
  --mute: #5f5e59;

  /* signal */
  --signal: #ff5a1f;      /* on-air orange */
  --signal-ink: #1a0800;
  --add: #5cf2b4;         /* diff add / merged */
  --del: #ff3b5c;         /* diff remove / LIVE */
  --warn: #ffd23f;        /* vote / boost */
  --info: #7aa7ff;        /* links in code */

  /* type */
  --font-display: 'Archivo', system-ui, sans-serif;
  --font-body: 'Archivo', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  /* scale */
  --r-1: 4px;
  --r-2: 8px;
  --r-3: 14px;
  --gap: clamp(16px, 2vw, 28px);
  --max: 1280px;

  --ease: cubic-bezier(.2,.7,.1,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--text);
  font-family: var(--font-body);
  font-variation-settings: 'wdth' 100;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
::selection { background: var(--signal); color: var(--signal-ink); }

/* display helpers */
.display-x { font-family: var(--font-display); font-variation-settings: 'wdth' 125; font-weight: 900; letter-spacing: -0.02em; line-height: .9; text-transform: uppercase; }
.display-c { font-family: var(--font-display); font-variation-settings: 'wdth' 62; font-weight: 800; letter-spacing: -0.01em; line-height: .92; text-transform: uppercase; }
.mono { font-family: var(--font-mono); }
.eyebrow { font-family: var(--font-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); }

/* tally light */
.tally { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.tally::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: var(--del); box-shadow: 0 0 0 3px rgba(255,59,92,.18), 0 0 14px var(--del); animation: tally 1.6s infinite; }
@keyframes tally { 50% { opacity: .35; } }

/* buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 22px; border-radius: var(--r-2); border: 1px solid var(--line-2); background: var(--panel); color: var(--text); font: 600 15px/1 var(--font-body); text-decoration: none; cursor: pointer; transition: transform .15s var(--ease), background .15s, border-color .15s; }
.btn:hover { border-color: var(--text); }
.btn:active { transform: translateY(1px); }
.btn-signal { background: var(--signal); border-color: var(--signal); color: var(--signal-ink); }
.btn-signal:hover { background: #ff7440; border-color: #ff7440; }

/* diff lines */
.diff-add { color: var(--add); }
.diff-add::before { content: '+ '; }
.diff-del { color: var(--del); text-decoration: line-through; text-decoration-color: rgba(255,59,92,.4); }
.diff-del::before { content: '- '; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* LIVE tag on the wordmark */
.wm-live { display: inline-block; margin-left: .32em; padding: .18em .38em .14em; border-radius: 3px; background: var(--del); color: #fff; font-family: var(--font-mono); font-weight: 700; font-size: .36em; letter-spacing: .12em; line-height: 1; vertical-align: .9em; text-transform: uppercase; font-variation-settings: normal; }
