body {
    margin: 0;
    padding: 0;
    color: #efe7ff;
    background-color: #0c0518;
    overscroll-behavior-y: contain;
    touch-action: none;
}

#app {
    width: 100%;
    /* Cascade oldest -> best (new-games.md sec 2): svh is the smallest guaranteed area so the
       whole board always fits with the mobile toolbar up; worst case is a little letterbox. */
    height: 100vh;
    height: 100dvh;
    height: 100svh;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Give Phaser's Scale.FIT a concrete parent box to measure (the visible viewport). */
#game-container {
    width: 100%;
    height: 100%;
}

#game-container canvas {
    display: block;
}
