/* Site/menu theme only. Tim's 3D lighting, models and combat remain authored. */
:root, :root[data-theme="light"] {
  color-scheme: light;
  --bg: #f4f1eb; --card: #fffdf8; --text: #242039; --muted: #655e72; --accent: #77521a;
  --kb-line: #9d91ae; --kb-button: #eee8f4; --kb-primary: #563274; --kb-on-primary: #fff;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #1a1a2e; --card: #2b2b40; --text: #f0f0f5; --muted: #bab3c7; --accent: #ffd54d;
  --kb-line: #706181; --kb-button: #222033; --kb-primary: #ffd54d; --kb-on-primary: #242039;
}
.overlay-card, .hud-panel { background: var(--card); border-color: var(--kb-line); color: var(--text); }
.overlay-title, .overlay-title.victory, .overlay-title.defeat {
  color: var(--text); background: none; -webkit-text-fill-color: currentColor; text-shadow: none;
}
.overlay-sub { color: var(--muted); }
.overlay-sub strong { color: var(--text); }
.pick-btn, kbd { background: var(--kb-button); color: var(--text); border-color: var(--kb-line); }
.pick-btn:hover { background: var(--card); }
.overlay-btn.primary { background: var(--kb-primary); color: var(--kb-on-primary); border-color: var(--kb-primary); }
.overlay-btn.primary:hover { filter: brightness(1.1); background: var(--kb-primary); }
.overlay-btn.ghost { color: var(--text); border-color: var(--kb-line); }
.overlay-btn.ghost:hover { background: var(--kb-button); }
.kb-brand { color: var(--text); background: none; -webkit-text-fill-color: currentColor; }
#kb-rotate { background: var(--bg); color: var(--text); }
.rs-game-nav {
  position: fixed; z-index: 60; top: max(4px, env(safe-area-inset-top)); left: max(8px, env(safe-area-inset-left));
  display: flex; gap: 6px; padding: 4px; border-radius: 8px; background: var(--card); border: 1px solid var(--kb-line);
}
.rs-game-nav a, .rs-game-nav button {
  display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  min-height: 44px; min-width: 44px; padding: 5px 9px; border: 1px solid var(--kb-line); border-radius: 5px;
  font: 600 12px/1.2 system-ui, sans-serif; text-decoration: none; white-space: nowrap; cursor: pointer;
  background: var(--kb-button); color: var(--text);
}
/* One stable navigation row outside the arena; pausing never moves Game home. */
#game-wrap { top: max(64px, calc(env(safe-area-inset-top) + 60px)); }
#kb-rotate { top: max(64px, calc(env(safe-area-inset-top) + 60px)); }
#kb-top button { width: 44px; height: 44px; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .overlay, .overlay-card, .pick-btn, .overlay-btn, #kb-rotate svg { animation: none; transition: none; }
}
