/* Rabbit Ears viewing skins: cabinet chrome changes, footage keeps its proportions. */
:root{--bg:#eee5d5;--panel:#f8f1e4;--ink:#2b221a;--dim:#71614f;--amber:#a5452b;--phosphor:#655037;--line:#cebaa0;--wood:#573924;--wood-hi:#92704b;--display:"Bricolage Grotesque",system-ui,sans-serif;--osd:"VT323",monospace;color-scheme:light}
html{height:auto;min-height:100%}
body{height:auto;min-height:100vh;min-height:100dvh;background:linear-gradient(#f4eee4,var(--bg));padding:24px clamp(14px,3vw,40px) 36px;line-height:1.5}
body[data-skin="theatre"]{--bg:#140f14;--panel:#261b23;--ink:#f5eadd;--dim:#cfb8b8;--line:#6e4858;--amber:#d9b780;--phosphor:#dfc89c;--wood:#431320;--wood-hi:#852b3c;color-scheme:dark;background:radial-gradient(ellipse at 50% 15%,#39212d,var(--bg) 65%)}
body[data-skin="stadium"]{--bg:#111d16;--panel:#203627;--ink:#eff4e5;--dim:#bed0b8;--line:#57705a;--amber:#b5dc9e;--phosphor:#c0e7a7;--wood:#18251e;--wood-hi:#718075;color-scheme:dark;background:repeating-linear-gradient(90deg,#112017 0 140px,#17291d 140px 280px)}
body[data-skin="modern"]{--bg:#191e22;--panel:#2c3237;--ink:#f3f1eb;--dim:#c5cbd0;--line:#65707a;--amber:#e2d5bf;--phosphor:#d0d9de;--wood:#3b4146;--wood-hi:#a0a6aa;color-scheme:dark;background:linear-gradient(#252b30,var(--bg))}
body[data-skin="cozy"]{--bg:#2b231d;--panel:#44362c;--ink:#f8ebd5;--dim:#dbc3a4;--line:#8b7259;--amber:#edbd84;--phosphor:#ddbb8a;--wood:#67482c;--wood-hi:#9c7950;color-scheme:dark;background:radial-gradient(ellipse at 4% 0%,#82603e,var(--bg) 65%)}
body[data-skin="metal"]{--bg:#0e0e10;--panel:#222226;--ink:#f5f0e7;--dim:#ccc6c3;--line:#6c555b;--amber:#ff655e;--phosphor:#edc4b1;--wood:#181719;--wood-hi:#55545a;color-scheme:dark;background:radial-gradient(ellipse at 80% 0%,#5b111f,#0e0e10 55%)}
body[data-skin="ivory"]{--bg:#f5efe4;--panel:#eae0d0;--ink:#2b2220;--dim:#786456;--line:#c4afa0;--amber:#943d46;--phosphor:#81393d;--wood:#d7c7aa;--wood-hi:#f9f3e6;background:#f5efe4}
/* Paint one continuous backdrop, including content below the first viewport.
   Keep this after the skin shorthands, which otherwise reset repeat/color. */
body,body[data-skin]{background-repeat:no-repeat;background-color:var(--bg)}
.wrap{max-width:1440px;gap:22px}.wrap>header{align-items:center;border-bottom:2px solid var(--line);padding:0 0 22px;gap:14px 24px;min-height:105px}.brand{font-size:inherit;line-height:1}.brand-home{color:var(--ink);text-decoration:none;display:inline-block}.site-wordmark{display:inline-block;position:relative;padding-top:20px;font-weight:800;font-size:30px;line-height:.85;letter-spacing:-1.5px}.site-wordmark>svg{position:absolute;width:55px;height:25px;top:0;left:48px}.site-wordmark>span{color:inherit}.site-wordmark small{display:block;text-align:right;font-size:21px;letter-spacing:-.6px;margin-top:7px}.site-wordmark i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--amber);margin-left:5px}.tag{max-width:35ch;font-size:13px}.current-skin{font:14px var(--osd);color:var(--dim);margin-left:auto}.online{font-size:17px;color:var(--ink);background:var(--panel);border-color:var(--line)}.online span{color:var(--dim)}
.tabs{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;justify-self:stretch;padding:0 0 10px;gap:12px;flex-wrap:wrap}.tab{border-radius:0;gap:9px;padding:9px 13px;color:var(--ink);font-size:14px;border:0;cursor:pointer;background:none;font-family:inherit}.tab[aria-selected=true],.tab[aria-current=page]{color:var(--amber);background:none;box-shadow:inset 0 -3px var(--amber)}svg{width:22px;height:22px;flex-shrink:0}.btn svg,.linkbtn svg{display:block}.btn{border-radius:2px;padding:10px 13px;min-height:44px}.btn:disabled{opacity:.5}.btn.ch{font-size:14px;padding:10px 13px}.btn small{font-size:12px}.linkbtn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);text-decoration:none;color:var(--ink)}.btn[aria-pressed=true]{background:var(--amber);color:var(--bg)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.watch-channel{background:var(--amber);color:var(--bg);border-color:var(--amber);align-self:start;justify-self:start}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;color:var(--amber);text-transform:uppercase;margin:0 0 16px}.archive-donate{font-size:12px;display:inline-block;color:var(--amber);text-underline-offset:4px;max-width:max-content}.guide>.archive-donate{margin-top:20px}.wcard>.archive-donate{justify-self:center}
.tv-hero{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:40px;align-items:center}.landing-copy{min-width:0;display:grid;justify-items:start;gap:16px;padding:20px 0}.landing-copy p{margin:0}.landing-title{font:500 clamp(24px,3vw,42px)/1.12 Georgia,serif;margin:0;text-wrap:balance;overflow-wrap:anywhere}.landing-next{font-size:13px;color:var(--dim);max-width:48ch}.player-pack{display:grid;gap:16px;min-width:0}.cabinet{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:20px;background:repeating-linear-gradient(3deg,#684a31 0 4px,#79593b 5px 10px,#705036 11px 13px);padding:20px;border:5px solid #4a3221;border-radius:20px;box-shadow:inset 0 0 0 2px #c3a071,0 10px 20px #0003;min-width:0}.screen{border:12px solid #6a6860;box-shadow:0 0 0 3px #282723;border-radius:11% / 10%;aspect-ratio:4/3;min-width:0}.screen video{object-fit:contain;object-position:center}.tv-hardware{display:flex;flex-direction:column;align-items:center;gap:15px;padding:8px 0}.hardware-brand{font:600 11px/1.1 Georgia,serif;text-align:center;color:#e6d3b3;letter-spacing:2px}.tuning-knob{width:52px;height:52px;position:relative;flex-shrink:0;padding:0;border:3px solid #d0bb91;border-radius:50%;color:#eee4cf;background:repeating-conic-gradient(#6a6455 0deg 3deg,#302d26 4deg 16deg);cursor:pointer;font-size:0;box-shadow:0 3px 4px #0007}.tuning-knob::after{content:"";position:absolute;width:3px;height:19px;top:4px;left:23px;background:#dfc99c;transform:rotate(22deg);transform-origin:center 20px}.tuning-knob:nth-of-type(2){width:44px;height:44px}.tuning-knob:nth-of-type(2)::after{left:19px;height:15px}.speaker-grille{width:90%;flex:1;min-height:60px;border:2px solid #302d20;background:repeating-linear-gradient(#b69b6d 0 1px,#312d23 2px 4px);border-radius:3px}.power-led{width:7px;height:7px;background:#c5e6a1;border-radius:50%;box-shadow:0 0 5px #c5e6a1}.remote{gap:7px}.remote>.spacer{display:none}.now{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:18px 0;gap:8px}.now h2{font:500 30px/1.15 Georgia,serif}.now .meta{color:var(--dim)}.acts{gap:8px}.pos{font-size:17px}.now .archive-donate{margin-top:8px}.channel-identity{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:9px;--channel-accent:#a06544;min-width:0;color:var(--ink);width:220px}.channel-no{font:20px var(--osd);color:var(--ink);font-variant-numeric:tabular-nums}.logo-mat{display:flex;align-items:center;justify-content:center;min-width:0;padding:6px 9px;background:color-mix(in srgb,var(--panel) 82%,var(--channel-accent) 18%);border-radius:6px}.channel-logo{width:174px;height:98px;object-fit:contain;background:transparent;filter:drop-shadow(0 1px 1px #f8e3bd55)}.channel-identity.compact{width:100%;grid-template-columns:23px minmax(0,1fr);gap:5px}.compact .channel-logo{width:140px;height:65px}.compact .logo-mat{padding:3px}.channel-name{font-size:14px;font-weight:600;overflow-wrap:anywhere}.playing-station{max-width:210px}.channel-rail{display:none}.guide-back{justify-self:start}.guide{border-top:1px solid var(--line);padding-top:16px;min-width:0}.guide-head{margin-bottom:8px}.guide h3,.channel-rail h3{font:500 15px var(--osd);letter-spacing:2px;text-transform:uppercase;margin:0;color:var(--amber)}.guide-instructions{color:var(--dim);font-size:12px;margin:0 0 12px}.grid{position:relative;overflow-x:auto;overflow-y:clip;overscroll-behavior-x:contain;scrollbar-color:var(--amber) var(--panel);padding-bottom:8px;border-bottom:1px solid var(--line);border-radius:0}.ruler,.chan{grid-template-columns:28px 170px minmax(600px,1fr);gap:10px;min-width:850px}.ruler{z-index:3;padding:9px 10px;background:var(--panel);position:relative;top:auto;border-bottom:1px solid var(--line)}.ticks{height:21px}.ticks span{font-size:16px;color:var(--dim)}.chan{padding:6px 10px;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;background:var(--panel);color:var(--ink);font-family:inherit;cursor:pointer}.chan:hover{background:color-mix(in srgb,var(--panel) 88%,var(--amber) 12%)}.chan.on{box-shadow:inset 4px 0 var(--amber);border-color:var(--line)}.chan .n{font:20px var(--osd);color:var(--ink)!important}.chan .channel-identity .channel-no{display:none}.chan .channel-identity{grid-template-columns:1fr}.chan .t{position:sticky;left:46px;z-index:2;background:var(--panel);align-self:stretch;display:grid;align-content:center}.chan .n{position:sticky;left:10px;z-index:2;background:var(--panel);align-self:stretch;display:grid;align-content:center}.chan .vw{font-size:10px}.chan .d{display:none}.track{height:76px;background:var(--bg);border-radius:0}.blk{border-radius:0;background:var(--panel);border:1px solid var(--line);padding:7px 9px;color:var(--ink);height:100%}.blk.live{background:color-mix(in srgb,var(--panel) 86%,var(--amber) 14%);border-color:var(--amber);color:var(--ink)}.blk b{font-size:13px;line-height:1.25}.blk time{font:14px var(--osd);color:var(--dim)}.band{min-width:850px;background:var(--bg);border:0;border-radius:0;padding:15px 10px 8px;color:var(--amber);letter-spacing:2px;font-size:11px}.guide-now-label{position:absolute;top:0;left:10px;font:12px var(--osd);background:var(--amber);color:var(--bg);z-index:4;padding:2px 5px;pointer-events:none}.nowrow{border-radius:0;border-bottom:1px solid var(--line);padding:14px 0}.nowrow .nm{min-width:150px}.nowrow .n{color:var(--ink)}
body[data-tv-page="guide"] #tvView .remote,body[data-tv-page="guide"] #tvView .now,body[data-tv-page="guide"] .guide-back{display:none}body[data-tv-page="channel"] .tv-hero{grid-template-columns:minmax(0,1fr) 205px;align-items:start;gap:24px}body[data-tv-page="channel"] .landing-copy,body[data-tv-page="channel"] #tvView>.guide{display:none}body[data-tv-page="channel"] .channel-rail{display:grid;gap:8px;max-height:800px;overflow-y:auto;padding-left:18px;border-left:1px solid var(--line);scrollbar-color:var(--amber) var(--panel)}.rail-channel{border:1px solid transparent;background:none;color:var(--ink);cursor:pointer;min-height:75px;padding:4px}.rail-channel[aria-pressed=true]{border-color:var(--amber);box-shadow:inset 3px 0 var(--amber)}
body[data-skin="theatre"] .cabinet{grid-template-columns:1fr;padding:26px 48px;background:repeating-linear-gradient(90deg,#4c1624 0 8px,#822d40 9px 17px,#37121f 18px 24px);border:4px solid #a18455;border-radius:4px;box-shadow:inset 0 0 0 4px #23141b,0 10px 24px #0007}body[data-skin="theatre"] .tv-hardware,body[data-skin="stadium"] .tv-hardware,body[data-skin="modern"] .tv-hardware,body[data-skin="metal"] .tv-hardware{display:none}body[data-skin="theatre"] .screen{border:9px solid #131014;border-radius:2px;box-shadow:0 0 16px #d7bc7844}
body[data-skin="stadium"] .cabinet{grid-template-columns:1fr;padding:12px;border-radius:3px;background:linear-gradient(#9ca89e,#29382e);border:4px solid #9eaa9f;box-shadow:0 6px 0 #090e0b}body[data-skin="stadium"] .screen{border:8px solid #111b13;border-radius:1px}body[data-skin="stadium"] h2,body[data-skin="stadium"] .guide-head{font-family:var(--osd)}body[data-skin="stadium"] .landing-copy{border-left:5px solid var(--amber);padding-left:24px}
body[data-skin="modern"] .cabinet{grid-template-columns:1fr;padding:8px;border-radius:3px;border:1px solid #adb4b9;background:linear-gradient(135deg,#d8d8d3,#515a62);box-shadow:0 14px 28px #0005}body[data-skin="modern"] .screen{border:5px solid #171d20;border-radius:2px}body[data-skin="modern"] .tv-hero{grid-template-columns:1fr 1fr}body[data-skin="modern"][data-tv-page="channel"] .tv-hero{grid-template-columns:minmax(0,1fr) 205px}
body[data-skin="cozy"][data-tv-page="channel"] .tv-hero{grid-template-columns:1fr}body[data-skin="cozy"] .cabinet{border-color:#4e3520;background:repeating-linear-gradient(2deg,#705033 0 5px,#815d3b 6px 12px)}body[data-skin="cozy"][data-tv-page="channel"] .channel-rail{display:flex;max-height:200px;overflow-x:auto;overflow-y:hidden;padding:15px 0 0;border-left:0;border-top:1px solid var(--line)}body[data-skin="cozy"] .channel-rail h3{align-self:center}.cozy-unused{display:none}body[data-skin="cozy"] .rail-channel{flex:0 0 170px}
body[data-skin="metal"] .wrap>header{border-top:4px solid var(--amber);padding-top:20px}body[data-skin="metal"] .site-wordmark{font-family:Impact,"Arial Black",sans-serif;transform:skew(-7deg);text-transform:uppercase;color:#f6f0e7;text-shadow:2px 2px #971a2c;letter-spacing:-1px}body[data-skin="metal"] h2{font-family:Impact,"Arial Black",sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-1px;font-size:clamp(30px,4vw,54px)}body[data-skin="metal"] .cabinet{grid-template-columns:1fr;padding:16px;border:5px ridge #77757a;border-radius:0;background:repeating-linear-gradient(135deg,#141315 0 3px,#343236 4px 6px);box-shadow:0 0 0 3px #bd283d,0 16px 0 #060606}body[data-skin="metal"] .screen{border:9px solid #050505;border-radius:0}body[data-skin="metal"] .guide{border-top:3px solid #b8243b}
body[data-skin="ivory"] .cabinet{border:4px solid #bba887;border-radius:18px;background:linear-gradient(130deg,#fff8e8,#d3c2a5);box-shadow:inset 0 0 0 2px #fff7e5,0 12px 24px #4b321c33}body[data-skin="ivory"] .hardware-brand{color:#753039}body[data-skin="ivory"] .tuning-knob{background:repeating-conic-gradient(#7e3d46 0 3deg,#482129 4deg 16deg);border-color:#c1af92}body[data-skin="ivory"][data-tv-page="channel"] .channel-rail{order:-1;border-left:0;border-right:1px solid var(--line);padding:0 18px 0 0}body[data-skin="ivory"][data-tv-page="channel"] .tv-hero{grid-template-columns:205px minmax(0,1fr)}body[data-skin="ivory"] .speaker-grille{background:repeating-linear-gradient(#b4a68d 0 1px,#e6d7ba 2px 4px);border-color:#bba887}
.interface-dialog{color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;width:min(1040px,calc(100% - 32px));max-height:88dvh;padding:35px;box-shadow:0 24px 90px #0008;overflow:auto}.interface-dialog::backdrop{background:#080604bb;backdrop-filter:blur(5px)}.interface-dialog h2{font:500 32px/1.1 Georgia,serif;margin:0 55px 16px 0}.dialog-intro{color:var(--dim);font-size:14px;max-width:70ch}.dialog-close{position:absolute;right:20px;top:20px;background:var(--panel)}.skin-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px}.skin-option{display:grid;grid-template-columns:100px 1fr;gap:3px 18px;padding:16px;text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;min-height:118px;font-family:inherit}.skin-option strong{font-size:15px;align-self:end}.skin-option small{font-size:12px;color:var(--dim);line-height:1.4}.skin-option[aria-pressed=true]{outline:3px solid var(--amber);outline-offset:-3px}.skin-mini{grid-row:span 2;position:relative;display:grid;align-items:center;grid-template-columns:1fr 12px;gap:4px;border-radius:8px;border:3px solid color-mix(in srgb,var(--sample) 60%,#14100b);background:var(--sample);padding:8px}.skin-mini i{display:block;background:linear-gradient(#343833,#080907);aspect-ratio:4/3;border-radius:10%;border:2px solid #b3b0a2}.skin-mini b{display:block;width:9px;height:9px;border:2px solid #c6bb9b;border-radius:50%}.skin-option[data-preview=theatre] .skin-mini{background:repeating-linear-gradient(90deg,#481421 0 5px,#812b3d 6px 9px);padding:10px 15px;grid-template-columns:1fr}.skin-option[data-preview=theatre] .skin-mini b,.skin-option[data-preview=modern] .skin-mini b{display:none}.skin-option[data-preview=modern] .skin-mini{grid-template-columns:1fr;border-radius:1px;padding:3px}.skin-option[data-preview=stadium] .skin-mini{border-radius:0;background:repeating-linear-gradient(90deg,#21402a 0 10px,#3a5d42 11px 20px)}.skin-option[data-preview=metal] .skin-mini{border-radius:0;border:3px ridge #999;box-shadow:0 0 0 2px #a91a2a}.skin-option[data-preview=ivory] .skin-mini i{border-color:#847464}.skin-option[data-preview=cozy] .skin-mini{box-shadow:0 0 15px #dca56466}
.radio-appearance{display:flex;gap:8px;flex-wrap:wrap}.radio-set{position:relative;border-radius:16px;background:repeating-linear-gradient(3deg,#573b28 0 7px,#715139 8px 15px);padding:25px;grid-template-columns:minmax(200px,.9fr) minmax(0,1.1fr);gap:20px;border:5px solid #412a1c}.vinyl-platter{position:relative;grid-column:1;grid-row:1/4;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#171717 0 2px,#333 3px,#171717 4px 7px);border:12px solid #20201f;box-shadow:0 5px 10px #0007;align-self:center;display:grid;place-items:center}.record-label{width:34%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;font:700 clamp(14px,3vw,28px)/1.1 Georgia,serif;background:var(--amber);color:var(--bg);border:3px solid #191919}.record-label small{font:9px/1.5 var(--osd);margin-top:6px}.record-label::after{content:"";width:7px;height:7px;background:#111;border:1px solid #ccc;border-radius:50%;position:absolute;left:calc(50% - 3px);top:calc(50% - 3px)}.tonearm{position:absolute;right:-8%;top:3%;width:50%;height:8px;border-radius:5px;background:linear-gradient(#e4d9bd,#796c57);transform:rotate(65deg);transform-origin:right;box-shadow:0 3px 4px #0006}.tonearm::after{content:"";position:absolute;left:0;top:-5px;width:26px;height:17px;background:#b0a696;border:2px solid #565048}.radio-playing .record-label{animation:record-spin 12s linear infinite}.radio-set>.dial,.radio-set>.vfd,.radio-set>.remote{grid-column:2}.radio-set .dial{height:72px;border-radius:3px}.radio-set .vfd{padding:18px;min-height:140px;border-radius:5px;color:#c1e9bc}.vfd-sub{color:#a7bca5}.radio-set .rlogo{border-radius:4px;background:#193125;border:1px solid #3f6b4b}.rlogo img{background:transparent}.radio-set>.remote{padding-top:12px}.radio-set .vol{width:100%;justify-content:space-between;color:#ecdcc0}.stereo-badge{grid-column:1/-1;text-align:right;color:#e4cda6;font:12px var(--osd);letter-spacing:3px}body[data-radio-look=car] .vinyl-platter{display:none}body[data-radio-look=car] .radio-set{grid-template-columns:1fr;background:linear-gradient(160deg,#aeb0ae,#33383b 16%,#181b1e 70%,#697078);border:6px ridge #737b80;border-radius:18px;padding:26px;box-shadow:inset 0 0 0 4px #111,0 15px 25px #0005}body[data-radio-look=car] .radio-set>.dial,body[data-radio-look=car] .radio-set>.vfd,body[data-radio-look=car] .radio-set>.remote{grid-column:1}body[data-radio-look=car] .radio-set .dial{height:60px;background:#09101b}body[data-radio-look=car] .radio-set .scale{color:#b4d8f2}body[data-radio-look=car] .radio-set .vfd{background:linear-gradient(170deg,#0c253b,#061019);color:#acdbef;border:2px solid #528ba7;box-shadow:inset 0 0 25px #000,0 0 12px #77b8db44;font-family:var(--osd)}body[data-radio-look=car] .vfd-sub{color:#9bbfcd}body[data-radio-look=car] .radio-set .btn{border-radius:5px;background:linear-gradient(#505b64,#252c32);color:#b8def2;border-color:#6c8694;box-shadow:0 2px 0 #0c1319}body[data-radio-look=car] #rPlay{border-radius:50%;min-width:84px;min-height:84px;justify-content:center;border:7px ridge #9da6aa;box-shadow:0 0 9px #70b5ce}body[data-radio-look=car] .stereo-badge{color:#adcedc}body[data-radio-look=car] .radio-set .scale::after{background:repeating-linear-gradient(90deg,#5d94af 0 1px,transparent 1px 10px)}
.wcard{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px}.wlead{color:var(--ink);text-shadow:none}.wstats span{background:var(--bg);border-radius:2px}.wstats b{color:var(--amber)}.whint{color:var(--dim)}.wgo .btn{font-size:14px}.foot{margin-top:26px;padding-top:24px}.about{max-width:80ch}.about summary{min-height:44px;padding-top:10px}form.suggest select,form.suggest textarea{border-radius:2px}.gcard,.gidle,.gscreen{border-radius:3px}.ggrid{gap:12px}.guide .hint{margin-top:15px}.gscreen{border:6px solid #151413}.gscreen .gidle{background:#171717;color:#f1eadd}.nowrow .n{font-family:var(--osd)}
.fullscreen-controls{display:none}.player-fullscreen{overflow:hidden}.player-fullscreen #screen{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;aspect-ratio:auto;background:#000;border:0;border-radius:0;box-shadow:none;z-index:90}.screen:fullscreen,.screen:-webkit-full-screen{width:100%;height:100%;aspect-ratio:auto;border-radius:0;border:0;background:#000}.player-fullscreen .fullscreen-controls{position:absolute;display:grid;gap:9px;bottom:0;left:0;right:0;padding:100px 24px 24px;background:linear-gradient(transparent,#000d 45%,#000f);color:#fff;z-index:12;transition:opacity .25s}.fullscreen-controls .channel-identity{max-width:200px;--panel:#222;--ink:#fff}.fullscreen-title{font:500 30px/1.2 Georgia,serif;margin:0;color:#fff}.fullscreen-next{font:14px var(--display);margin:0;color:#ded8ce}.fullscreen-remote{display:flex;gap:8px;flex-wrap:wrap}.fullscreen-remote .btn{background:#222d;color:#fff;border-color:#888;min-height:44px}.player-fullscreen .controls-idle-unused{display:none}.player-fullscreen.controls-idle #screen{cursor:none}.controls-idle .fullscreen-controls{opacity:0;pointer-events:none}.player-fullscreen .osd,.player-fullscreen .lower{display:none}.screen:fullscreen .power{z-index:15}.player-fullscreen .power{z-index:15}.screen .power{color:#f0ebdf;background:#000b}.screen .power small{color:#d4cab9}
@keyframes record-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.tv-hero{gap:22px;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr)}.nav-name{display:none}.tab{padding:10px 14px}.wrap>header .tag{display:none}.current-skin{margin-left:0}.tv-hardware{gap:12px}.cabinet{grid-template-columns:minmax(0,1fr) 50px;padding:14px;gap:13px}.tuning-knob{width:44px;height:44px}.tuning-knob::after{left:19px;height:15px}.screen{border-width:8px}body[data-tv-page=channel] .tv-hero,body[data-skin=ivory][data-tv-page=channel] .tv-hero,body[data-skin=modern][data-tv-page=channel] .tv-hero{grid-template-columns:minmax(0,1fr) 165px}.compact .channel-logo{width:120px;height:62px}}
@media(max-width:640px){body{padding:15px 14px 25px}.wrap{gap:16px}.wrap>header{padding-bottom:17px;min-height:80px}.site-wordmark{font-size:26px}.site-wordmark small{font-size:19px}.site-wordmark>svg{left:37px}.current-skin{font-size:12px}.online{padding:3px 8px;font-size:15px}.tabs{gap:7px}.tab{padding:9px 12px}.tv-hero,body[data-skin=modern] .tv-hero,body[data-tv-page=channel] .tv-hero,body[data-skin=ivory][data-tv-page=channel] .tv-hero,body[data-skin=modern][data-tv-page=channel] .tv-hero{grid-template-columns:1fr;gap:18px}.landing-copy{padding:5px 0;gap:12px;grid-template-columns:1fr auto;align-items:center}.landing-copy .eyebrow,.landing-title,.landing-next,.landing-copy .archive-donate{grid-column:1/-1}.landing-station{grid-column:1}.landing-copy .watch-channel{grid-column:2;grid-row:2}.watch-channel span{display:none}.landing-title{font-size:28px}.channel-identity{width:188px}.channel-logo{width:146px;height:78px}.landing-copy .eyebrow{font-size:10px;margin-bottom:0}.tv-hardware{gap:9px}.cabinet{padding:12px;grid-template-columns:minmax(0,1fr) 43px;gap:10px;border-width:3px}.screen{border-width:6px}.hardware-brand{font-size:8px}.tuning-knob{width:38px;height:38px;border-width:2px}.tuning-knob::after{left:16px;height:13px;top:3px}.tuning-knob:nth-of-type(2){width:32px;height:32px}.tuning-knob:nth-of-type(2)::after{left:13px;height:11px}.speaker-grille{min-height:25px}.remote{gap:6px}.remote .btn{padding:10px;min-width:42px}.now h2{font-size:26px}.now .meta{font-size:12px}.guide-head h3{font-size:15px}.guide-instructions{font-size:11px}.ruler,.chan{grid-template-columns:24px 108px minmax(440px,1fr);min-width:620px;gap:7px;padding-inline:7px}.chan .t{left:38px}.chan .n{left:7px}.chan .compact .channel-logo{width:100px;height:60px}.chan .logo-mat{padding:2px}.band{min-width:620px}.track{height:70px}.blk b{font-size:12px}.channel-rail,body[data-tv-page=channel] .channel-rail,body[data-skin=ivory][data-tv-page=channel] .channel-rail{order:2!important;max-height:230px;display:grid;grid-template-columns:1fr 1fr;border:0;border-top:1px solid var(--line);padding:12px 0 0;gap:6px}.channel-rail h3{grid-column:1/-1}.rail-channel{min-width:0}.channel-rail .compact .channel-logo{width:110px;height:60px}body[data-skin=theatre] .cabinet{padding:15px 24px}.interface-dialog{padding:25px 18px;max-height:90dvh}.interface-dialog h2{font-size:26px;margin-right:42px}.dialog-close{top:13px;right:13px;padding:8px}.skin-options{grid-template-columns:1fr;gap:10px}.skin-option{grid-template-columns:85px 1fr;gap:4px 14px;min-height:105px;padding:12px}.skin-option strong{font-size:14px}.skin-option small{font-size:11px}.radio-set{grid-template-columns:minmax(0,1fr);padding:17px;border-width:3px;gap:16px}.vinyl-platter{width:75%;max-width:330px;grid-row:auto;grid-column:1;justify-self:center}.radio-set>.dial,.radio-set>.vfd,.radio-set>.remote{grid-column:1}.radio-set .rlogo{width:54px}.radio-set .vfd{min-height:110px;padding:14px}.radio-set .vfd-txt{min-width:0}#rName{font-size:26px}.radio-set .scale{font-size:16px}.radio-set .vol{font-size:13px}.record-label{font-size:22px}.stereo-badge{font-size:10px}body[data-radio-look=car] .radio-set{padding:18px}.ggrid{grid-template-columns:repeat(2,minmax(0,1fr))}.nowrow{grid-template-columns:30px 1fr}.nowrow .nm{grid-column:2}.nowrow .go,.nowrow .pg{grid-column:2}.fullscreen-title{font-size:24px}.fullscreen-next{font-size:12px}.player-fullscreen .fullscreen-controls{padding:80px 14px 18px}.fullscreen-remote{gap:6px}.fullscreen-remote .btn{padding:9px}.foot{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.screen .osd{color:#e3f2cf;text-shadow:0 2px 4px #000}.screen .lower{color:#fff;text-shadow:0 2px 4px #000}.screen .power b{color:#f0d7b4}
.player-fullscreen .power,.screen:fullscreen .power{z-index:5}
body[data-tv-page="guide"] .channel-rail{display:none!important}
.radio-set .vfd-k,.radio-set #rName{color:#c8e5c0;text-shadow:none}body[data-radio-look=car] .radio-set .vfd-k,body[data-radio-look=car] .radio-set #rName{color:#c0e4f5}
.tonearm{right:3%;top:10%;transform:rotate(-55deg);pointer-events:none}
/* Square artwork surfaces keep the channel badges consistent across views. */
.wrap>header{position:relative;padding-right:60px}
.theme-picker{position:absolute;top:12px;right:0;min-width:44px;min-height:44px;justify-content:center;background:transparent;border-color:transparent;padding:10px}
.theme-picker:hover{background:var(--panel);border-color:var(--line)}
@media(max-width:640px){.wrap>header{padding-right:54px}.theme-picker{top:3px}.current-skin{display:none}}
.wrap>header{padding-right:130px}
.wrap>header .tag{margin-right:auto}
.theme-picker{width:118px;flex-direction:column;gap:5px;padding:8px 4px}
.theme-picker .current-skin{display:block;margin:0;font:11px/1.25 var(--osd);letter-spacing:0;white-space:nowrap;color:var(--dim)}
@media(max-width:640px){.wrap>header{padding-right:118px}.theme-picker{width:108px}.theme-picker .current-skin{font-size:10px}}
.channel-identity{width:154px;grid-template-columns:24px minmax(0,1fr)}
.logo-mat{width:120px;height:120px;aspect-ratio:1;padding:6px;flex-shrink:0}
.compact .logo-mat{width:104px;height:104px;padding:4px}
.logo-mat .channel-logo{width:100%!important;height:100%!important;max-width:100%;object-fit:contain}
.ruler,.chan{grid-template-columns:28px 120px minmax(600px,1fr);min-width:800px}
.chan .track{height:112px}.chan .channel-identity{justify-items:center}
.chan .compact .logo-mat{width:104px;height:104px}.rail-channel{min-height:114px}
.fullscreen-controls .compact .logo-mat{width:72px;height:72px}
.channel-schedule{border-top:1px solid var(--line);padding:20px 0 10px;min-width:0}
.channel-schedule h3{font:500 18px var(--osd);letter-spacing:1px;color:var(--amber);margin:0 0 18px}
.channel-schedule-list{list-style:none;padding:0;margin:0;display:grid}
.channel-schedule-item{display:grid;grid-template-columns:80px 150px minmax(0,1fr);align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.schedule-state{font:14px var(--osd);color:var(--dim);letter-spacing:1px}
.channel-schedule-item:first-child .schedule-state{color:var(--amber);font-weight:bold}
.schedule-time{font-size:13px;color:var(--dim);font-variant-numeric:tabular-nums}
.schedule-title{appearance:none;background:none;border:0;padding:6px 0;min-height:44px;color:var(--ink);font:600 15px/1.4 var(--display);text-align:left;cursor:pointer;overflow-wrap:anywhere}
.schedule-title:hover{text-decoration:underline;text-underline-offset:4px}.schedule-status{font-size:13px;color:var(--dim)}
body[data-tv-page=guide] .channel-schedule{display:none}
.chan .track{height:70px}.chan .compact .logo-mat{width:70px;height:70px}
.chan .t{display:flex;align-items:center;gap:6px}.chan .t>.channel-identity{flex:0 0 70px}
.chan .t>.vw{min-width:0;line-height:1.2;overflow-wrap:anywhere}
@media(max-width:640px){.channel-identity{width:120px;grid-template-columns:20px minmax(0,1fr);gap:5px}.logo-mat{width:90px;height:90px;padding:4px}.compact .logo-mat{width:80px;height:80px}.ruler,.chan{grid-template-columns:24px 86px minmax(440px,1fr);min-width:590px}.chan .compact .logo-mat{width:78px;height:78px}.chan .track{height:86px}.rail-channel{min-height:90px}.fullscreen-controls .compact .logo-mat{width:60px;height:60px}.channel-schedule-item{grid-template-columns:68px minmax(0,1fr);gap:4px 12px;padding:12px 0}.schedule-title{grid-column:2;grid-row:1/3;font-size:13px}.schedule-time{grid-column:1;font-size:11px}.schedule-state{font-size:12px}.channel-schedule h3{font-size:16px}}
@media(max-width:640px){.ruler,.chan{grid-template-columns:24px 100px minmax(440px,1fr);min-width:604px}.chan .track{height:54px}.chan .compact .logo-mat{width:54px;height:54px}.chan .t{gap:4px}.chan .t>.channel-identity{flex-basis:54px}}
/* Keep the channel identity snug against the listings, including while scrolling. */
.ruler,.chan{grid-template-columns:20px 70px minmax(600px,1fr);gap:4px;min-width:710px;padding-inline:6px}
.band{min-width:710px}.chan .n{left:6px;font-size:18px;line-height:1.2;justify-items:center;min-width:0}.chan .t{left:30px;gap:0}
.chan .n>.vw{display:flex;align-items:center;justify-content:center;width:20px;gap:1px;font:10px/1.2 var(--osd);color:var(--phosphor);white-space:nowrap}
.chan .n>.vw:empty{display:none}.chan .n>.vw svg{width:10px;height:10px}
@media(max-width:640px){.ruler,.chan{grid-template-columns:20px 54px minmax(440px,1fr);gap:3px;min-width:534px;padding-inline:7px}.band{min-width:534px}.chan .n{left:7px}.chan .t{left:30px}}
