body { margin: 0; min-width: 320px; }
.game-brief { max-width: 72rem; margin: 3rem auto 6rem; padding: 0 1.5rem; }
.game-brief nav { margin-bottom: 2rem; }
.hero { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.hero > div:first-child { max-width: 42rem; }
.hero h1 { font: 600 clamp(2.5rem, 5vw, 4rem)/1.1 var(--rs-font-display); margin: 0.5rem 0; }
.eyebrow { font: 0.85rem var(--rs-font-mono); letter-spacing: 0.08em; }
.play-entry { flex: 0 1 20rem; }
.play-link { display: inline-block; padding: 1rem 1.3rem; background: var(--rs-ink); color: var(--rs-paper); border-radius: 4px; font-weight: 700; text-decoration: none; }
.game-brief details { margin-top: 3rem; border-top: 1px solid var(--rs-line); padding-top: 1.5rem; }
.game-brief summary { cursor: pointer; font-weight: 700; }
.game-brief section { margin: 2rem 0; }
.game-brief p { max-width: 74ch; line-height: 1.65; }
.game-brief h2 { font-family: var(--rs-font-display); }
.game-brief dt { font-weight: 700; margin-top: 1rem; }
.game-brief dd { margin: 0.35rem 0; }
.player-page { min-height: 100dvh; display: flex; flex-direction: column; }
.player { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.player-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 1rem; padding: 0.3rem 1rem; background: var(--rs-paper); border-bottom: 1px solid var(--rs-line); }
.player-nav h1 { font: 600 1.15rem var(--rs-font-display); margin: 0 auto 0 0; }
.player-nav a, .player-nav button { font-size: 1rem; min-height: 44px; display: inline-flex; align-items: center; }
.player-nav button { padding: 0.3rem 0.8rem; border: 1px solid var(--rs-line); border-radius: 4px; background: var(--rs-paper); color: var(--rs-ink); cursor: pointer; }
.player iframe { display: block; flex: 1; width: 100%; height: calc(100dvh - 150px); min-height: 600px; border: 0; background: #090f19; }
.player:fullscreen { height: 100dvh; background: #090f19; }
.player:fullscreen iframe { height: 100%; min-height: 0; }
.player:fullscreen .player-nav { position: absolute; z-index: 10; top: 8px; left: 50%; transform: translateX(-50%); padding: 0; border: 0; border-radius: 4px; }
.player:fullscreen .player-nav > :not(#fullscreen) { display: none; }
.fullscreen-status:empty { display: none; }
.fullscreen-status { margin: 0.4rem 1rem; }
@media (max-width: 700px) {
  .hero { display: block; }
  .game-brief { margin-top: 1.5rem; }
  .player-nav { gap: 0.3rem 0.65rem; }
}
