.player-guide, .game-fallback {
  color-scheme: light;
  color: #1b3451;
  background: #f2f6fb;
  font: 16px/1.65 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.player-guide { border-top: 1px solid #dde6f1; }
.player-guide-inner, .game-fallback { max-width: 840px; margin: 0 auto; padding: 40px 24px; }
.player-guide h2 { margin: 0 0 14px; font-size: 27px; font-weight: 700; line-height: 1.25; }
.player-guide h3 { margin: 0 0 12px; font-size: 19px; font-weight: 650; line-height: 1.4; }
.player-guide p { margin: 0 0 20px; }
.player-guide section { margin-top: 28px; }
.player-guide ol { list-style: decimal; margin: 0 0 16px; padding-left: 24px; }
.player-guide li + li { margin-top: 8px; }
.player-guide a, .game-fallback a { color: #1c68bd; text-decoration: underline; text-underline-offset: 3px; }
.player-guide a:focus-visible, .game-fallback a:focus-visible { outline: 3px solid #df9824; outline-offset: 4px; }
.player-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.player-guide-card { background: white; padding: 22px; border: 1px solid #dde6f1; border-radius: 19px; }
.player-guide-card p { margin: 0; }
.player-guide-links { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 28px; }
.game-fallback h1 { font-size: 36px; line-height: 1.2; font-weight: 700; }
#root:has(.game-fallback) { min-height: auto; }
/* Keep the readable overview on the home screen, outside the play surface. */
#root:has([data-game-phase]:not([data-game-phase='menu'])) ~ .player-guide,
#root:has([data-menu-screen]:not([data-menu-screen='home'])) ~ .player-guide { display: none; }
@media (max-width: 720px) {
  .player-guide-grid { grid-template-columns: 1fr; gap: 0; }
  .player-guide-inner, .game-fallback { padding: 30px 20px; }
}
