html,body.tv-mode-page{
    width:100%;
    min-width:100%;
    height:100%;
    min-height:100%;
    margin:0;
    overflow:hidden;
    background:#000;
}
body.tv-mode-page{
    overscroll-behavior:none;
}
.tv-mode-shell,
.tv-mode-stage{
    width:100vw;
    height:100vh;
    height:100dvh;
    margin:0;
    padding:0;
    background:#000;
}
.tv-mode-stage{
    position:relative;
    overflow:hidden;
}
.tv-mode-stage .player{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    background:#000;
}
.tv-mode-stage .player iframe,
.tv-mode-stage .player video{
    width:100%;
    height:100%;
    object-fit:contain;
    background:#000;
}
.tv-mode-stage .placeholder img{
    background:transparent!important;
}
.tv-mode-stage .tv-overlay,
.tv-mode-stage .tv-continuity{
    z-index:30;
}
.tv-mode-controls{
    position:absolute;
    top:max(12px,env(safe-area-inset-top));
    left:50%;
    z-index:60;
    display:flex;
    gap:8px;
    align-items:center;
    transform:translateX(-50%);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
}
.tv-mode-stage:hover .tv-mode-controls,
.tv-mode-stage.controls-visible .tv-mode-controls,
.tv-mode-controls:focus-within{
    opacity:1;
    pointer-events:auto;
}
.tv-mode-control{
    width:auto;
    min-width:0;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:4px;
    background:rgba(12,12,16,.82);
    color:#fff;
    font:700 12px Arial,sans-serif;
    letter-spacing:.05em;
    white-space:nowrap;
    backdrop-filter:blur(5px);
}
.tv-mode-control:hover{
    color:#fff;
    background:rgba(38,38,46,.94);
    transform:none;
}
.tv-mode-primary{
    background:#ffcf12;
    color:#111;
    border-color:#ffcf12;
}
.tv-mode-primary:hover{
    color:#111;
    background:#ffe05a;
}
@media(max-width:700px){
    .tv-mode-controls{
        left:10px;
        right:10px;
        transform:none;
        justify-content:center;
        flex-wrap:wrap;
    }
    .tv-mode-control{
        font-size:10px;
        padding:8px 9px;
    }
}
