/* Écran TV : la scène occupe tout l'écran en 16:9, bandes noires si besoin. */
* { box-sizing: border-box; }

html, body {
    margin: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #000;
}

.viewport {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    container-type: size;
}

.viewport .tv-stage {
    width: min(100cqw, calc(100cqh * 16 / 9));
    aspect-ratio: 16 / 9;
}

/* Curseur masqué après quelques secondes d'inactivité. */
body.idle, body.idle * { cursor: none !important; }
