/* Scoped homepage integration. Existing book components own the release layout. */
.publisher-home .tarbell-release .next-copy .display-title{font-size:clamp(42px,4.6vw,68px);line-height:.94}
.tv-release-byline{font-style:italic}
.tarbell-release .tv-release-availability{font:800 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.tv-release-books{display:flex;gap:5%;width:100%;padding-left:4%;align-items:center}
.tv-release-books a{display:block;width:35%;max-width:230px}
.tv-release-books img{display:block;width:100%;height:auto;box-shadow:10px 14px 22px #0006}
/* Keep the full panorama; a paper wash lets the original ink/red palette stay legible. */
.publisher-home .tv-imprint{position:relative;padding:64px 0;background:url('unruly-tv/rf-observatory-1fe1eff76aaa.webp') center/cover no-repeat}
.publisher-home .tv-imprint .imprint-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px 48px}
.publisher-home .tv-imprint .imprint-grid>.red-panel{display:none}
.publisher-home .tv-imprint .imprint-grid>div:nth-child(2){grid-column:2;grid-row:1;align-self:end;min-width:0}
.publisher-home .tv-imprint .imprint-grid>.side-column{grid-column:2;grid-row:2;align-self:start;padding:0;margin:0}
.publisher-home .tv-imprint .tv-scene{grid-column:1;grid-row:1/3}
.publisher-home .tv-imprint h2{font-size:clamp(42px,5vw,78px)}
.tv-imprint-red{color:var(--red)}
.tv-scene{position:relative;min-width:0;width:100%;isolation:isolate}
.tv-cabinet{position:relative;width:min(100%,635px);aspect-ratio:1122/1141;margin:auto;container-type:inline-size;filter:drop-shadow(10px 17px 9px #101a2566)}
.tv-hardware,.tv-antenna-indicator{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.tv-antenna-indicator{z-index:2}
/* The original UNRULY CHAIN lettering is printed in the approved television shell.
   Leave it fully visible unless this exact physical faceplate plaque has a verified
   source link. In active state, cover only the plaque interior with a quiet lit label.
   Coordinates are based on 1122x1141 source art, not a video-screen overlay. */
.tv-faceplate-details{position:absolute;z-index:6;left:35.85%;top:71.62%;width:28.30%;height:4.45%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;white-space:nowrap;padding:0 1%;border:0;border-radius:2px;background:linear-gradient(180deg,#decdb2 0%,#e0d0b8 46%,#cdb99d 100%);color:#bc3529;font:800 clamp(5.5px,1.82cqw,13px)/1.1 Arial,Helvetica,sans-serif;letter-spacing:.115em;text-decoration:none;text-shadow:0 0 2px #fff8d1,0 0 5px #f85d3ebd,0 0 11px #ed5d3a6a;box-shadow:inset 0 1px 1px #fff8e0b8;cursor:pointer;-webkit-tap-highlight-color:transparent}
/* Extend the invisible tap target vertically on phones; no visual size change. */
.tv-faceplate-details::before{content:'';position:absolute;left:0;right:0;top:50%;height:max(44px,100%);transform:translateY(-50%);background:transparent}
.tv-faceplate-details[hidden]{display:none}
.tv-faceplate-details:hover{color:#9e261e;text-shadow:0 0 3px #fff8d7,0 0 6px #ff785de3,0 0 11px #e94d3e9e}
.tv-faceplate-details:focus-visible{outline:2px dashed var(--red);outline-offset:3px}

#tv-antenna-marker{fill:none;stroke:var(--red);stroke-width:12;stroke-linecap:round}
.tv-viewport{position:absolute;left:11.7%;top:18.7%;width:77%;height:45.5%;border-radius:15%/18%;background:#0b1317;overflow:hidden;isolation:isolate}
.tv-viewport video{display:block;width:100%;height:100%;object-fit:contain;background:#090f13}
.tv-viewport video[hidden]{display:none}
/* Do not expose a previous clip or a hard-coded poster between media loads. */
.tv-viewport[data-buffering='true'] video{visibility:hidden}
.tv-viewport::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 7px 6px 20px #bad3c615,inset -7px -6px 18px #04070b8f}
.tv-static{display:none}
.tv-static-canvas{display:none;position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}
.tv-viewport[data-static='true'] .tv-static-canvas{display:block}
.tv-channel-message{display:none;position:absolute;top:42%;left:7%;right:7%;color:var(--paper);text-align:center;background:#0b141ae6;padding:12px 6px;font:700 clamp(9px,1.1vw,15px)/1.5 var(--sans);letter-spacing:.12em}
/* Static and unavailable channels must have no visible message overlays. */
.tv-screen-status{position:absolute;z-index:4;bottom:7%;left:6%;right:6%;background:#071218e6;color:var(--paper);font:700 clamp(8px,1vw,14px)/1.3 var(--sans);letter-spacing:.08em;padding:7px 10px;pointer-events:none}
.tv-screen-status[hidden]{display:none}
/* Each metal control occupies a cutout in the shell, never a second face on top. */
.tv-hotspot{position:absolute;z-index:3;display:block;padding:0;border:0;color:#181713;cursor:pointer;touch-action:none;background:transparent;-webkit-tap-highlight-color:transparent}
.tv-hotspot[data-pointer]:focus{outline:none}
.tv-hotspot:focus-visible:not([data-pointer]),.tv-seek:focus-visible{outline:2px dashed var(--red);outline-offset:3px}
.tv-hotspot-channel,.tv-hotspot-volume{width:8.378%;aspect-ratio:1;border-radius:50%;overflow:hidden;cursor:grab;background:#cbbca2;box-shadow:inset 0 0 0 1px #fff4da}
.tv-hotspot-channel{left:12.923%;top:73.006%}
.tv-hotspot-volume{left:80.749%;top:72.918%}
.tv-hotspot-channel[data-dragging],.tv-hotspot-volume[data-dragging]{cursor:grabbing}
.tv-rotor{z-index:2;position:absolute;inset:1%;border-radius:50%;background:repeating-conic-gradient(#c4b39744 0deg,#eadcc333 1deg,#bcaa8e44 2deg);transform:rotate(var(--rotation,0deg));will-change:transform}
.tv-rotor i{position:absolute;top:4%;left:48%;width:4%;height:13%;border-radius:1px;background:var(--red);box-shadow:0 0 1px #5d2217}
.tv-metal-light{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:conic-gradient(from 12deg,#fff1d9b3,#7b6a4c33 50deg,#fff1d9bb 100deg,#6f5c4244 150deg,#fff4ddaa 200deg,#6f5c4244 260deg,#fff4ddaa 315deg,#fff1d9b3);box-shadow:inset 0 0 0 1px #f4e5c9}
.tv-rotor i{z-index:1}
.tv-hotspot-play,.tv-hotspot-mute,.tv-hotspot-fullscreen{border-radius:50%;background:linear-gradient(135deg,#fff5df,#d5c5a9 43%,#b4a48c 60%,#f2e1c3);box-shadow:0 2px 2px #392a1b,inset 0 0 0 2px #8f7d61,inset 0 0 0 3px #f7e6cb}
.tv-hotspot-play{left:10.34%;top:90.01%;width:6.42%;aspect-ratio:1;color:var(--red)}
.tv-hotspot-prev,.tv-hotspot-next{top:90.97%;width:5%;height:4.35%;background:linear-gradient(135deg,#fff5df,#c9b89a 60%,#f2e1c3);box-shadow:inset 0 0 0 1px #82705b}
.tv-hotspot-prev{left:46.7%;border-radius:50% 0 0 50%}
.tv-hotspot-next{left:65.15%;border-radius:0 50% 50% 0}
.tv-hotspot-mute{left:76.16%;top:90.62%;width:5.1%;aspect-ratio:1}
.tv-hotspot-fullscreen{left:84.98%;top:90.62%;width:5.1%;aspect-ratio:1}
.tv-hotspot svg{display:block;width:100%;height:100%;fill:currentColor;pointer-events:none}
.tv-hotspot:active:not([role='slider']){filter:brightness(.88)}
.tv-hotspot:disabled{cursor:default;opacity:.45}
.tv-pause-symbol,.tv-audible-symbol{display:none}
.tv-hotspot-play[data-state='pause'] .tv-pause-symbol{display:block}
.tv-hotspot-play[data-state='pause'] .tv-play-symbol{display:none}
.tv-hotspot-mute[aria-pressed='false'] .tv-audible-symbol{display:block}
.tv-hotspot-mute[aria-pressed='false'] .tv-muted-symbol{display:none}
.tv-seek{position:absolute;z-index:3;left:21.39%;top:91.9%;width:19.43%;height:2%;padding:0;margin:0;border:0;background:transparent;appearance:none;cursor:ew-resize;touch-action:none;--seek-percent:0%}
.tv-seek::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--red) var(--seek-percent),#27231d var(--seek-percent))}
.tv-seek::-webkit-slider-thumb{appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;border:1px solid #7f6b50;background:radial-gradient(circle at 35% 30%,#fff6dc,#c3b08c 65%,#78664b);box-shadow:0 2px 2px #41301f}
.tv-seek::-moz-range-track{height:4px;background:#27231d}
.tv-seek::-moz-range-progress{background:var(--red)}
.tv-seek::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#e8d6b4;border:1px solid #7f6b50}
.tv-seek-time{position:absolute;left:21.4%;top:94.1%;width:19.43%;text-align:center;font:700 clamp(5px,.64vw,9px)/1 var(--sans);color:#352c22;pointer-events:none}
.tv-readout{display:flex;justify-content:center;gap:24px;font:700 10px/1.3 var(--sans);letter-spacing:.12em;color:var(--paper);text-shadow:0 1px 4px #000;margin-top:8px}
.tv-viewport:fullscreen,.tv-viewport.tv-expanded-fallback{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;border-radius:0;z-index:2147483000;display:block;background:#02060b}
.tv-viewport:fullscreen video,.tv-viewport.tv-expanded-fallback video{width:100%;height:100%;object-fit:contain}
.tv-fullscreen-close{position:absolute;z-index:10;right:16px;top:16px;background:var(--paper);color:var(--ink);border:1px solid #8c8c84;padding:9px 13px;font:800 12px var(--sans);cursor:pointer}
.tv-fullscreen-close[hidden]{display:none}
@media(max-width:1050px){.publisher-home .tv-imprint .imprint-grid{gap:24px}.publisher-home .tv-imprint h2{font-size:clamp(40px,4.5vw,64px)}}
@media(max-width:800px){
 .publisher-home .tarbell-release .next-copy .display-title{font-size:clamp(32px,8.2vw,48px)}
 .publisher-home .tv-imprint{padding:38px 0 46px;background:url('unruly-tv/rf-observatory-1fe1eff76aaa.webp') center/cover no-repeat}
 .publisher-home .tv-imprint .imprint-grid{display:flex;flex-direction:column;align-items:stretch;gap:28px}
 .publisher-home .tv-imprint .tv-scene{order:0}
 .publisher-home .tv-imprint .imprint-grid>div:nth-child(2){order:1;align-self:auto}
 .publisher-home .tv-imprint .imprint-grid>.side-column{order:2;align-self:auto}
 .publisher-home .tv-imprint h2{font-size:clamp(44px,13vw,66px)}
 .tv-readout{font-size:9px;color:var(--ink);text-shadow:none}
}

/* Approved full-color Imprint treatment; text effects never alter the artwork. */
.publisher-home .tv-imprint .imprint-grid>div:nth-child(2),
.publisher-home .tv-imprint .side-column{color:#fff4dc;paint-order:stroke fill;-webkit-text-stroke:2.2px #101a1f;text-shadow:0 2px 3px #071218,0 0 2px #071218}
.publisher-home .tv-imprint h2,.publisher-home .tv-imprint .imprint-sub{color:inherit;paint-order:stroke fill}
.publisher-home .tv-imprint .eyebrow,.publisher-home .tv-imprint p{color:#fff4dc;-webkit-text-stroke:1.2px #101a1f;paint-order:stroke fill}
.publisher-home .tv-imprint .tv-imprint-red,.publisher-home .tv-imprint .statement-chains{color:var(--red);paint-order:stroke fill}
.publisher-home .tv-imprint .side-column .link-group{margin-top:28px;font:normal 12px/1.4 var(--sans);letter-spacing:normal}
.publisher-home .tv-imprint .text-link{color:#fff4dc;-webkit-text-stroke:.6px #101a1f;paint-order:stroke fill;text-shadow:0 1px 2px #071218}
.publisher-home .tv-imprint .tv-readout{color:#fff4dc;text-shadow:0 1px 2px #071218}

/* Optional approved test-pattern slideshow, gated by an owner-configured unassigned channel. */
.tv-viewport .tv-test-pattern{display:block;width:100%;height:100%;object-fit:contain;background:#070e10}
.tv-viewport .tv-test-pattern[hidden]{display:none}


/* Vector replacement for malformed raster channel numerals.
   Preserves the approved shell and the brushed-metal physical knob below it. */
.tv-channel-dial-face{pointer-events:none}
.tv-channel-dial-face text{fill:#fff0d2;stroke:#090909;stroke-width:.75px;paint-order:stroke fill;font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:22px;letter-spacing:0;text-rendering:geometricPrecision}
/* A validated clean episode is never shown without its required verified identity.
   This only applies to explicitly tagged new media, never legacy baked masters. */
.tv-viewport[data-identity-pending="true"] > #unruly-tv-video{visibility:hidden}
