/* Echo Cave alone: a cave-dark studio page with a readable resting state. */
.game-page.theme-echo {
  --page: #04080b;
  --panel: #0a1217;
  --ink: #e9efee;
  --accent: #b5d2d1;
  --secondary: #b9cbca;
  color-scheme: dark;
  background: var(--page);
}
.theme-echo .intro { color: #d0dcdb; }
.theme-echo .muted,
.theme-echo .game-notes p { color: #bacac8; opacity: 1; }
.theme-echo .game-intro-art { background: #030607; border-color: #53696b; }
.theme-echo .badge { border-color: #708485; }
.theme-echo .game-back,
.theme-echo .game-stage,
.theme-echo .game-media figcaption,
.theme-echo footer { color: #bbccca; }
.theme-echo .button.lime { box-shadow: 4px 4px 0 #405858; }
.theme-echo .button.lime:hover { box-shadow: 6px 6px 0 #405858; }
.theme-echo .header nav a:hover,
.theme-echo .footer-brand span { color: var(--accent); }
.theme-echo .icon-button:hover { border-color: var(--accent); }
.theme-echo .contact { background: #0a1418; color: var(--ink); border-top: 1px solid #385054; }
.theme-echo .contact .eyebrow { color: var(--secondary); }
.theme-echo .contact h2 span { color: #0a1418; -webkit-text-stroke-color: var(--accent); }
.theme-echo .contact-row > a { border-color: var(--accent); }
.theme-echo :is(a, button, video):focus-visible { outline-color: #d6e9ce; }

/* Never intercept pointer input, obscure controls with a hit target or affect layout. */
.theme-echo .echo-atmosphere {
  position: fixed;
  inset: 0;
  z-index: 4;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  pointer-events: none !important;
  user-select: none;
  contain: strict;
}
.theme-echo .echo-atmosphere[hidden] { display: none !important; }
/* The existing header (z-index 5) and skip link remain above the decoration. */
@media (prefers-reduced-motion: reduce), (prefers-contrast: more), (forced-colors: active) {
  .theme-echo .echo-atmosphere { display: none !important; }
}
@media print {
  .theme-echo .echo-atmosphere { display: none !important; }
}
