/* ══════════════════════════════════════════════════════════════
   IBIZA THEME — derecknoom.com shared design tokens
   Gedeeld door alle apps (hangman, rtc, todo, file, etc.)
   Bevat alleen kleur/variabelen + basis body-styling.
   App-specifieke component-CSS blijft in de eigen index.html.
   ══════════════════════════════════════════════════════════════ */

:root {
  --bg: #0c0c0f;
  --surface: #141418;
  --border: #222228;
  --accent: #e8ff47;
  --accent-text: #0c0c0f;
  --text: #f0f0f0;
  --muted: #555560;
  --green-bg: #0a1a0a;
  --green-text: #4ade80;
  --green-border: #1a3a1a;
  --red-bg: #1a0a0a;
  --red-text: #f87171;
  --red-border: #3a1a1a;
  --orange-text: #fb923c;
  --radius: 14px;
  --radius-sm: 10px;

  /* ── Uitgebreide schaal, t.b.v. derecknoom.com hoofdpagina ──
     Optioneel voor andere apps; geen breaking change, want dit
     zijn nieuwe tokens, geen herdefinities van bestaande. */
  --bg-2: #100e09;
  --bg-3: #171410;
  --bg-card: #0a0905;
  --bg-light: #1c1813;
  --text-2: #d0c09a;
  --text-3: #b0a080;
  --text-4: #968a6a;
  --text-5: #4e4036;
  --gold: #c8a464;
  --gold-dim: #9a7840;
  --blue: #6aaecc;
  --blue-dim: #4a8aaa;
  --line: #201d16;
  --line-2: #2d2922;

  /* ── modal-mini tokens, t.b.v. mini-modal.css (todo, en herbruikbaar) ──
     Afgeleid van de basis-tokens hierboven, geen losse hex-duplicatie. */
  --accent-dim: #b8cc38;
  --overlay: rgba(0, 0, 0, 0.55);
  --modal-bg: var(--surface);
  --modal-text: var(--text);
  --modal-text-muted: var(--muted);
  --modal-border: var(--border);
  --modal-head-bg: var(--bg);
  --modal-hover: rgba(255, 255, 255, 0.06);
  --modal-handle: var(--border);
  --modal-shadow: 0 -8px 30px rgba(0, 0, 0, 0.5);
}

body.day {
  --bg: #eeebe3;
  --surface: #ffffff;
  --border: #c8c4ba;
  --text: #1a1a1a;
  --muted: #6a6a60;
  --accent: #1a1a1a;
  --accent-text: #ffffff;
  --green-bg: #c8e8a8;
  --green-text: #245206;
  --green-border: #5a9a28;
  --red-bg: #f5cccc;
  --red-text: #7a1010;
  --red-border: #cc5555;
  --orange-text: #8a3800;

  /* ── Uitgebreide schaal, dag-variant ── */
  --bg-2: #ede4d3;
  --bg-3: #e2d5be;
  --bg-card: #f5f0e8;
  --bg-light: #faf7f0;
  --text-2: #3d3224;
  --text-3: #5e4f3a;
  --text-4: #7e6e58;
  --text-5: #9e8e78;
  --gold: #a8722e;
  --gold-dim: #7d531f;
  --blue: #336e96;
  --blue-dim: #254f6e;
  --line: #d9ccb5;
  --line-2: #c4b49a;

  /* ── modal-mini tokens, dag-variant ── */
  --accent-dim: #3a3a3a;
  --overlay: rgba(0, 0, 0, 0.35);
  --modal-bg: var(--surface);
  --modal-text: var(--text);
  --modal-text-muted: var(--muted);
  --modal-border: var(--border);
  --modal-head-bg: var(--bg);
  --modal-hover: rgba(0, 0, 0, 0.05);
  --modal-handle: var(--border);
  --modal-shadow: 0 -8px 30px rgba(0, 0, 0, 0.15);
}

/* ── Generic day-mode overrides voor veelgebruikte componenten ──
   Apps die deze classes gebruiken (.badge, .slot, .topbar, .mode-card,
   .conn-badge, .rps-btn, .result-banner, .btn-ghost, .wrong-count)
   krijgen de override gratis. App-specifieke classes die hier niet
   instaan, regel je lokaal in de app zelf. */
body.day input[type="text"] {
  background: #e4e1d8;
  border-color: #b0aca2;
}

body.day .badge {
  background: #e4e1d8;
  border-color: #b0aca2;
  color: #444;
}

body.day .badge.wrong {
  background: #f5cccc;
  color: #7a1010;
  border-color: #cc5555;
}

body.day .badge.right {
  background: #c8e8a8;
  color: #245206;
  border-color: #5a9a28;
}

body.day .slot {
  border-color: #666;
}

body.day .slot.revealed {
  color: #245206;
  border-color: #5a9a28;
}

body.day .slot.missed {
  color: #8a3800;
  border-color: #c06030;
}

body.day .topbar {
  background: #ffffff;
  border-color: #c8c4ba;
}

body.day .mode-card {
  border-color: #c8c4ba;
  background: #ffffff;
}

body.day .conn-badge {
  border-color: #b0aca2;
  color: #555;
  background: #e4e1d8;
}

body.day .conn-badge.connected {
  color: #245206;
  background: #c8e8a8;
  border-color: #5a9a28;
}

body.day .rps-btn {
  border-color: #b0aca2;
  background: #f4f1ea;
}

body.day .rps-btn.chosen {
  border-color: #444;
  background: #e4e1d8;
}

body.day .result-banner.win {
  background: #c8e8a8;
  color: #245206;
}

body.day .result-banner.lose {
  background: #f5cccc;
  color: #7a1010;
}

body.day .btn-ghost {
  border-color: #b0aca2;
}

body.day .wrong-count {
  color: #7a1010;
}

/* ── Mode toggle button (topbar) ── */
.mode-toggle {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--accent);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  color: var(--accent-text);
  font-size: 15px;
}

/* ── Base body styling ──
   visibility:hidden voorkomt een flits van het verkeerde thema
   voordat ibiza-theme.js de juiste mode heeft bepaald.
   ibiza-theme.js zet body.style.visibility weer op "visible". */
html,
body {
  /* height: 100%; */
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
  visibility: hidden;
}