body { position: relative; isolation: isolate; }
.world-backdrop { z-index: 0; overflow: hidden; background: #0b0e12 url('assets/video/new-horizons-poster.jpg') center center / cover no-repeat; }
.world-backdrop video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 48% center; opacity: 0; transition: opacity .5s ease; }
.world-backdrop video.is-playing { opacity: 1; }
.world-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,#05080c66 0%,#070a10a8 45%,#050608dc 100%),radial-gradient(ellipse at 50% 12%,transparent 15%,#0204078c 100%); }
.class-selection { position: relative; z-index: 1; }
.intro-copy p, .hall-heading h2 { color: #e0d6bd; text-shadow: 0 2px 6px #000; }
.game-logo { filter: drop-shadow(0 4px 12px #000a); }
.cinematic-controls { position: fixed; top: 36px; left: 40px; z-index: 4; display: flex; gap: 8px; }
.cinematic-controls .wow-button { width: 112px; min-width: 0; min-height: 34px; padding: 6px 10px; font-size: 11px; white-space: nowrap; cursor: pointer; }
.cinematic-sound[aria-pressed="true"] { outline-color: #e4bd6f; box-shadow: 0 0 8px #e4bd6f44; }
.cinematic-source { color: #bbb09b; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.page-footer { text-shadow: 0 1px 4px #000; }
@media (max-width: 720px) { .world-backdrop { background-position: 46% center; } .world-backdrop::after { background: linear-gradient(180deg,#05080c77,#05080bdc 75%); } .cinematic-controls { top: max(16px,env(safe-area-inset-top)); left: 16px; } .cinematic-controls .wow-button { width: 80px; padding-inline: 4px; } .cinematic-controls .cinematic-sound { width: 104px; } }
@media (prefers-reduced-motion: reduce) { .world-backdrop video { transition: none; } }

@media (max-width: 720px) { .intro { padding-top: 58px; } }
