#tvShortcut{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:9;background:#3a6b4a;color:#eafff0}
#tvSetVideo,#tvStopVideo,#tvCinemaToggle{position:absolute;left:50%;transform:translateX(-50%);z-index:9;background:#2e4d63;color:#eaf3ff}
#tvSetVideo{bottom:56px}#tvStopVideo{bottom:94px}#tvCinemaToggle{bottom:132px;background:#4a3a63;color:#f1e9ff}
#tvShortcut[hidden],#tvSetVideo[hidden],#tvStopVideo[hidden],#tvCinemaToggle[hidden]{display:none}
/* Dark, cozy full-screen viewing mode — a big 16:9 screen instead of the small in-wall one. Purely
   a local preference (tv.js keeps it unsynced), so it never affects what others in the room see. */
#tvCinema{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#241318 0%,#05030a 70%)}
#tvCinema[hidden]{display:none}
#tvCinemaScreen{width:min(50vw,900px);aspect-ratio:16/9;background:#000;border-radius:6px;box-shadow:0 0 0 10px #1c1014,0 0 0 14px #3a2530,0 30px 80px #000c;overflow:hidden}
#tvCinemaScreen iframe{display:block;width:100%;height:100%;border:0}
#tvCinemaExit{position:absolute;top:20px;right:20px;z-index:401;background:#5a2e33;color:#ffe3d8}
@media(pointer:coarse) and (orientation:portrait){#tvCinemaScreen{width:92vw}}
/* Tracked in world coordinates by tv.js (fixed to the viewport, position/size set every frame in
   JS) so the video sits exactly inside the TV's drawn black screen — no border/background of its
   own, since the drawn bezel around it is already part of the room art. */
#tvScreen{position:fixed;z-index:8;pointer-events:auto}
#tvScreen[hidden]{display:none}
#tvScreen iframe{display:block;width:100%;height:100%;border:0}
