/* Route-local polish: this file intentionally affects only /game/. */
.game-shell,
.game-shell > canvas,
.game-shell > .topbar,
.game-shell > .mission-config,
.game-shell > .objectives,
.game-shell > .stage-card,
.game-shell > .actions,
.game-shell > .seasonal-job-board,
.game-shell > .feel-hud {
  contain: layout paint;
}

#application-canvas {
  contain: strict;
  transform: translateZ(0);
}

.loading__brand {
  display: block;
  width: clamp(4.5rem, 18vw, 7rem);
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 0 20px rgba(185, 255, 86, .18));
}

.brand-lockup__logo {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  object-fit: contain;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .28));
}

@media (max-width: 780px) {
  .brand-lockup { gap: .55rem; padding: .55rem .7rem; }
  .brand-lockup__logo { width: 34px; height: 34px; border-radius: 9px; }
  .brand-lockup small { letter-spacing: .06em; font-size: .52rem; }
  .brand-lockup strong { font-size: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
  #application-canvas { transform: none; }
}

@keyframes feel-check-pop {
  0% { transform: scale(.2); opacity: 0; }
  60% { transform: scale(1.18); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

.completion-check {
  animation: feel-check-pop .55s cubic-bezier(.34, 1.56, .64, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  .completion-check { animation: none; }
}
