:root{color-scheme:dark;--bg:#050510;--panel:#0b0d16;--edge:#303146;--text:#fff;--muted:#b9b9c7;--pink:#ff70d9;--amber:#ffcc66}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#000;color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
button,input{font:inherit}
button{cursor:pointer;color:var(--text);background:#171925;border:1px solid #55566b;border-radius:4px;padding:.6rem .75rem;touch-action:manipulation}
button:hover{border-color:var(--pink)}
button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
button.primary{background:#4a173e;border-color:var(--pink);font-weight:800}
[hidden]{display:none!important}
.topbar{height:56px;display:flex;align-items:center;gap:1rem;padding:0 1rem;background:#050510;border-bottom:1px solid var(--edge)}
.brand{font-weight:1000;letter-spacing:.08em;color:#fff;text-decoration:none;font-size:1.5rem}.brand span{color:var(--pink)}
.section-mark{font-weight:800;letter-spacing:.1em;font-size:.8rem;color:var(--amber);margin-right:auto}
.led{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f24b58;margin-right:.45rem;vertical-align:middle;box-shadow:0 0 5px #f24b58}
.topbar button{font-size:.72rem;font-weight:800;letter-spacing:.06em;padding:.35rem .5rem}
main{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,365px);min-height:calc(100vh - 56px)}
.broadcast{min-width:0;background:#000;display:flex;flex-direction:column;justify-content:center}
.video-shell{position:relative;width:100%;aspect-ratio:16/9;background:#000;max-height:calc(100vh - 120px)}
#player,#player iframe{display:block;width:100%;height:100%;border:0}
#player,#player iframe{pointer-events:none}
.start-strip{display:flex;justify-content:center;background:#080914}
.play-gate{background:#2d1530;border:2px solid var(--pink);font-weight:800;padding:.7rem 1.2rem;margin:.6rem;white-space:nowrap}
.antenna-overlay{padding:.65rem .9rem;background:#080912;border-left:5px solid var(--pink);font-weight:700}
.antenna-overlay span{display:block;color:var(--amber);font-size:.7rem;letter-spacing:.15em}
.antenna-overlay strong{display:block;font-size:clamp(1rem,2.4vw,2rem)}
.antenna-overlay small{display:block;font-weight:500;margin-top:.2rem}
.program-strip{border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);background:#080914;padding:.7rem 1rem;display:flex;gap:2rem;min-height:64px}
.now{flex:2;min-width:0}.next{flex:1;min-width:0}.program-strip strong,.program-strip small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.program-strip strong{font-size:.85rem}.program-strip small{font-size:.72rem;color:var(--muted)}
.tag{font-family:ui-monospace,Consolas,monospace;color:var(--amber);font-size:.68rem;font-weight:900;letter-spacing:.08em}
#mobileRequestBtn{display:none;align-self:center;font-size:.7rem;font-weight:800;white-space:nowrap}
.presence-label{margin-top:.45rem!important;color:var(--amber)!important}
.countries-label{margin-top:.25rem!important;line-height:1.55;overflow-wrap:anywhere}
.console{background:linear-gradient(#080913,#030308);border-left:2px solid var(--edge);padding:1rem;overflow-y:auto;max-height:calc(100vh - 56px)}
.console-head{border-bottom:1px solid var(--edge);padding-bottom:.9rem}.eyebrow{color:var(--pink);font:700 .68rem ui-monospace,Consolas,monospace;letter-spacing:.17em}
h1{font-size:1.35rem;line-height:1.2;margin:.5rem 0}h1 em{font-style:normal;color:var(--amber)}.console-head p{font-size:.75rem;color:var(--muted);margin:0}
.panel{margin-top:1rem;padding:.8rem;background:var(--panel);border:1px solid var(--edge);border-radius:6px}
.panel h2{font-size:.8rem;color:var(--amber);letter-spacing:.06em;margin:0 0 .7rem;font-weight:850}
.search-label,.request-form label{font-size:.72rem;color:var(--muted);display:block;margin:.5rem 0 .3rem}
input{width:100%;color:white;background:#050510;border:1px solid #5c5d73;border-radius:4px;padding:.65rem}
.quick{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.65rem}.quick button{font:700 .65rem ui-monospace,Consolas,monospace;min-height:38px;padding:.35rem}
.minor{font-size:.72rem;color:var(--muted);margin:.7rem 0}
.result{display:flex;gap:.5rem;align-items:center;border-top:1px solid #25263a;padding:.55rem 0}.result .track{flex:1;min-width:0}.result strong,.result small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result strong{font-size:.77rem}.result small{font-size:.67rem;color:var(--muted)}.result button{font-size:.67rem;font-weight:800;white-space:nowrap}
.request-form strong{display:block;font-size:.9rem}.actions{display:flex;gap:.4rem;margin-top:.7rem}.actions button{font-size:.69rem}
.queue,#history{list-style:none;padding:0;margin:0}.queue li,#history li{font-size:.76rem;border-top:1px solid #27283b;padding:.42rem 0}.queue .num{color:var(--pink);font:800 .72rem ui-monospace,Consolas,monospace;margin-right:.5rem}
.my-status{margin-top:.7rem;padding:.6rem;color:var(--amber);font-weight:800;font-size:.75rem;border:1px solid #755c2b;background:#20170c}
.reaction-list{display:flex;flex-wrap:wrap;gap:.35rem}.reaction-list button{font-size:.8rem;min-width:3.2rem;padding:.4rem}.reaction-list button[aria-pressed="true"]{border-color:var(--pink);background:#3d1938}
.vote-options,.recommendations{display:grid;gap:.35rem}.vote-options button,.recommendations button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:.5rem;font-size:.74rem;min-height:2.5rem}.vote-options button[aria-pressed="true"]{border-color:var(--pink);background:#3d1938}.vote-options small{color:var(--amber);white-space:nowrap}
.stats-panel summary{cursor:pointer;color:var(--amber);font-size:.8rem;font-weight:850}.stats-panel ol{list-style:none;padding:0;margin:0}.stats-panel li{font-size:.72rem;border-top:1px solid var(--edge);padding:.35rem 0}
.archive-nav{display:flex;flex-wrap:wrap;gap:.45rem}.archive-nav h2{flex-basis:100%;margin-bottom:.2rem}.archive-nav a{font-size:.72rem;color:var(--amber);border:1px solid var(--edge);padding:.4rem .55rem;border-radius:4px;text-decoration:none}.archive-nav a:hover{border-color:var(--pink)}
.broadcast.clip-change .program-strip{animation:channelChange .55s ease-out 1}@keyframes channelChange{0%{border-top-color:var(--pink);background:#32102b}100%{border-top-color:var(--edge);background:#080914}}
.message{min-height:1.3em;color:var(--amber);font-size:.75rem}
body.tv-idle .controls{opacity:0;pointer-events:none}body.tv-idle .video-shell{max-height:100vh}body.tv-idle .broadcast{position:fixed;inset:0;z-index:10}body.tv-idle .console{display:none}
body.eco .antenna-overlay{background:#080912}
@media(max-width:850px){main{display:block}.broadcast{min-height:0}.video-shell{max-height:none}.console{border-left:0;border-top:2px solid var(--edge);max-height:none}.program-strip{gap:.6rem}.next{flex:1}.now{flex:1}#mobileRequestBtn{display:block}h1{font-size:1.2rem}}
@media(max-width:480px){.topbar{gap:.45rem;padding:0 .5rem}.section-mark{font-size:.61rem}.topbar button{font-size:.58rem;padding:.3rem}.program-strip{padding:.5rem}.next{max-width:45%}.play-gate{font-size:.75rem;padding:.7rem}}
@media(max-width:480px){#mobileRequestBtn{font-size:.62rem;padding:.4rem}.program-strip{gap:.35rem}.program-strip strong{font-size:.72rem}}
body.eco .broadcast.clip-change .program-strip{animation:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* V80 on-air layout: video first, controls in a temporary studio drawer. */
html,body{height:100%;overflow:hidden}
body{--studio-red:#ff314f;--studio-cyan:#00d2ff;--studio-gold:#ffcc66;background:#000}
main{display:block;min-height:100svh}
.broadcast{position:fixed;inset:0;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:#000}
.video-shell{width:min(100vw,177.77778svh);height:min(100svh,56.25vw);max-height:none;aspect-ratio:16/9;margin:auto}
.topbar{position:fixed;z-index:30;top:0;left:0;right:0;height:64px;padding:0 clamp(.65rem,2vw,1.6rem);border:0;background:linear-gradient(180deg,rgba(2,2,8,.88),rgba(2,2,8,.32) 78%,transparent);gap:.8rem}
.topbar::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--studio-red),transparent 48%,var(--studio-cyan));opacity:.5;pointer-events:none}
.topbar button,.menu-trigger{border:1px solid #6a607a;background:rgba(8,8,19,.82);box-shadow:0 2px 12px #0008}
.menu-trigger{font-weight:900;letter-spacing:.08em;white-space:nowrap}
.brand{display:flex;align-items:center;line-height:0;flex:none}
.brand img{display:block;width:70px;height:56px;object-fit:contain;filter:drop-shadow(0 1px 8px #ff34ab66)}
.section-mark{font-size:.75rem;letter-spacing:.13em;color:#fff;text-shadow:0 1px 4px #000,0 0 12px #f3598799}
.section-mark .led{width:9px;height:9px;background:var(--studio-red)}
.start-strip{position:fixed;z-index:25;left:50%;bottom:clamp(94px,13vh,155px);transform:translateX(-50%);padding:0;background:transparent}
.play-gate{background:rgba(24,9,24,.92);border-color:var(--pink);border-radius:7px;padding:.85rem 1.4rem;box-shadow:0 0 22px #ff70d955,0 6px 24px #000}
.program-strip{position:fixed;z-index:25;left:clamp(10px,2vw,28px);right:clamp(10px,2vw,28px);bottom:clamp(10px,2vh,22px);width:auto;min-height:64px;align-items:center;padding:.55rem .85rem;gap:1rem;border:1px solid #9998;border-left:3px solid var(--studio-red);border-radius:7px;background:linear-gradient(90deg,rgba(4,5,14,.9),rgba(4,5,14,.75));box-shadow:0 10px 36px #000b, inset 0 1px #fff2;backdrop-filter:blur(6px)}
.program-strip .tag{color:var(--studio-gold)}
.program-strip strong{font-size:.9rem;text-shadow:0 1px 3px #000}
.program-strip #mobileRequestBtn{display:block;flex:none;border-color:var(--pink);background:#401633;font-size:.77rem;letter-spacing:.03em;font-weight:900;padding:.7rem .9rem}
.program-strip #mobileRequestBtn:hover{background:#5b1c49}
.antenna-overlay{position:fixed;z-index:27;top:clamp(78px,12vh,120px);left:clamp(12px,4vw,58px);max-width:min(620px,80vw);background:linear-gradient(90deg,rgba(4,5,14,.93),rgba(4,5,14,.7));border:1px solid #fff4;border-left:5px solid var(--studio-red);box-shadow:0 8px 30px #0009}
.console-backdrop{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.57)}
.console{position:fixed;z-index:50;top:0;bottom:0;left:0;width:min(420px,calc(100vw - 42px));max-height:none;overflow-y:auto;padding:20px 16px 30px;background:radial-gradient(circle at 14px 100px,rgba(255,49,79,.23),transparent 130px),linear-gradient(180deg,#050510,#020208);border:0;border-right:2px solid #704362;box-shadow:14px 0 45px #000b;transform:translateX(-103%);visibility:hidden;transition:transform .23s ease,visibility .23s}
body.request-open .console{transform:translateX(0);visibility:visible}
.console-head{position:relative;padding-right:2rem}
.console-head h1{font-size:1.48rem;letter-spacing:.015em}
.console-head h1 em{color:var(--studio-gold)}
.console-head .eyebrow{color:var(--pink)}
.console-close{position:absolute;right:0;top:0;width:36px;height:36px;padding:.3rem;font-size:1.15rem}
.panel{background:linear-gradient(145deg,#10121d,#080a12);border-color:#5b425c;box-shadow:inset 0 1px #fff1,0 7px 20px #0004}
.panel h2{color:var(--studio-gold)}
.quick button{min-height:42px}
.result{position:relative;min-height:58px;padding-left:1.5rem}
.result::before{content:"";position:absolute;left:0;top:18px;width:14px;height:14px;border-radius:50%;border:3px solid var(--pink);background:#090b16;box-shadow:0 0 7px #ff70d977}
.result .track strong{font-weight:800}
body.tv-idle .broadcast{z-index:10}
body.tv-idle .video-shell{max-height:none}
body.tv-idle .console{display:block}
body.tv-idle .controls{opacity:0;pointer-events:none}
body.request-open .controls{opacity:1;pointer-events:auto}
body.request-open .topbar{opacity:0;pointer-events:none}
body.request-open .program-strip{opacity:0;pointer-events:none}
body.eco .program-strip{backdrop-filter:none}
@media(max-width:850px){.broadcast{min-height:100svh}.video-shell{max-height:none}.console{border-top:0;border-left:0}.program-strip{gap:.55rem}.program-strip .now{flex:1.3}.program-strip .next{flex:1}}
@media(max-width:600px){.topbar{height:54px;padding:0 .45rem;gap:.4rem}.brand img{width:47px;height:42px}.section-mark{font-size:.59rem;letter-spacing:.04em}.section-mark .led{margin-right:.2rem}.topbar button{font-size:.62rem;padding:.45rem}.program-strip{bottom:7px;left:6px;right:6px;padding:.4rem .5rem;min-height:58px;gap:.35rem}.program-strip .tag{font-size:.57rem}.program-strip strong{font-size:.7rem}.program-strip small{font-size:.58rem}.program-strip .next{display:none}.program-strip #mobileRequestBtn{font-size:.59rem;padding:.55rem .45rem;max-width:36%;white-space:normal}.start-strip{bottom:76px}.play-gate{font-size:.75rem}.antenna-overlay{max-width:calc(100vw - 24px);left:12px;top:64px}}
@media(max-width:420px){.topbar #powerBtn{display:none}.menu-trigger{font-size:.65rem}}

/* V80-style return cue and an opaque broadcast transition above the player. */
.live-return{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:34px;padding:.38rem .65rem;color:#fff;text-decoration:none;white-space:nowrap;font-size:.69rem;font-weight:950;letter-spacing:.055em;border:1px solid #ffcc66a8;border-radius:5px;background:linear-gradient(90deg,#692214,#391326);box-shadow:0 0 13px #ff314f50,0 2px 12px #0009}
.live-return:hover{background:linear-gradient(90deg,#90301d,#591c38);border-color:#ffdc84}
.live-return:focus-visible{outline:3px solid #ffcc66;outline-offset:3px}
.live-return-dot{width:8px;height:8px;border-radius:50%;background:#ff364e;box-shadow:0 0 0 3px #ff314f29,0 0 10px #ff314f;animation:liveReturnBlink 1.1s ease-in-out 3 alternate}
@keyframes liveReturnBlink{from{opacity:.48}to{opacity:1}}
.channel-transition{position:fixed;z-index:100;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:1.5rem;opacity:0;visibility:hidden;pointer-events:none;background:#07030d;overflow:hidden;transition:opacity .42s ease,visibility .42s}
.loading-next .controls,.loading-next .antenna-overlay,.loading-next .console-backdrop{opacity:0!important;pointer-events:none!important}
.channel-transition.on{opacity:1;visibility:visible}
.channel-transition::before{content:"";position:absolute;inset:-25%;opacity:.8;pointer-events:none}
.channel-transition::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff0d 0 1px,transparent 1px 5px);opacity:.35;pointer-events:none}
.channel-transition-line,.channel-transition strong,.channel-transition-sub{position:relative;z-index:1;text-shadow:0 3px 14px #000}
.channel-transition-line{font:900 clamp(.7rem,1.8vw,1rem) ui-monospace,Consolas,monospace;letter-spacing:.25em;color:#ffcc66}
.channel-transition strong{font-size:clamp(1.8rem,6vw,5rem);line-height:1.02;letter-spacing:.04em;color:#fff;text-shadow:3px 0 #ff314f,-3px 0 #00d2ff,0 0 30px #ff3c9b}
.channel-transition-sub{font:800 clamp(.65rem,1.6vw,.95rem) ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#fce6ca}
.channel-transition.variant-vhs{background:linear-gradient(135deg,#06040e,#2b0b2d 55%,#050916)}
.channel-transition.variant-vhs::before{background:repeating-linear-gradient(0deg,#ffffff12 0 2px,transparent 2px 8px)}
.channel-transition.on.variant-vhs::before{animation:transitionScan 1s linear infinite}
.channel-transition.variant-neon{background:radial-gradient(circle at 50% 50%,#9e195a99,transparent 44%),linear-gradient(135deg,#09001d,#07172c)}
.channel-transition.variant-neon::before{background:linear-gradient(105deg,transparent 38%,#ffffff3d 48%,transparent 58%)}
.channel-transition.on.variant-neon::before{animation:transitionSweep 1.4s ease-in-out infinite}
.channel-transition.variant-disco{background:conic-gradient(from 30deg at 50% 55%,#330634,#082c4b,#66371c,#330634)}
.channel-transition.variant-disco::before{background:radial-gradient(circle at 50% 35%,#ffffff4d,transparent 24%)}
.channel-transition.on.variant-disco::before{animation:transitionPulse 1.1s ease-in-out infinite}
.channel-transition.variant-broadcast{background:linear-gradient(90deg,#061827 0 22%,#330d31 22% 44%,#5a1830 44% 66%,#713d16 66% 82%,#061827 82%)}
.channel-transition.variant-broadcast::before{background:linear-gradient(90deg,transparent,#ffffff30,transparent)}
.channel-transition.on.variant-broadcast::before{animation:transitionSweep 1.2s ease-in-out infinite}
/* The same return frame remains visible across navigation to LIVE. */
.channel-transition.return-transition{background:repeating-linear-gradient(0deg,#ffffff0d 0 1px,transparent 1px 5px),linear-gradient(135deg,#06040e,#2b0b2d 55%,#050916)}
.channel-transition.return-transition::before,.channel-transition.return-transition::after,.channel-transition.return-transition .channel-transition-line,.channel-transition.return-transition .channel-transition-sub{display:none}
.channel-transition.return-transition strong{font:900 clamp(1.8rem,6vw,5rem) system-ui,sans-serif;line-height:1.02;letter-spacing:.04em;text-shadow:3px 0 #ff314f,-3px 0 #00d2ff,0 0 30px #ff3c9b}
@keyframes transitionScan{to{transform:translateY(32px)}}
@keyframes transitionSweep{from{transform:translateX(-65%)}to{transform:translateX(65%)}}
@keyframes transitionPulse{50%{transform:scale(1.25);opacity:.45}}

/* The 16:9 player fills a landscape screen after the chrome fades, as on V80. */
body.tv-idle:not(.request-open) .video-shell{width:max(100vw,177.77778svh);height:max(100svh,56.25vw);max-height:none}
@media (orientation:portrait) and (max-width:900px){body.tv-idle:not(.request-open) .video-shell{width:min(100vw,177.77778svh);height:min(100svh,56.25vw)}}
@media(max-width:600px){.topbar{gap:.32rem}.topbar .section-mark{display:none}.live-return{gap:.27rem;padding:.35rem .4rem;font-size:.59rem;min-height:32px}.live-return-dot{width:6px;height:6px}}
@media(prefers-reduced-motion:reduce){.channel-transition,.live-return-dot{animation:none!important;transition:none!important}}

/* A finite V80 lower third carries both clip credits and viewers' dedications. */
.antenna-overlay{top:auto;left:clamp(12px,4vw,58px);bottom:clamp(102px,16vh,150px);z-index:24;display:flex;align-items:center;gap:1rem;width:min(680px,calc(100vw - 24px));max-width:none;min-height:80px;padding:.65rem 1rem;background:linear-gradient(100deg,rgba(5,7,17,.96),rgba(35,10,38,.93) 65%,rgba(52,15,36,.82));border:1px solid #ffffff60;border-left:5px solid #ff314f;border-radius:8px;box-shadow:0 12px 32px #000b,0 0 15px #ff314f3a;opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .35s ease,transform .35s ease}
.antenna-overlay.on{opacity:1;transform:translateY(0)}
.antenna-overlay img{width:74px;height:64px;object-fit:contain;flex:none;filter:drop-shadow(0 0 8px #ff314f55)}
.antenna-overlay .antenna-copy{min-width:0;overflow-wrap:anywhere}
.antenna-overlay .antenna-copy span{display:block;font:900 .68rem ui-monospace,Consolas,monospace;letter-spacing:.15em;color:#ffcc66}
.antenna-overlay .antenna-copy strong{display:block;margin:.12rem 0;font-size:clamp(1rem,2.1vw,1.5rem);line-height:1.2;text-shadow:1px 0 #ff314f,-1px 0 #00d2ff}
.antenna-overlay .antenna-copy small{display:block;font-size:.83rem;color:#f7e7f4}
.antenna-overlay .antenna-copy blockquote{margin:.35rem 0 .1rem;padding-left:.6rem;border-left:2px solid #ffcc66;font-size:.88rem;line-height:1.3;font-weight:650;color:#fff}
.antenna-overlay.request-banner{border-left-color:#ffcc66;background:linear-gradient(100deg,rgba(7,8,19,.98),rgba(49,17,42,.95) 65%,rgba(77,33,27,.87))}
.antenna-overlay.outro-banner{border-left-color:#00d2ff}
body.tv-idle .antenna-overlay{bottom:clamp(20px,5vh,54px)}
body.tv-lite .channel-transition{background:#070811;transition:none}
body.tv-lite .channel-transition::before,body.tv-lite .channel-transition::after{display:none}
body.tv-lite .live-return-dot,body.tv-lite .antenna-overlay,body.tv-lite .antenna-overlay img{animation:none!important;transition:none!important;filter:none;backdrop-filter:none}
body.tv-lite .antenna-overlay{background:#0b0b16;box-shadow:none;transform:none;transition:none!important}
body.tv-lite .antenna-overlay.on{opacity:1;transform:none}
body.tv-lite .program-strip{backdrop-filter:none}
@media(max-width:600px){.antenna-overlay{left:8px;bottom:78px;width:calc(100vw - 16px);min-height:65px;padding:.45rem .55rem;gap:.45rem}.antenna-overlay img{width:47px;height:45px}.antenna-overlay .antenna-copy span{font-size:.55rem}.antenna-overlay .antenna-copy strong{font-size:.9rem}.antenna-overlay .antenna-copy small,.antenna-overlay .antenna-copy blockquote{font-size:.7rem}body.tv-idle .antenna-overlay{bottom:16px}}
@media(prefers-reduced-motion:reduce){.antenna-overlay{animation:none!important;transition:none!important}}

/* Permanent V80 on-air logo and local clock, independent of the fading controls. */
.onair-bug{position:fixed;z-index:28;top:clamp(72px,9vh,96px);right:clamp(12px,2.5vw,34px);display:flex;flex-direction:column;align-items:flex-end;width:clamp(112px,12vw,166px);pointer-events:none;color:#fff}
.onair-bug img{display:block;width:100%;height:auto;max-height:132px;object-fit:contain;opacity:.82;filter:drop-shadow(0 0 12px #ff00885c);animation:onairBugFloat 5.8s ease-in-out infinite}
.onair-bug-pill{position:relative;z-index:1;display:flex;align-items:center;gap:5px;margin-top:-13px;padding:3px 7px;border:1px solid #ffffff9c;border-radius:99px;background:linear-gradient(135deg,#ff157f,#ff8a00);color:#08030b;font:900 9px ui-monospace,Consolas,monospace;letter-spacing:.08em;box-shadow:0 0 10px #ff00885c}
.onair-bug-pill i{width:6px;height:6px;border-radius:50%;background:#e90032;box-shadow:0 0 6px #e90032;animation:onairBugBlink 1.1s steps(2,end) infinite}
.onair-clock{display:block;min-width:82px;margin-top:7px;padding:6px 9px;border:1px solid #ff70d96b;border-radius:9px;text-align:center;color:#fff7ff;background:linear-gradient(135deg,#ff008847,#ff7a0024 45%,#00d2ff29),#000b;font:900 clamp(15px,1.25vw,21px) ui-monospace,Consolas,monospace;line-height:1;letter-spacing:.15em;text-shadow:0 0 8px #ff0088a3;box-shadow:0 0 15px #ff008846;backdrop-filter:blur(5px);animation:onairClockGlow 3.4s ease-in-out infinite}
body.tv-idle .onair-bug{top:clamp(10px,2vh,24px)}
@keyframes onairBugFloat{50%{transform:translateY(-4px)}}
@keyframes onairBugBlink{50%{opacity:.4}}
@keyframes onairClockGlow{50%{box-shadow:0 0 21px #ff008878}}
body.tv-lite .onair-bug img,body.eco .onair-bug img{animation:none;filter:none}
body.tv-lite .onair-bug-pill i,body.eco .onair-bug-pill i{animation:none;box-shadow:none}
body.tv-lite .onair-bug-pill,body.eco .onair-bug-pill{box-shadow:none}
body.tv-lite .onair-clock,body.eco .onair-clock{animation:none;backdrop-filter:none;box-shadow:none;text-shadow:none;background:#11111c}

/* La régie reste défilable et lisible à la télécommande sur les box fragiles. */
body.tv-lite .console{
  overflow-y:scroll;
  scrollbar-width:auto;
  scrollbar-color:#ff70d9 #1b1827;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
body.tv-lite .console::-webkit-scrollbar{width:14px}
body.tv-lite .console::-webkit-scrollbar-track{background:#1b1827}
body.tv-lite .console::-webkit-scrollbar-thumb{
  background:#ff70d9;
  border:2px solid #1b1827;
  border-radius:9px;
}
@media(max-width:600px){.onair-bug{top:58px;right:8px;width:clamp(82px,22vw,112px)}.onair-bug img{max-height:88px}.onair-bug-pill{margin-top:-10px;padding:2px 5px;font-size:7px}.onair-clock{min-width:68px;margin-top:4px;padding:5px 6px;font-size:13px;border-radius:7px}body.tv-idle .onair-bug{top:8px}}
@media(orientation:landscape) and (max-height:520px){.onair-bug,body.tv-idle .onair-bug{top:7px;right:8px;width:clamp(76px,12vh,102px)}.onair-bug img{max-height:75px}.onair-clock{font-size:12px;padding:4px 6px}}
@media(prefers-reduced-motion:reduce){.onair-bug img,.onair-bug-pill i,.onair-clock{animation:none!important}}

/* Language flags and contextual help, following V80 controls. No animation on fragile TVs. */
.dad-languages{display:flex;align-items:center;gap:.22rem;margin:.55rem 0 .3rem;flex-wrap:wrap}
.dad-languages button{width:38px;height:34px;padding:2px;border-color:#56566c;background:#171925;display:grid;place-items:center}
.dad-languages img{display:block;width:26px;height:26px;object-fit:contain}
.dad-languages button[aria-pressed="true"]{border-color:#ffcc66;box-shadow:0 0 0 1px #ffcc66}
#dadHelpBtn{min-width:36px;font-size:1rem;font-weight:900;border-color:#ff70d9}
.dad-help-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:#02020be8}
.dad-help{position:relative;width:min(650px,100%);max-height:90svh;overflow-y:auto;padding:clamp(18px,3vw,28px);border:1px solid #ff70d9;border-radius:12px;background:#0b0d19;color:white;box-shadow:0 15px 50px #000}
.dad-help h2{font-size:clamp(1.15rem,3vw,1.65rem);line-height:1.2;color:#ffcc66;margin:.55rem 2rem .8rem 0}
.dad-help p,.dad-help li{font-size:.92rem;line-height:1.5}.dad-help li{margin:.65rem 0}.dad-help ol{padding-left:1.2rem}.dad-help a{color:#ffcc66;font-weight:800}
.dad-help-close{position:absolute;right:14px;top:14px;padding:.3rem .6rem}
body.help-open{overflow:hidden}body.help-open .topbar{opacity:1;pointer-events:auto}
@media(max-width:600px){.topbar #dadHelpBtn{min-width:30px;padding:.25rem}.live-return [data-i18n="live"]{font-size:0}.live-return [data-i18n="live"]::after{content:"LIVE";font-size:.64rem}.dad-languages button{width:42px;height:40px}.dad-help{max-height:87svh}}
body.tv-lite .dad-languages button[aria-pressed="true"]{box-shadow:none}

/* Salon Disque: controles hors du lecteur, message bref sur l'image. */
.dad-chat-toggle{position:fixed;z-index:31;right:clamp(10px,2vw,28px);bottom:clamp(90px,14vh,145px);padding:.6rem .85rem;border:1px solid #ffcc66;border-radius:99px;background:linear-gradient(110deg,#401370,#c5258b);box-shadow:0 4px 20px #000b;font-size:.78rem;font-weight:900;letter-spacing:.03em}
.dad-chat-panel{position:fixed;z-index:60;right:clamp(10px,2vw,28px);bottom:clamp(140px,21vh,215px);width:min(360px,calc(100vw - 20px));height:min(440px,62svh);display:none;flex-direction:column;overflow:hidden;border:1px solid #ffcc66;border-radius:12px;background:linear-gradient(150deg,#121546,#1c0733 70%,#090b1c);box-shadow:0 12px 40px #000d;color:#fff}
.dad-chat-panel.open{display:flex}
.dad-chat-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .8rem;border-bottom:1px solid #ffffff35;background:linear-gradient(90deg,#9c104e,#ea4d43);font-size:.88rem;letter-spacing:.05em}
.dad-chat-close{width:30px;height:30px;padding:0;border-radius:7px;font-size:1.2rem;line-height:1}
.dad-chat-messages{flex:1;min-height:0;overflow-y:auto;padding:.45rem .7rem;overscroll-behavior:contain}
.dad-chat-message{padding:.5rem .15rem;border-bottom:1px solid #ffffff20;font-size:.79rem;overflow-wrap:anywhere}
.dad-chat-meta{display:flex;justify-content:space-between;gap:.5rem;color:#ffcc66}.dad-chat-meta time{font-size:.68rem;color:#c5beda}
.dad-chat-text{margin-top:.2rem;line-height:1.35}.dad-chat-empty{padding:1rem;color:#c5beda;font-size:.79rem}
.dad-chat-form{display:grid;grid-template-columns:78px 1fr auto;gap:.3rem;padding:.55rem;border-top:1px solid #ffffff35}.dad-chat-form input{min-width:0;padding:.45rem;font-size:.75rem}.dad-chat-send{padding:.4rem .5rem;font-size:.72rem;font-weight:800}
.dad-chat-status{min-height:0;padding:0 .6rem;color:#ffcc66;font-size:.72rem}.dad-chat-status:not(:empty){padding-bottom:.5rem}
.dad-chat-banner{position:absolute;z-index:29;left:50%;bottom:25%;transform:translateX(-50%);width:max-content;max-width:min(72vw,700px);display:none;padding:.65rem 1rem;border:1px solid #ffcc66;border-radius:10px;background:linear-gradient(90deg,#290f2aef,#5b172bef);box-shadow:0 6px 22px #000d;color:#fff;font-size:clamp(.78rem,1.5vw,1rem);line-height:1.4;overflow-wrap:anywhere;pointer-events:none;text-shadow:0 1px 2px #000}
.dad-chat-banner.on{display:block}.dad-chat-banner strong{color:#ffcc66}
body.tv-idle .dad-chat-toggle{opacity:.85;pointer-events:auto}
@media(max-width:600px){.dad-chat-toggle{right:8px;bottom:90px;padding:.43rem .6rem;font-size:.68rem}.dad-chat-panel{right:8px;bottom:138px;height:min(420px,58svh)}.dad-chat-banner{bottom:29%;max-width:80vw;padding:.4rem .55rem}}
@media(orientation:landscape) and (max-height:520px){.dad-chat-toggle{bottom:75px}.dad-chat-panel{bottom:112px;height:min(300px,65svh)}.dad-chat-banner{bottom:33%}}
body.tv-lite .dad-chat-panel,body.eco .dad-chat-panel{box-shadow:none}
