/* tv.css - Reaper Man TV (/tv/). Adds to /music/releases/releases.css. */
.tv-top{padding-top:clamp(28px,5vw,56px)}
.tv-head .sub{margin-bottom:18px}
.tv-app{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:22px;align-items:start;margin-top:18px}

/* The set */
.tv-cabinet{position:relative;padding:clamp(10px,2.2vw,22px) clamp(10px,2.2vw,22px) 0;border-radius:26px;
 background:linear-gradient(160deg,#2a2528 0%,#161315 45%,#0c0a0b 100%);border:1px solid #3a3236;
 box-shadow:inset 0 2px 0 rgba(255,255,255,.06),inset 0 -6px 18px rgba(0,0,0,.6),0 18px 40px rgba(0,0,0,.7)}
.tv-screen{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:18px/22px;background:#000;
 box-shadow:0 0 0 3px #050405,0 0 0 5px #2d282b,inset 0 0 60px rgba(0,0,0,.9)}
.tv-picture{position:absolute;inset:0}
.tv-picture video,.tv-yt,.tv-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.tv-picture video{object-fit:contain}
.tv-picture video::cue{font:500 1.05rem/1.3 'Barlow Condensed',Arial,sans-serif;background:rgba(0,0,0,.75)}
.tv-scan{position:absolute;inset:0;pointer-events:none;border-radius:inherit;
 background:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0 2px,rgba(0,0,0,.16) 2px 3px),radial-gradient(ellipse at center,rgba(0,0,0,0) 60%,rgba(0,0,0,.45) 100%)}
.tv-screen.is-yt .tv-scan,.tv-screen.is-yt .tv-osd{display:none}

/* On-screen display (Archive channels only; YouTube must not be covered) */
.tv-osd{position:absolute;inset:0;pointer-events:none;padding:clamp(10px,3%,22px);font-family:'Orbitron',sans-serif;color:#7dff9a;
 text-shadow:0 0 2px #000,1px 1px 0 #000,0 0 6px rgba(0,0,0,.9)}
.tv-osd-top{display:flex;justify-content:space-between;gap:10px;font-weight:700;font-size:clamp(.8rem,2.6vw,1.35rem);letter-spacing:.06em}
.tv-osd-name{margin-top:4px;font:600 clamp(.95rem,2.6vw,1.3rem) 'Barlow Condensed',Arial,sans-serif;color:#eafff0;max-width:80%}
.tv-osd-vol{position:absolute;left:clamp(10px,3%,22px);right:clamp(10px,3%,22px);bottom:clamp(10px,4%,26px);display:flex;align-items:center;gap:10px;font-weight:700;font-size:clamp(.7rem,2vw,1rem)}
.tv-osd-vol i{flex:1;height:12px;border:2px solid #7dff9a;padding:1px;box-shadow:0 0 0 1px #000}
.tv-osd-vol b{display:block;height:100%;width:0;background:#7dff9a}

/* Reaper Man house commercials, drawn on the screen (no outside video) */
.tv-house{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:9% 6% 11%;overflow:hidden;
 background:radial-gradient(ellipse at 30% 40%,#3a0c15 0%,#14070a 55%,#060405 100%);color:var(--bone)}
.tv-house[hidden]{display:none}
.tv-house-tag{position:absolute;bottom:4%;left:4%;padding:3px 10px;border-radius:4px;background:#b8162d;color:#fff;
 font:700 clamp(.55rem,1.7vw,.8rem) 'Orbitron',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.tv-house-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:5%;align-items:center}
.tv-house-art{border-radius:10px;overflow:hidden;box-shadow:0 0 0 2px #3a1a22,0 10px 30px rgba(0,0,0,.6);background:#0b0809}
.tv-house-art img{display:block;width:100%;height:auto;aspect-ratio:5/2;object-fit:cover;animation:tv-house-zoom 15s ease-out both}
@keyframes tv-house-zoom{from{transform:scale(1)}to{transform:scale(1.07)}}
.tv-house-title{font:900 clamp(.95rem,3.6vw,1.9rem)/1.1 'Orbitron',sans-serif;color:var(--blood);letter-spacing:.03em}
.tv-house-line{margin-top:.5em;font:500 clamp(.85rem,2.6vw,1.3rem)/1.3 'Barlow Condensed',Arial,sans-serif;color:#eadfe2}
.tv-house-cta{display:inline-flex;align-items:center;min-height:44px;margin-top:.8em;padding:6px 16px;border:1px solid #f04458;border-radius:99px;background:#b8162d;color:#fff;
 font:700 clamp(.6rem,1.8vw,.85rem) 'Orbitron',sans-serif;letter-spacing:.06em;text-decoration:none}
.tv-house-cta:hover,.tv-house-cta:focus-visible{background:#e0213b}
.tv-tarot{display:flex;justify-content:center;gap:6%;padding:8% 4%}
.tv-tarot span{flex:0 1 30%;aspect-ratio:2/3;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:6% 4%;border:2px solid #b8162d;border-radius:8px;
 background:linear-gradient(180deg,#2a0b11,#12060a);color:#f3d9de;text-align:center}
.tv-tarot b{font:700 clamp(.5rem,1.5vw,.8rem) 'Orbitron',sans-serif}
.tv-tarot i{font-style:normal;font-size:clamp(1.1rem,4vw,2.2rem);color:var(--blood)}
.tv-tarot small{font:600 clamp(.5rem,1.5vw,.8rem) 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.06em}
.tv-adtag{position:absolute;left:4%;bottom:4%;padding:2px 8px;border-radius:4px;background:rgba(0,0,0,.7);color:#eadfe2;pointer-events:none;
 font:700 clamp(.5rem,1.5vw,.72rem) 'Orbitron',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.tv-adtag[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.tv-house-art img{animation:none}}
@media(max-width:420px){.tv-house{padding:12% 5% 13%}.tv-house-body{gap:4%}}

/* Cards shown on the screen: off, tuning, stand by, break */
.tv-slate{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:6%;
 background:radial-gradient(ellipse at center,#1d1719 0%,#060506 75%);color:var(--bone)}
.tv-slate[hidden]{display:none!important}
.tv-slate-logo{font:900 clamp(1.1rem,4.6vw,2.4rem) 'Orbitron',sans-serif;color:var(--blood);letter-spacing:.08em}
.tv-slate-msg{margin-top:8px;font:700 clamp(.85rem,2.6vw,1.2rem) 'Orbitron',sans-serif;letter-spacing:.05em}
.tv-slate-sub{margin-top:6px;color:var(--ash);font-size:clamp(.95rem,2.6vw,1.15rem)}
.tv-power-big{margin-top:14px;min-height:44px;padding:10px 22px;border:1px solid #f04458;border-radius:99px;background:#b8162d;color:#fff;font:700 .85rem 'Orbitron',sans-serif;letter-spacing:.08em;cursor:pointer}
.tv-power-big:hover{background:#e0213b}
.tv-slate[data-mode=break]{background:repeating-linear-gradient(135deg,#2a0b11 0 22px,#1a0709 22px 44px)}
.tv-slate[data-mode=standby]{background:linear-gradient(90deg,#3a3a3a 0 14.28%,#5a5a2a 0 28.57%,#2a4a4a 0 42.85%,#2a4a2a 0 57.14%,#4a2a4a 0 71.42%,#4a2a2a 0 85.71%,#2a2a4a 0)}
.tv-slate[data-mode=standby] .tv-slate-in,.tv-slate[data-mode=break] .tv-slate-in{padding:14px 18px;border-radius:12px;background:rgba(0,0,0,.78)}
.tv-slate[data-mode=tuning]{background:rgba(6,5,6,.82)}

/* Fill-the-window mode (iPhone, where real full screen is not allowed) and real full screen */
.tv-fill-exit{position:absolute;top:10px;right:10px;z-index:5;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.8);color:#fff;font:700 .75rem 'Orbitron',sans-serif;cursor:pointer}
.tv-screen.is-fill{position:fixed;inset:0;z-index:1000;width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
html.tv-filling,html.tv-filling body{overflow:hidden}
html.tv-filling main{z-index:1001}  /* main is a stacking context (releases.css); lift it over the side rail and nav */
.tv-screen:fullscreen{width:100%;height:100%;aspect-ratio:auto;border-radius:0}
.tv-screen:-webkit-full-screen{width:100%;height:100%;border-radius:0}

/* Bezel under the screen */
.tv-bezel{display:flex;align-items:center;gap:12px;padding:12px 4px 14px}
.tv-brand{font:900 .78rem 'Orbitron',sans-serif;letter-spacing:.2em;color:#a99ea3}
.tv-lcd{flex:1;min-width:0;min-height:2.1em;padding:4px 10px;border-radius:6px;background:#0a1a0e;border:1px solid #1d3b24;color:#7dff9a;
 font:700 clamp(.62rem,1.9vw,.8rem)/1.6 'Orbitron',sans-serif;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-led{width:10px;height:10px;border-radius:50%;background:#3a1015;box-shadow:inset 0 1px 2px rgba(0,0,0,.6)}
.tv-led.on{background:#ff2929;box-shadow:0 0 6px #ff2929}

.tv-info{padding:12px 4px 0}
.tv-now{font:600 1.15rem/1.35 'Barlow Condensed',Arial,sans-serif;min-height:2.7em}
.tv-now b{color:var(--blood);font-weight:600}
.tv-next{color:var(--ash);min-height:1.5em}
.tv-meta{margin-top:6px;color:var(--ash)}
.tv-meta a{color:var(--blood)}

/* Remote */
.tv-remote{padding:16px 14px 14px;border-radius:30px 30px 22px 22px;background:linear-gradient(180deg,#1d191b,#0d0b0c);border:1px solid #3a3236;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 28px rgba(0,0,0,.6)}
.rm-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.rm-rocker{display:grid;gap:6px}
.rm-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
.rm-fn{grid-template-columns:repeat(3,1fr)}
.rb{min-height:44px;min-width:0;padding:6px 4px;border:1px solid #3d3539;border-radius:10px;background:linear-gradient(180deg,#2c2629,#1a1618);color:var(--bone);
 font:700 .72rem 'Orbitron',sans-serif;letter-spacing:.04em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.rb:hover{border-color:var(--blood)}
.rb:active{transform:translateY(1px);background:#141113}
.rb[aria-pressed=true]{background:#b8162d;border-color:#f04458;color:#fff}
.rb-power{background:linear-gradient(180deg,#8c1424,#5c0c17);border-color:#b8162d}
.rn{font-size:.95rem}
.rm-keys{margin-top:4px;color:var(--ash);font-size:.95rem;line-height:1.35}

/* Text sections */
#whats-on p,#how-it-works p,#credits>p,#channel-list>p{max-width:75ch;margin-bottom:14px;color:#e6dfe2}
#credits a,#whats-on a,#how-it-works a,.tv-faq a{color:var(--blood)}
.tv-chlist{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:10px}
.tv-chlist li{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#0b090b}
.tv-chlist h3{font:700 1rem 'Orbitron',sans-serif;letter-spacing:.04em;margin-bottom:6px}
.tv-chlist h3 small{font:600 .95rem 'Barlow Condensed',sans-serif;color:var(--ash);letter-spacing:0;margin-left:6px}
.tv-chn{display:inline-block;min-width:2.2em;padding:1px 6px;margin-right:4px;border-radius:5px;background:#0a1a0e;color:#7dff9a;text-align:center}
.tv-chlist p{color:#e6dfe2}
.tv-chprogs{margin-top:6px;color:var(--ash)!important;font-size:1rem}
.tv-chprogs a{color:var(--blood)}
.tv-cred{border:1px solid var(--line);border-radius:10px;margin-top:10px;background:#0b090b}
.tv-cred summary{padding:12px 16px;min-height:44px;cursor:pointer;font:700 .85rem 'Orbitron',sans-serif;letter-spacing:.04em}
.tv-cred ul{padding:0 18px 14px 34px}
.tv-cred li{margin:6px 0;color:#e6dfe2;font-size:1.02rem;overflow-wrap:anywhere}
.tv-faq h3{font:700 1.02rem 'Orbitron',sans-serif;letter-spacing:.03em;margin:20px 0 6px;color:var(--bone)}
.tv-faq p{max-width:75ch;color:#e6dfe2}

/* TV guide: only .tvg-wrap scrolls sideways; the page keeps its one scrollbar */
.tvg-sub{max-width:75ch;color:#e6dfe2;margin-bottom:14px}
.tvg-strip{display:flex;align-items:center;gap:10px;margin-bottom:16px;border:1px solid #1d3b24;border-radius:10px;background:#0a1a0e;padding:4px 4px 4px 4px}
.tvg-strip-btn{flex:0 0 auto;min-width:64px}
.tvg-strip-view{flex:1;min-width:0;overflow:hidden}
.tvg-strip-track{display:inline-flex;white-space:nowrap;animation:tvg-roll 120s linear infinite;color:#7dff9a;font:600 1.02rem/44px 'Barlow Condensed',Arial,sans-serif}
.tvg-strip-track span{padding-right:34px}
.tvg-strip-track b{font:700 .78rem 'Orbitron',sans-serif;letter-spacing:.04em;color:#eafff0;margin-right:6px}
.tvg-strip-copy{display:inline-flex;padding:0!important}
.tvg-strip:hover .tvg-strip-track,.tvg-strip:focus-within .tvg-strip-track,.tvg-strip-track.paused{animation-play-state:paused}
@keyframes tvg-roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tvg-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;margin-bottom:14px}
.tvg-preview,.tvg-nn{border:1px solid var(--line);border-radius:12px;background:#0b090b;padding:14px 16px;min-height:208px}
.tvg-pv-ch{font:700 .85rem 'Orbitron',sans-serif;letter-spacing:.04em}
.tvg-pv-ch small{font:600 .95rem 'Barlow Condensed',sans-serif;color:var(--ash);letter-spacing:0;margin-left:6px}
.tvg-pv-title{margin-top:8px;font:600 1.35rem/1.25 'Barlow Condensed',Arial,sans-serif;color:var(--bone)}
.tvg-pv-title small{font-size:1rem;color:var(--ash)}
.tvg-pv-time{margin-top:4px;color:#7dff9a}
.tvg-pv-desc{margin-top:6px;color:#e6dfe2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tvg-pv-btns{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.tvg-pv-btns .btn{min-height:44px;cursor:pointer}
.tvg-nn h3{font:700 .85rem 'Orbitron',sans-serif;letter-spacing:.04em;margin-bottom:8px}
.tvg-nn ol{list-style:none}
.tvg-nn li{padding:4px 0;border-top:1px solid rgba(255,255,255,.06);color:#e6dfe2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tvg-nn li small{color:var(--ash)}
.tvg-nn-t{display:inline-block;min-width:5.2em;color:#7dff9a;font-variant-numeric:tabular-nums}
.tvg-nn li.tvg-nn-now{color:var(--bone);font-weight:600}
.tvg-nn li.tvg-nn-brk{color:var(--ash);font-style:italic}
.tvg-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:8px}
.tvg-f{display:flex;flex-direction:column;gap:4px;font:700 .72rem 'Orbitron',sans-serif;letter-spacing:.04em;color:var(--ash);flex:1 1 180px;min-width:0}
.tvg-f input,.tvg-f select{min-height:44px;width:100%;padding:8px 10px;border:1px solid #3d3539;border-radius:10px;background:#120f11;color:var(--bone);font:500 1rem 'Barlow Condensed',Arial,sans-serif}
.tvg-f input:focus,.tvg-f select:focus{outline:2px solid var(--blood);outline-offset:1px}
.tvg-tools>.rb{padding:6px 12px}
.tvg-nav{display:flex;gap:6px}
.tvg-nav .rb{padding:6px 10px}
.tvg-help{color:var(--ash);margin-bottom:4px}
.tvg-empty{color:#ffb3bd;min-height:1.4em}
.tvg-wrap{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:12px;background:#070607;overscroll-behavior-x:contain}
.tvg-grid{--slot:300px;--chw:160px;--rowh:52px;position:relative;width:max-content}
.tvg-head,.tvg-row{display:flex}
.tvg-head{height:34px;border-bottom:1px solid #3a3236;background:#120f11}
.tvg-corner,.tvg-ch{position:sticky;left:0;z-index:3;flex:0 0 var(--chw);width:var(--chw);background:#120f11;border-right:1px solid #3a3236}
.tvg-corner{z-index:4;padding:0 10px;font:700 .7rem/34px 'Orbitron',sans-serif;color:var(--ash);white-space:nowrap;overflow:hidden}
.tvg-times{position:relative;flex:0 0 auto}
.tvg-times span{position:absolute;top:0;padding-left:8px;border-left:1px solid #2a2427;font:700 .7rem/34px 'Orbitron',sans-serif;color:#7dff9a;letter-spacing:.04em}
.tvg-row{height:var(--rowh);border-bottom:1px solid #1d1a1c}
.tvg-row[hidden]{display:none}
.tvg-ch{display:flex;align-items:stretch}
.tvg-chbtn{flex:1;min-width:0;display:flex;align-items:center;gap:4px;padding:0 4px 0 8px;border:0;background:none;color:var(--bone);text-align:left;cursor:pointer;font:600 .98rem/1.1 'Barlow Condensed',Arial,sans-serif}
.tvg-chbtn .tv-chn{flex:0 0 auto;font:700 .72rem/1.6 'Orbitron',sans-serif}
.tvg-chname{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tvg-chbtn:hover .tvg-chname{color:var(--blood)}
.tvg-star{flex:0 0 36px;border:0;background:none;color:#5a5054;font-size:1.15rem;cursor:pointer}
.tvg-star[aria-pressed=true]{color:#ffd23f}
.tvg-star:hover{color:#ffe27a}
.tvg-lane{position:relative;flex:0 0 auto}
.tvg-p,.tvg-b{position:absolute;top:3px;bottom:3px}
.tvg-p{display:flex;align-items:center;gap:5px;padding:0 6px;overflow:hidden;white-space:nowrap;text-align:left;border:1px solid #3a3236;border-radius:6px;background:#1a1618;color:#e6dfe2;cursor:pointer;
 font:500 .98rem 'Barlow Condensed',Arial,sans-serif}
.tvg-p b{font:700 .66rem 'Orbitron',sans-serif;color:var(--ash);flex:0 0 auto}
.tvg-p span{overflow:hidden;text-overflow:ellipsis}
.tvg-p small{flex:0 0 auto;color:var(--ash);font-size:.8rem}
.tvg-p:hover,.tvg-p.sel{border-color:var(--blood);background:#26191d}
.tvg-p.now{background:#14261a;border-color:#2c6a3b}
.tvg-p.now b{color:#7dff9a}
.tvg-p.hit{box-shadow:inset 0 0 0 2px #ffd23f}
.tvg-p:focus-visible,.tvg-chbtn:focus-visible,.tvg-star:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.tvg-b{border-radius:3px;background:repeating-linear-gradient(135deg,#3a1018 0 4px,#1a0709 4px 8px)}
.tvg-nowline{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#ff2929;z-index:2;pointer-events:none}

@media(prefers-reduced-motion:reduce){
 .tvg-strip-track{animation:none;white-space:normal;display:flex;flex-wrap:wrap;line-height:1.5;padding:6px 0}
 .tvg-strip-copy{display:none}
}

@media(max-width:900px){
 .tv-app{grid-template-columns:minmax(0,1fr)}
 .tvg-top{grid-template-columns:minmax(0,1fr)}
 .tvg-preview,.tvg-nn{min-height:0}
 .tvg-preview{min-height:212px}
 .tv-remote{max-width:420px;width:100%;margin:0 auto}
 .rm-fn{grid-template-columns:repeat(6,1fr)}
}
@media(max-width:420px){
 .tv-cabinet{border-radius:18px}
 .tv-screen{border-radius:12px/14px}
 .rm-fn{grid-template-columns:repeat(3,1fr)}
 .tv-brand{display:none}
 .tv-chlist{grid-template-columns:1fr}
 .tvg-grid{--slot:240px;--chw:112px;--rowh:60px}
 .tvg-chbtn{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding-left:6px}
 .tvg-chbtn .tvg-chname{font-size:.86rem;line-height:1.05}
 .tvg-star{flex-basis:30px}
 .tvg-nav{width:100%}
 .tvg-nav .rb{flex:1}
}
