@container gameContainer (aspect-ratio <= 1/1) {
    .game-container .game {
        width: 100cqw;
        height: calc(3 / 4 * 100cqw);
        z-index: 10;
    }

    /********************************************/

    .game-container .controls {
        width: 100cqw;
        height: calc(100cqh - (3 / 4 * 100cqw));
        position: absolute;
        bottom: 0;
        container-type: size;
        container-name: controls;
        z-index: 100;
    }

    /* Portrait */
    @container controls (aspect-ratio <= 4/3) {
        .game-container .controls .zone {
            position: absolute;
            top: -2cqw;
            left: 3cqw;
            width: 50cqw;
            height: 50cqw;
            display: grid;
            grid-template-columns: 50% 50%;
            grid-template-rows: 50% 50%;
            transform: rotate(67deg);
        }

        .game-container .controls .button {
            position: absolute;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .game-container .controls .button.button-a {
            right: 2cqw;
            top: 32cqw;    
            border-radius: 100%;
            width: 18cqw;
            height: 18cqw;
            font-size: 8cqw;
        }

        .game-container .controls .button.button-b {
            right: 17cqw;
            top: 45cqw;    
            border-radius: 100%;
            width: 18cqw;
            height: 18cqw;
            font-size: 8cqw;
        }

        .game-container .controls .button.button-select {
            left: 45cqw;
            bottom: 6cqw;
            width: 18cqw;
            height: 12cqw;
            border-radius: 1cqw;
            font-size: 4cqw;
        }

        .game-container .controls .button.button-start {
            left: 66cqw;
            bottom: 6cqw; 
            width: 18cqw;
            height: 12cqw;
            border-radius: 1cqw;
            font-size: 4cqw;
        }
    }

    /* Landscape */
    @container controls (aspect-ratio > 4/3) {
        .game-container .controls .zone {
            position: absolute;
            top: 10cqh;
            left: 2cqw;
            width: 80cqh;
            height: 80cqh;
            display: grid;

            grid-template-columns: 50% 50%;
            grid-template-rows: 50% 50%;

            transform: rotate(45deg);
        }

        .game-container .controls .button {
            position: absolute;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .game-container .controls .button.button-a {
            right: 2cqh;
            top: 42cqh;    
            border-radius: 100%;
            width: 25cqh;
            height: 25cqh;
            font-size: 12cqh;
        }

        .game-container .controls .button.button-b {
            right: 29cqh;
            top: 52cqh;    
            border-radius: 100%;
            width: 25cqh;
            height: 25cqh;
            font-size: 12cqh;
        }

        .game-container .controls .button.button-select {
            left: calc(50cqw - 37cqh);
            top: 70cqh;    
            width: 36cqh;
            height: 24cqh;
            border-radius: 1cqh;
            font-size: 4cqh;
        }

        .game-container .controls .button.button-start {
            left: calc(50cqw + 1cqh);
            top: 70cqh;    
            width: 36cqh;
            height: 24cqh;
            border-radius: 1cqh;
            font-size: 4cqh;
        }
    }
}