.character-placeholder {
    display: grid;
    position: absolute;
    inset: 0;
    place-items: center;
    color: #f0c9ae;
    font-size: 2rem;
}

.character.has-image::after,
.character.has-image .character-placeholder {
    display: none;
}

.reduced-motion *,
.reduced-motion *::before,
.reduced-motion *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

@media (min-width: 641px) {
    .game-shell { display: grid; place-items: center; }
    .stage { width: min(100vw, 177.778vh); height: auto; min-height: 0; aspect-ratio: 16 / 9; }
}

@media (max-width: 640px) {
    .stage { width: 100%; min-height: 100svh; }
}
