/* Phase 2 route CSS: individual game shell only. */
@import url("./game-container.css");
@import url("./game-responsive.css");

/* `contain: strict` implies `size` containment, which forces the element to
   size independently of its content. Combined with `100dvh` on mobile Safari
   this triggers invisible clipping of the game viewport when the dynamic
   address bar collapses. `layout paint` keeps the isolation we need for the
   GPU-composited canvas without the size-containment clip bug. */
.game-shell,
.game-container,
#game-container,
canvas.game-canvas {
  contain: layout paint;
}

.game-hud,
.game-overlay,
.mobile-controls {
  contain: layout paint style;
}
