html, body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
            background-color: white;
            overflow: hidden;
        }

        #warning {
            position: absolute;
            top: 100px;
            left: 100px;
            max-width: 830px;
            z-index: 100;
            background-color: white;
            font-size: initial;
            display: none;
        }
        #warning li {
            padding-bottom: 15px;
        }

        #warning span.code {
            font-family: monospace;
        }

        ul {
            margin-top: 0;
            margin-bottom: 15px;
        }

        #footer {
            position: fixed;
            bottom: 0;
            width: 100%;
            z-index: 1000;
            background-color: white;
            font-size: initial;
        }

        #close {
            position: absolute;
            top: 0;
            right: 10px;
            cursor: pointer;
        }

        /* Base: free layout (for phones / narrow) */
        #composeApp {
            width: 100%;
            height: 100%;
            aspect-ratio: none;
        }

        /* On wider viewports (landscape or desktop), simulate portrait width */
        @media (min-aspect-ratio: 3/2) {
        /* meaning viewport is at least 1.5× wider than tall — so wide */
            #composeApp {
                max-width: 500px;      /* your simulated phone width */
                width: 100%;            /* shrink down if needed */
                height: auto;           /* let height scale */
                aspect-ratio: 9 / 21;    /* enforce your phone’s W:H ratio */
                margin: 0 auto;         /* center horizontally */
                height: 100%;
            }
        }