*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#07164e;color:#edf0df;font:14px monospace;color-scheme:dark}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:-4px}button:hover{filter:brightness(1.12)}button:active{transform:translateY(1px)}[hidden]{display:none!important}#rewind-tv{height:100dvh;width:100%;overflow:hidden;display:grid;grid-template-rows:60px minmax(0,1fr) 30px 64px;background:#071a6a;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.chrome{display:flex;align-items:center;gap:27px;padding:0 26px;background:#07164e;border-bottom:2px solid #344a97;min-width:0}.logo{font:900 29px Arial,sans-serif;letter-spacing:-2px;color:#f0f1db;white-space:nowrap}.logo>span{display:inline-block;background:#eff661;color:#0b206c;font:bold 10px monospace;padding:3px 4px;letter-spacing:-.3px;margin-left:5px;vertical-align:middle}.page-code{font:10px monospace;letter-spacing:.6px;color:#b7c7eb}.clock{font:14px monospace;color:#eff661;letter-spacing:1px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.header-actions button{background:transparent;border:1px solid #435b9f;color:#c8d8ff;font:10px monospace;padding:9px 10px}#fullscreen{font-size:15px}#fullscreen span{font-size:9px}.guide-toggle{display:none}.club-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;min-height:0;min-width:0}.club-player{display:grid;grid-template-rows:minmax(0,1fr) 72px;min-width:0;min-height:0;background:#080f27;padding:18px 20px 0}.screen{position:relative;min-width:200px;min-height:200px;background:#05070c;overflow:hidden}#video-player{position:absolute;inset:0;width:100%;height:100%;border:0}.off{position:absolute;inset:0;display:grid;place-items:center;background:#0b1743}#start-tv{border:0;background:transparent;width:100%;height:100%;color:#eff661;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:24px;text-align:center}.standby-code{font:10px monospace;color:#89d9e9;letter-spacing:2px}#start-tv strong{font:900 clamp(30px,4.5vw,65px)/.95 monospace;letter-spacing:-3px;color:#eff661}.standby-action{font:13px monospace;color:#07164e;background:#eff661;padding:12px 20px;box-shadow:5px 5px #263883}#start-tv small{font:8px monospace;color:#9aaed8;letter-spacing:1px}.club-now{display:flex;align-items:center;gap:16px;min-width:0}.now-label{font:11px monospace;color:#eff661}.programme{flex:1;min-width:0}.programme h1{font:400 15px monospace;color:#edf0df;margin:0 0 5px}.programme p{font:10px monospace;color:#9eb1dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.club-now button{background:transparent;border:1px solid #3d4d7e;padding:9px;color:#c8d8ff;font:9px monospace;white-space:nowrap}.club-now a{font:8px monospace;color:#90a6d5;text-decoration:none;white-space:nowrap}.listings{display:flex;flex-direction:column;min-width:0;min-height:0;padding:27px 20px 23px;background:#0b2077;border-left:1px solid #334a95}.listing-head{font:bold 18px monospace;color:#eff661;letter-spacing:-.4px;margin-bottom:24px}.listing-head>span{display:block;font:8px monospace;letter-spacing:1.1px;margin-top:9px;color:#a9bde7}.direct-channels{display:grid;gap:7px}.direct-channels button{display:grid;grid-template-columns:27px minmax(0,1fr);column-gap:9px;row-gap:7px;align-items:center;min-height:66px;text-align:left;padding:13px 12px;border:0;border-radius:0;background:transparent;color:#d8e3ff}.direct-channels button>span{grid-column:1;grid-row:1/3;font:15px monospace;color:#83dbee}.direct-channels strong{grid-column:2;font:400 12px monospace}.direct-channels small{grid-column:2;font:9px monospace;color:#8da8df;line-height:1.4}.direct-channels button[aria-pressed=true]{background:#eff661;color:#0a246b}.direct-channels button[aria-pressed=true]>span,.direct-channels button[aria-pressed=true] small{color:#233b76}.direct-channels button[aria-pressed=true] strong{font-weight:bold}.listing-foot{margin-top:auto;padding-top:25px;color:#9eb5e4;font:9px/1.7 monospace;letter-spacing:.7px}.colour-keys{display:flex;gap:5px;margin-bottom:16px}.colour-keys span{width:23px;height:5px;background:#db727e}.colour-keys span:nth-child(2){background:#9cce8b}.colour-keys span:nth-child(3){background:#eff661}.colour-keys span:nth-child(4){background:#88cfdf}.source-note{display:block;font:7px/1.5 monospace;color:#829bce;margin-top:19px;letter-spacing:.8px}.status-line{display:flex;align-items:center;gap:9px;padding:0 22px;background:#09163c;border-top:1px solid #24396b;min-width:0}.status-line p{font:9px monospace;color:#91a8d6;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0;min-width:0}.led{width:4px;height:4px;border-radius:50%;background:#bbed78;flex-shrink:0}.off-led{background:#b77a6d}.channel-id{margin-left:auto;white-space:nowrap;font:9px monospace;color:#a1b7e2}.channel-id b{font-weight:400;color:#eff661}.status-line button{background:#eff661;color:#081e66;font:9px monospace;border:0;padding:3px 7px}.club-controls{display:flex;align-items:center;padding:0 22px;background:#061344;border-top:1px solid #344a97;min-width:0;gap:0}.club-controls>button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:38px;background:transparent;border:0;border-right:1px solid #344a97;padding:9px 20px;color:#c7d6fa;font:10px monospace;white-space:nowrap}.club-controls .remote-power{padding-left:0;color:#edda8d}.power-symbol{font-size:21px}.volume-control{display:flex;align-items:center;gap:10px;margin-left:16px}.volume-control button{background:transparent;border:1px solid #344a97;color:#bbcff7;height:29px;width:29px;font:16px monospace}#volume{font:8px monospace;color:#9cb0df;white-space:nowrap}#remote-guide{display:none}.club-signoff{margin-left:auto;color:#8aa1d0;font:8px monospace;letter-spacing:1px;padding-left:20px}.guide{width:min(500px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:24px;background:#0b2077;border:2px solid #7d95d3;color:#eff661;box-shadow:0 20px 70px #0009}.guide::backdrop{background:#050e34ed}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.guide-heading span{font:9px monospace;letter-spacing:1px;color:#9bc9ef}.guide-heading h2{font:bold 25px monospace;margin:9px 0 0}.guide-heading button{background:transparent;border:1px solid #7289c0;color:#e6eccc;width:35px;height:35px}.guide-hint{font:8px monospace;color:#a2b8e7;margin:20px 0 0}.guide-open .screen{visibility:hidden}
@media(min-width:1500px){.club-layout{grid-template-columns:minmax(0,1fr) 320px}.listings{padding:35px 28px}.direct-channels button{min-height:80px}.direct-channels strong{font-size:14px}.direct-channels small{font-size:10px}.listing-head{font-size:21px}}
@media(max-width:1000px){.club-layout{grid-template-columns:minmax(0,1fr) 225px}.listings{padding:24px 13px 20px}.listing-head{font-size:16px}.direct-channels button{padding:12px 9px;column-gap:7px;grid-template-columns:23px minmax(0,1fr)}.direct-channels strong{font-size:10px}.direct-channels small{font-size:8px}.page-code{font-size:8px}.club-signoff{display:none}.club-now a{display:none}.club-controls>button{font-size:9px;padding:9px 15px}}
@media(max-width:700px){#rewind-tv{grid-template-rows:51px minmax(0,1fr) 32px 62px}.chrome{padding:0 15px;gap:12px}.logo{font-size:25px}.page-code,.clock{display:none}.header-actions{gap:7px}.guide-toggle{display:block}.header-actions button{padding:8px;font-size:9px}.club-layout{grid-template-columns:minmax(0,1fr)}.listings{display:none}.club-player{padding:12px 12px 0;grid-template-rows:minmax(0,1fr) 78px}.club-now{gap:10px}.programme h1{font-size:13px}.programme p{font-size:9px}.now-label{font-size:9px}.club-now button{font-size:8px;padding:8px}.club-controls{padding:0 12px;gap:0;justify-content:space-between}.club-controls>button{font-size:9px;padding:7px 11px;gap:6px;min-height:36px}.club-controls .remote-power{padding-left:0}.club-controls .remote-power>span:last-child{display:none}.volume-control{margin:0 0 0 8px;gap:7px}.volume-control button{height:27px;width:27px}#volume{font-size:7px}.status-line{padding:0 13px}.status-line p{font-size:8px}#start-tv strong{font-size:clamp(28px,7vw,47px);letter-spacing:-2px}.standby-code{font-size:8px}.standby-action{font-size:11px}#start-tv small{font-size:7px;letter-spacing:.5px}.guide .direct-channels button{min-height:58px}.guide .direct-channels strong{font-size:12px}.guide .direct-channels small{font-size:9px}}
@media(max-width:400px){#fullscreen span{display:none}.club-controls>button{padding:7px 8px;font-size:8px}.club-controls>button[data-action=prev]>span{display:none}.volume-control{gap:5px;margin-left:5px}#volume{font-size:7px}.club-now{gap:8px}.programme h1{font-size:11px}.programme p{font-size:8px}.club-now button{padding:8px 6px;font-size:7px}}
@media(max-height:620px) and (min-width:701px){#rewind-tv{grid-template-rows:48px minmax(0,1fr) 26px 50px}.listings{padding:17px 13px}.listing-head{margin-bottom:12px}.direct-channels{gap:3px}.direct-channels button{min-height:47px;padding:8px}.direct-channels small,.source-note{display:none}.direct-channels button>span{grid-row:1}.listing-foot{padding-top:10px;font-size:8px}.colour-keys{margin-bottom:8px}.club-player{padding-top:10px;grid-template-rows:minmax(0,1fr) 60px}.club-controls>button{min-height:30px}.screen{min-height:150px}}
@media(max-height:450px){#rewind-tv{grid-template-rows:40px minmax(0,1fr) 23px 45px}.club-player{grid-template-rows:minmax(0,1fr) 40px;padding:7px 10px 0}.screen{min-height:120px}.programme p,.standby-code,#start-tv small{display:none}#start-tv{gap:14px}#start-tv strong{font-size:27px}.standby-action{padding:7px 12px;font-size:10px}.guide{padding:16px}.guide-heading{margin-bottom:10px}.guide .direct-channels{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.guide .direct-channels button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:8px;min-height:90px}.guide .direct-channels strong{font-size:9px}.guide .direct-channels small,.guide-hint{display:none}}
/* Weekly broadcast guide */
.listings{gap:0;overflow:hidden}.listing-head{margin-bottom:13px;flex-shrink:0}.listings .direct-channels{flex:1;min-height:0;grid-template-rows:repeat(8,minmax(0,1fr));gap:3px}.listings .direct-channels button{min-height:0;padding:8px 10px;row-gap:3px;overflow:hidden}.direct-channels small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%}.listing-foot{flex-shrink:0;margin-top:0;padding-top:14px;font-size:8px;line-height:1.5}.listing-foot .colour-keys{margin:10px 0}.source-note{white-space:pre-line;font-size:6px;margin-top:10px}#weekly-refresh{display:block;font:8px/1.5 monospace;letter-spacing:0;color:#eff661;padding-bottom:4px}.club-player{grid-template-rows:minmax(0,1fr) 90px}.club-now{gap:10px}.programme h1{font-size:13px}.programme p{font-size:9px;line-height:1.4}.programme #up-next{font-size:8px;color:#eff661;margin-top:5px}#on-air-mode{font-size:8px;max-width:54px;flex-shrink:0}#restart-show,#join-live{font-size:8px;padding:8px 7px}#join-live{color:#061344;background:#eff661;border-color:#eff661}.club-now #source-link{display:none}.guide{width:min(650px,calc(100% - 28px))}.guide .direct-channels{gap:4px}.guide .direct-channels button{min-height:49px;padding:9px 12px;row-gap:3px}.guide .direct-channels small{font-size:8px}.guide-hint{font-size:7px}
@media(max-width:1000px){.source-note{display:none}.listing-foot{font-size:7px}.listings .direct-channels strong{font-size:10px}.listings .direct-channels button{padding:7px 8px}.listing-head{margin-bottom:10px}.club-now{gap:8px}.programme h1{font-size:12px}.club-now button{font-size:8px;padding:8px 6px}}
@media(max-width:700px){.club-player{grid-template-rows:minmax(0,1fr) 95px}.club-now{flex-wrap:wrap;gap:5px 8px;align-content:center}.programme{flex-basis:calc(100% - 64px)}.programme p{font-size:8px}.programme #up-next{font-size:7px}.club-now>button{min-height:25px;padding:5px 9px;font-size:8px}.club-now #restart-show{margin-left:auto}.guide{padding:20px}.guide-heading{margin-bottom:14px}.guide .direct-channels button{min-height:44px;padding:7px 10px;grid-template-columns:24px minmax(0,1fr)}.guide .direct-channels strong{font-size:11px}.guide .direct-channels small{font-size:8px}.guide-heading h2{font-size:23px}.guide-hint{font-size:6px;margin-top:15px}}
@media(max-height:620px) and (min-width:701px){.listing-foot .colour-keys,.source-note{display:none}.listing-foot{padding-top:9px;font-size:7px}.listings .direct-channels button{padding:6px;row-gap:0}.listings .direct-channels small{display:none}.listings .direct-channels button>span{grid-row:1}.club-player{grid-template-rows:minmax(0,1fr) 72px}.programme #up-next{font-size:7px}.listing-head>span{font-size:7px}.listing-head{font-size:14px}}
@media(max-height:700px) and (max-width:700px){.guide{padding:15px}.guide-heading{margin-bottom:10px}.guide .direct-channels button{min-height:38px;padding:6px 8px;row-gap:2px}.guide-heading h2{font-size:20px}.guide-hint{margin-top:10px}}
@media(max-height:450px){.club-player{grid-template-rows:minmax(0,1fr) 46px}.programme #up-next{display:none}.club-now{flex-wrap:nowrap}.programme{flex-basis:0}.guide .direct-channels{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.guide .direct-channels button{display:flex;min-height:65px;padding:6px;gap:6px}.guide .direct-channels strong{font-size:9px}.guide .direct-channels small{display:none}}
.schedule-link{font:10px monospace;color:#eff661;text-decoration:none;border:1px solid currentColor;padding:9px}.listings .direct-channels{grid-template-rows:repeat(var(--channel-count,9),minmax(0,1fr))}.club-now #source-link{display:block;font:8px monospace;white-space:nowrap;color:#eff661}.listings .direct-channels button{padding:6px 10px}.listing-foot{padding-top:7px}.listing-foot .colour-keys{margin:6px 0}@media(max-width:600px){.schedule-link{font-size:8px;padding:8px}.club-now #source-link{font-size:7px}.page-code{display:none}}
#unavailable{position:absolute;inset:0;z-index:2;background:#10199b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}#unavailable[hidden]{display:none}#unavailable>span{font:10px monospace;color:#eff661}#unavailable h2{font:bold clamp(24px,4vw,60px)/1 sans-serif;letter-spacing:-2px;margin:20px 0}#unavailable p{font:12px/1.5 monospace;max-width:340px}#unavailable a{background:#eff661;color:#0c155c;padding:15px;font:bold 12px monospace;margin-top:20px;text-decoration:none}
/* Analogue tuning transition, independent of the embedded player's controls. */
.tuning-flash{position:absolute;inset:0;z-index:5;background:#101114;opacity:0;pointer-events:none;overflow:hidden}.is-tuning .tuning-flash{animation:tune-flash .32s steps(1,end) both}.tuning-snow{position:absolute;inset:-70%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='180'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.93' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23noise)' d='M0 0h220v180H0z'/%3E%3C/svg%3E");filter:grayscale(1) contrast(2.1);opacity:.65}.is-tuning .tuning-snow{animation:snow-jump .08s steps(1) infinite}.tuning-band{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0009 0px,#0009 2px,transparent 2px,transparent 5px)}.is-tuning .tuning-band:after{content:"";position:absolute;left:0;right:0;height:12%;background:#eeeeeebb;box-shadow:0 8px 0 #000,0 -14px 0 #0009;animation:tracking-roll .3s linear both}#channel-osd{position:absolute;top:25px;left:28px;z-index:6;pointer-events:none;color:#8bff73;font-family:monospace;text-shadow:2px 2px #000,0 0 8px #000;opacity:0;transition:opacity .18s}#channel-osd strong{font-size:clamp(32px,5vw,64px);font-weight:500;line-height:1;display:block}#channel-osd span{display:block;font-size:clamp(12px,1.4vw,18px);letter-spacing:2px;margin:7px 0}#channel-osd small{font-size:9px;letter-spacing:2px}.show-osd #channel-osd{opacity:1}.off~#channel-osd{display:none}#tv-play{min-width:85px}@keyframes tune-flash{0%,75%{opacity:1}80%{opacity:.8}100%{opacity:0}}@keyframes snow-jump{0%{transform:translate(0,0)}25%{transform:translate(4%,-5%)}50%{transform:translate(-7%,3%)}75%{transform:translate(5%,7%)}}@keyframes tracking-roll{from{top:-20%}to{top:110%}}@media(prefers-reduced-motion:reduce){.is-tuning .tuning-flash{animation:none;opacity:0}.is-tuning .tuning-snow,.is-tuning .tuning-band:after{animation:none}#channel-osd{transition:none}}@media(max-width:600px){#channel-osd{left:15px;top:15px}#tv-play{min-width:53px;font-size:8px;padding:7px}.club-signoff{display:none}}
/* Watching mode: the picture owns the viewport; the remote floats above it. */
#rewind-tv{display:block;position:relative;background:#000;padding:0}.club-layout{display:block;position:absolute;inset:0}.club-player{display:block;position:absolute;inset:0;padding:0;background:#000}.screen{position:absolute;inset:0;min-width:0;min-height:0;background:#000}.chrome,.listings,.club-now,.status-line,.club-controls{position:absolute;z-index:10;transition:opacity .3s,transform .3s;background:#07164eea;backdrop-filter:blur(12px)}.chrome{top:0;left:0;right:0;height:64px;padding:0 25px;background:linear-gradient(#04102df2,#04102d99);border-bottom:1px solid #ffffff25}.listings{right:20px;top:84px;bottom:180px;width:265px;padding:20px 15px;border:1px solid #627dc15c;box-shadow:0 12px 45px #0006}.listing-foot{display:none}.listings .direct-channels{gap:3px}.club-now{left:20px;right:305px;bottom:112px;min-height:70px;padding:14px 18px;border:1px solid #627dc15c}.status-line{bottom:80px;left:20px;right:305px;height:28px;border:0;padding:0 16px}.club-controls{bottom:20px;left:20px;right:20px;min-height:55px;justify-content:center;border:1px solid #627dc15c;padding:8px 18px;gap:3px}.club-controls>button{padding:9px 17px}.club-signoff{display:none}.guide-toggle{display:block}#channel-osd{top:90px;left:35px}.controls-hidden .chrome,.controls-hidden .listings,.controls-hidden .club-now,.controls-hidden .status-line,.controls-hidden .club-controls{opacity:0;pointer-events:none;visibility:hidden}.controls-hidden .chrome{transform:translateY(-12px)}.controls-hidden .club-now,.controls-hidden .status-line,.controls-hidden .club-controls{transform:translateY(12px)}.controls-hidden{cursor:none}.controls-hidden #video-player{pointer-events:none}.off{z-index:7}.guide-open .screen{visibility:visible}.guide{z-index:20}.tv-on .screen{background:#000}#start-tv small:after{content:" / MOVE MOUSE OR TAP FOR THE REMOTE";display:block;margin-top:15px;color:#eff661}@media(max-width:700px){.chrome{height:56px;padding:0 14px}.listings{display:none}.club-now{left:12px;right:12px;bottom:114px;min-height:90px;padding:12px}.status-line{left:12px;right:12px;bottom:82px;height:28px}.club-controls{left:12px;right:12px;bottom:14px;min-height:60px;padding:6px 8px;justify-content:space-between;gap:0}.club-controls>button{padding:7px 8px;font-size:8px}.club-controls>button[data-action=prev]>span{display:none}.volume-control{gap:5px;margin-left:4px}#channel-osd{top:76px;left:20px}}@media(max-height:500px) and (min-width:701px){.chrome{height:48px}.listings{top:60px;bottom:90px;width:230px;padding:10px}.listing-head{font-size:12px}.listing-head>span{display:none}.club-now{bottom:88px;right:270px;min-height:48px;padding:8px}.status-line{bottom:62px;right:270px;height:24px}.club-controls{bottom:8px;min-height:48px;padding:4px 12px}.listings .direct-channels button{padding:2px 5px}.listings .direct-channels strong{font-size:9px}#channel-osd{top:65px}}@media(prefers-reduced-motion:reduce){.chrome,.listings,.club-now,.status-line,.club-controls{transition:none}}
#archive-player{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}.crt-surface{position:absolute;inset:0;z-index:4;pointer-events:none;background:repeating-linear-gradient(0deg,#0002 0px,#0002 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,#ff000008 0px,#00ff0008 1px,#0000ff08 2px,transparent 3px);box-shadow:inset 0 0 80px #0005;mix-blend-mode:multiply}.crt-curve{position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:5% / 7%;box-shadow:inset 0 0 14px 8px #000b,inset 0 0 70px 2px #0009;border:2px solid #0009;background:radial-gradient(ellipse at 50% 0%,#ffffff08,transparent 60%)}.no-crt .crt-surface,.no-curve .crt-curve{display:none}.tv-settings{width:min(420px,calc(100% - 28px));padding:24px;background:#0b2077;color:#eff661;border:1px solid #95aae6;box-shadow:0 20px 80px #000b}.tv-settings::backdrop{background:#000b}.tv-settings label{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid #ffffff33;font:13px monospace;color:#fff}.tv-settings input{width:21px;height:21px;accent-color:#eff661}.tv-settings p{font:11px/1.6 monospace;color:#c4d2ef}.tv-settings h2{font:20px monospace}#settings-button{font-size:9px}.listings .direct-channels{overflow:auto}.listings .direct-channels button{min-height:37px}@media(max-width:700px){.header-actions{gap:5px}.header-actions button{padding:7px 5px;font-size:8px}.schedule-link{padding:7px 5px;font-size:8px}.chrome{padding:0 10px;gap:5px}.logo{font-size:21px}#fullscreen span{display:none}.crt-curve{border-radius:6% / 3%}}
.crt-surface{animation:crt-drift 8s linear infinite}@keyframes crt-drift{from{background-position:0 0,0 0}to{background-position:0 4px,0 0}}@media(prefers-reduced-motion:reduce){.crt-surface{animation:none}}
.channel-tools{display:grid;grid-template-columns:1fr 80px;gap:7px;margin:10px 0 12px;flex-shrink:0}.channel-tools>input{grid-column:1/-1}.channel-tools input,.channel-tools select{width:100%;min-width:0;background:#07164e;color:#e2eaff;border:1px solid #4a619b;padding:8px;font:10px monospace;border-radius:0}.channel-tools label{display:flex;align-items:center;gap:5px;color:#eff661;font-size:9px}.listings .direct-channels{display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin;scrollbar-color:#7589bd #07164e;gap:3px}.listings .direct-channels button{min-height:51px;flex-shrink:0}.guide .direct-channels{grid-template-columns:repeat(2,minmax(0,1fr));max-height:65dvh;overflow:auto}.guide .direct-channels button{min-height:65px}.guide{max-height:90dvh}.listings{bottom:102px}.listings .listing-head{margin-bottom:0}.channel-tools:focus-within~.direct-channels{scroll-behavior:smooth}@media(max-width:700px){.channel-tools{display:none}.guide .direct-channels{grid-template-columns:1fr}}@media(max-height:500px) and (min-width:701px){.channel-tools{margin:5px 0;gap:3px}.channel-tools input,.channel-tools select{padding:5px;font-size:9px}.listings .direct-channels button{min-height:38px}.listings{bottom:66px}}
.guide-tools{display:grid;grid-template-columns:1fr 110px;gap:8px;margin:10px 0 16px}.guide-tools>input[type=search]{grid-column:1/-1}.guide-tools input,.guide-tools select{min-width:0;width:100%;background:#07164e;border:1px solid #6d83b5;color:#fff;font:12px monospace;padding:10px}#library-count{font:10px monospace;color:#a9bde7}.guide .direct-channels{max-height:calc(80dvh - 220px)}
.channel-tools{grid-template-columns:1fr 125px}.channel-tools label input{width:52px}.channel-tools button,.guide-tools button{border:1px solid #7c92c7;background:#eff661;color:#07164e;font:bold 9px monospace;padding:7px}.guide-tools{grid-template-columns:1fr 100px 45px}.guide-tools>input[type=search]{grid-column:1/-1}
/* Genre directory: stable channel numbers, grouped browsing. */
.channel-tools #channel-genre{grid-column:1/-1}.channel-tools{margin:9px 0;gap:6px}.channel-tools select{font-size:10px}.guide-tools{grid-template-columns:minmax(0,1fr) 100px 45px}.guide-tools #guide-genre{grid-column:1/-1}.direct-channels .channel-group{display:flex;flex-direction:column;gap:3px;min-width:0}.channel-group h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:15px 0 5px;padding:9px 5px 7px;border-bottom:1px solid #7895d15c;color:#eff661;font:bold 10px monospace;letter-spacing:1px;text-transform:uppercase}.channel-group:first-child h3{margin-top:0}.genre-count{font:9px monospace;color:#a9bde7;letter-spacing:0}.guide .direct-channels{display:block;max-height:calc(80dvh - 265px)}.guide .channel-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.guide .channel-group h3{grid-column:1/-1;font-size:11px;margin-top:20px}.guide .channel-group:first-child h3{margin-top:0}.guide .channel-group button{width:100%;min-width:0}.channel-empty{font:11px/1.7 monospace;color:#b8c8ef;padding:15px 5px}.listings .channel-group button{flex-shrink:0;width:100%}@media(max-width:700px){.guide .channel-group{grid-template-columns:1fr}.guide .direct-channels{max-height:calc(80dvh - 280px)}.guide-tools{margin-bottom:10px}.guide-tools input,.guide-tools select{font-size:11px;padding:8px}}@media(max-height:500px){.guide .direct-channels{max-height:35dvh}.guide .channel-group{grid-template-columns:repeat(2,minmax(0,1fr))}.guide{padding:14px}.guide .guide-heading{margin-bottom:6px}.guide-tools{margin:5px 0;gap:4px}.guide-tools input,.guide-tools select{padding:6px}.guide #library-count{margin:6px 0}.guide .guide-hint{display:none}}
/* Flat numeric directory; genre remains an optional filter. */
.guide .direct-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;align-content:start}.guide .direct-channels>button{width:100%;min-width:0}.channel-empty{grid-column:1/-1}@media(max-width:700px){.guide .direct-channels{grid-template-columns:1fr}}@media(max-height:500px) and (min-width:701px){.guide .direct-channels{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Apply the phosphor fringe to the actual picture, including embedded video. */
#rewind-tv:not(.no-crt) #video-player,#rewind-tv:not(.no-crt) #archive-player{filter:url(#crt-colour) saturate(1.13) contrast(1.025)}
#rewind-tv .crt-surface{background:repeating-linear-gradient(0deg,#0003 0px,#0003 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,#ff303012 0px,#43ff5610 1px,#367cff12 2px,transparent 3px);opacity:.8}

#channel-logo{position:absolute;right:24px;top:82px;width:100px;height:60px;object-fit:contain;z-index:5;pointer-events:none;opacity:.66;filter:saturate(.6);transition:opacity .2s}
#rewind-tv .direct-channels button{grid-template-columns:24px 48px minmax(0,1fr);column-gap:8px;row-gap:4px;padding:10px 7px;min-height:62px}
#rewind-tv .direct-channels .channel-mark{grid-column:2;grid-row:1/3;width:48px;height:30px;object-fit:contain}
#rewind-tv .direct-channels strong,#rewind-tv .direct-channels small{grid-column:3;min-width:0}
@media(max-width:700px){#channel-logo{right:16px;top:70px;width:84px;height:51px}}

#number-entry{position:absolute;left:32px;top:86px;z-index:8;padding:18px 22px;background:#051211e8;border:1px solid #97ff8b;color:#97ff8b;pointer-events:none;font-family:monospace}#number-entry strong{display:block;font-size:46px;line-height:1}#number-entry span{display:block;font-size:9px;margin-top:12px}#keyboard-help{border-top:1px solid #ffffff33;padding:16px 0;font:11px/1.5 monospace;color:#dce7ff}#keyboard-help summary{cursor:pointer;color:#eff661}#keyboard-help dl{display:grid;grid-template-columns:80px 1fr;gap:8px}#keyboard-help dt{color:#eff661}#keyboard-help dd{margin:0}.tv-settings{max-height:88dvh;overflow:auto}

/* Gentler phosphor, highlight-only bloom, and independent mild glass warp. */
#rewind-tv:not(.no-crt) #video-player,#rewind-tv:not(.no-crt) #archive-player{filter:url(#crt-colour) saturate(1.045) contrast(1.015)}
#rewind-tv.no-crt:not(.no-curve) #video-player,#rewind-tv.no-crt:not(.no-curve) #archive-player{filter:url(#crt-warp)}
#rewind-tv:not(.no-crt):not(.no-curve) #video-player,#rewind-tv:not(.no-crt):not(.no-curve) #archive-player{filter:url(#crt-colour) url(#crt-warp) saturate(1.045) contrast(1.015)}
#rewind-tv .crt-surface{background:repeating-linear-gradient(0deg,#0000001c 0px,#0000001c 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,#ff303008 0px,#43ff5608 1px,#367cff08 2px,transparent 3px);opacity:.65;animation:none;box-shadow:inset 0 0 65px #0002}
.crt-curve{box-shadow:inset 0 0 10px 2px #0007,inset 0 0 45px #0004;border:1px solid #0006;background:radial-gradient(ellipse at 50% 0%,#ffffff05,transparent 55%)}
.schedule-overlay{width:min(1180px,94vw);height:min(850px,88dvh);max-width:94vw;max-height:88dvh;padding:0;border:1px solid #7488b1;background:#070d27;color:#eff661;overflow:hidden;box-shadow:0 25px 90px #000b}.schedule-overlay[open]{display:flex;flex-direction:column}.schedule-overlay::backdrop{background:#0008}.schedule-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;border-bottom:1px solid #36456f}.schedule-heading small{font:9px monospace;color:#b5c4e8;letter-spacing:1px}.schedule-heading h2{font:24px monospace;margin:7px 0 0}.schedule-heading button{background:none;border:1px solid #6e7ea4;padding:9px 12px;color:#fff}#schedule-frame{width:100%;flex:1;min-height:0;border:0;background:#070d27}.schedule-overlay~.tv-settings{z-index:30}@media(max-width:600px){.schedule-overlay{width:96vw;max-width:96vw;height:92dvh;max-height:92dvh}.schedule-heading{padding:12px}.schedule-heading h2{font-size:20px}}

/* The moving raster now modulates the picture in the SVG filter itself. */
#rewind-tv .crt-surface{background:repeating-linear-gradient(90deg,#ff30300b 0px,#43ff5609 1px,#367cff0b 2px,transparent 3px);opacity:.66;animation:none;box-shadow:inset 0 0 70px #0003}
#rewind-tv:not(.no-crt) #video-player,#rewind-tv:not(.no-crt) #archive-player{filter:url(#crt-colour) saturate(1.065) contrast(1.025)}
#rewind-tv:not(.no-crt):not(.no-curve) #video-player,#rewind-tv:not(.no-crt):not(.no-curve) #archive-player{filter:url(#crt-colour) url(#crt-warp) saturate(1.065) contrast(1.025)}
.crt-curve{border-radius:5% / 7%;box-shadow:inset 0 0 16px 4px #0009,inset 0 0 58px #0005;border:2px solid #0007}
/* Curved phosphor/glass raster stays visible with hardware-accelerated iframe video. */
#rewind-tv .crt-surface{background:repeating-linear-gradient(0deg,#00000024 0px,#00000024 1.25px,transparent 1.25px,transparent 4px),repeating-linear-gradient(90deg,#ff30300b 0px,#43ff5609 1px,#367cff0b 2px,transparent 3px);opacity:.72;animation:live-scan-refresh 4.8s linear infinite;filter:url(#crt-warp)}
#rewind-tv.no-curve .crt-surface{filter:none}
.crt-surface::after{content:"";position:absolute;left:0;right:0;top:-30%;height:27%;background:linear-gradient(transparent,#0000000d 45%,#ffffff06 55%,transparent);animation:refresh-roll 9s linear infinite;pointer-events:none}
@keyframes live-scan-refresh{from{background-position:0 0,0 0}to{background-position:0 4px,0 0}}
@keyframes refresh-roll{from{transform:translateY(0)}to{transform:translateY(520%)}}
@media(prefers-reduced-motion:reduce){#rewind-tv .crt-surface,.crt-surface::after{animation:none}.crt-surface::after{display:none}}

/* Dark room, with a soft spill from the programme into the surrounding void. */
html,body,#rewind-tv,.club-player,.screen,.tv-on .screen{background:#010204}
#rewind-tv{--ambient-tint:#6d8ca5}
#ambient-spill{position:absolute;inset:-12%;width:124%;height:124%;z-index:3;pointer-events:none;background-position:center;background-size:cover;filter:blur(72px) saturate(.7);opacity:0;mix-blend-mode:screen;transform:scale(1.12);mask-image:radial-gradient(ellipse 40% 38% at center,transparent 52%,#0008 80%,#000 100%);transition:opacity 1.2s;contain:strict}
.tv-on.ambient-live:not(.no-ambient) #ambient-spill{opacity:.34}
#ambient-spill::after{content:none;position:absolute;inset:0;background:radial-gradient(ellipse at 30% 40%,var(--ambient-tint),transparent 68%);opacity:.12}
#rewind-tv .chrome{background:linear-gradient(#020408f5,#020408c2);border-color:#ffffff12}
#rewind-tv .listings,#rewind-tv .club-now,#rewind-tv .status-line,#rewind-tv .club-controls{background:#050810e8;border-color:#ffffff20;box-shadow:0 12px 50px #0008}
#rewind-tv .channel-tools input,#rewind-tv .channel-tools select{background:#070b14;border-color:#30394b}
#rewind-tv .off{background:radial-gradient(ellipse at center,#0a111c,#020305 72%)}
#rewind-tv .tv-settings,#rewind-tv .guide{background:#080d17;border-color:#546077}
#rewind-tv .tv-settings::backdrop{background:#000b}
@media(max-width:700px){#ambient-spill{filter:blur(45px);mask-image:radial-gradient(ellipse 42% 36% at center,transparent 50%,#000 100%)}}
@media(prefers-reduced-motion:reduce){#ambient-spill{transition:none}}
.audio-level{border-top:1px solid #ffffff22;padding:10px 0}.audio-level label{border:0!important;padding:8px 0!important;font-size:12px!important}.audio-level input[type=range]{width:100%;height:24px}.audio-level small{display:block;color:#95a3bd;font:10px/1.5 monospace}.audio-level output{color:#eff661}

/* A remote, not a search form: give the channel list the room. */
#rewind-tv .listings .listing-head{margin-bottom:12px}
#rewind-tv .listings .listing-foot{padding-top:10px;font:8px/1.6 monospace;color:#a9bde7}
#rewind-tv .guide .direct-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(82dvh - 140px);overflow:auto;gap:4px 12px;scrollbar-width:thin}
#rewind-tv .guide .direct-channels button{min-height:56px}
#rewind-tv .guide #library-count{margin:8px 0 14px}
@media(max-width:700px){#rewind-tv .guide .direct-channels{grid-template-columns:1fr;max-height:calc(82dvh - 140px)}}
@media(max-height:450px){#rewind-tv .guide .direct-channels{grid-template-columns:repeat(3,minmax(0,1fr));max-height:calc(84dvh - 100px)}#rewind-tv .guide .direct-channels button{min-height:48px}}

.browse-overlay{width:min(1400px,96vw);height:min(94dvh,1100px);max-height:94dvh;padding:0;border:1px solid #4b5268;background:#080b17;color:#f1f0df;overflow:hidden}.browse-overlay[open]{display:flex;flex-direction:column}.browse-overlay::backdrop{background:#01030bbf;backdrop-filter:blur(7px)}#browse-frame{display:block;flex:1;min-height:0;width:100%;border:0;background:#080b17}.browse-overlay .schedule-heading{flex-shrink:0}.header-actions{gap:8px}#browse-button{border-color:#efff70;color:#efff70}@media(max-width:680px){.header-actions{gap:5px}.header-actions button{padding:8px 6px;font-size:8px}.browse-overlay{width:100vw;height:100dvh;max-height:100dvh;max-width:100vw;border:0}.browse-overlay .schedule-heading{padding:14px 18px}.browse-overlay .schedule-heading h2{font-size:19px}.page-code{display:none}.chrome{gap:10px}}

/* Keep the gesture needed for browser audio permission small and explicit. */
#startup-sound{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:60;background:#10151de8;color:#edeedb;border:1px solid #d5ed6870;border-radius:30px;padding:13px 21px;font:11px monospace;letter-spacing:.12em;cursor:pointer;box-shadow:0 8px 35px #0006}#startup-sound[hidden]{display:none}#startup-sound:hover,#startup-sound:focus-visible{background:#d5ed68;color:#10151d;outline:2px solid #edeedb;outline-offset:3px}
/* Programme details stay off-screen until requested; the picture keeps playing. */
.programme-info{position:fixed;inset:auto 28px 92px auto;margin:0;width:min(450px,calc(100vw - 32px));max-height:calc(100dvh - 120px);padding:26px;border:1px solid #d9e0ce40;border-radius:4px;background:#0a1119;color:#f4efda;box-shadow:0 24px 80px #0009;overflow:auto;text-align:left;font-family:Arial,Helvetica,sans-serif}
.programme-info::backdrop{background:#02060b70}.info-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font:10px monospace;letter-spacing:.16em;color:#b5bfbb}.info-heading button{width:32px;height:32px;border:1px solid #ffffff25;color:#efeeda;background:transparent;cursor:pointer}.info-signal{display:flex;align-items:center;gap:12px;margin-top:25px;font:10px monospace;color:#bbc4c4}.info-signal span:first-child{color:#d7ef72}.programme-info h2{font-size:clamp(26px,4vw,38px);line-height:1.05;letter-spacing:-.045em;margin:14px 0 8px;font-weight:800}#info-title{font-size:16px;line-height:1.4;margin:0;color:#dddccf}#info-meta{font:10px/1.7 monospace;color:#929da3;margin:15px 0 0;letter-spacing:.04em}#info-synopsis{font:14px/1.6 Arial,sans-serif;color:#c0c7c4}.info-playhead{margin-top:26px}.info-playhead progress{display:block;width:100%;height:3px;border:0;background:#ffffff20;accent-color:#d7ef72}.info-playhead progress::-webkit-progress-bar{background:#ffffff20}.info-playhead progress::-webkit-progress-value{background:#d7ef72}.info-playhead>div{display:flex;justify-content:space-between;margin-top:9px;font:10px monospace;color:#a8b1b5}#info-next{margin-top:24px;padding-top:20px;border-top:1px solid #ffffff1b}#info-next>span{display:block;font:9px monospace;letter-spacing:.12em;color:#8b979c}#info-next-title{display:block;font-size:14px;line-height:1.45;font-weight:500;margin-top:8px}.programme-info footer{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:27px}.programme-info footer>div{min-width:0}#info-provenance{display:block;font:9px monospace;color:#829098;margin-bottom:6px}#info-source{font:11px/1.5 monospace;color:#bac2c2;text-underline-offset:3px;overflow-wrap:anywhere}#info-schedule{flex-shrink:0;border:0;background:transparent;padding:8px 0;color:#d7ef72;font:9px monospace;cursor:pointer}.programme-info button:focus-visible,.programme-info a:focus-visible{outline:2px solid #d7ef72;outline-offset:4px}#info-button:disabled{opacity:.4}
@media(max-width:640px){.programme-info{inset:auto 12px 18px;width:calc(100vw - 24px);max-height:calc(100dvh - 36px);padding:23px}.programme-info footer{align-items:start}#info-schedule{font-size:9px}.club-now #info-button{display:block}}

#rewind-tv.info-open .chrome,#rewind-tv.info-open .club-now,#rewind-tv.info-open .listings,#rewind-tv.info-open .club-controls,#rewind-tv.info-open .status-line{opacity:0;pointer-events:none}#rewind-tv.page-hidden .crt-surface,#rewind-tv.page-hidden .crt-surface::after{animation-play-state:paused}

.screen{background:#03060b}

.info-surf{display:flex;gap:10px;margin-top:22px}.info-surf button{flex:1;min-height:39px;padding:10px 12px;border:1px solid #d7ef7240;background:#d7ef7208;color:#d7ef72;font:10px monospace;letter-spacing:.035em}.info-surf button:last-child{text-align:right}.info-surf button:first-child{text-align:left}.info-surf button:hover{background:#d7ef7218;border-color:#d7ef7280}@media(max-width:400px){.info-surf{gap:8px}.info-surf button{padding:10px 9px;font-size:9px}}

/* Cued neighbours share the TV viewport behind the active picture. */
.screen iframe.prepared-player{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;z-index:0}
.screen #video-player,.screen #archive-player{z-index:1}
#preload-status{font:10px/1.6 monospace;color:#a8b8d1;margin:0 0 16px}
