/* LOST TV 1.5.3 — channel selector, animated tuning ident and live Venezuelan-cinema catalogue. */
:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#181710;--ltv-crt-shape:polygon(5.200% 2.500%,17.326% 1.561%,32.074% 0.956%,48.200% 0.700%,64.459% 0.811%,79.607% 1.306%,92.400% 2.200%,94.544% 2.672%,96.215% 3.474%,97.475% 4.588%,98.385% 5.993%,99.006% 7.670%,99.400% 9.600%,99.583% 17.637%,99.733% 26.159%,99.850% 34.888%,99.933% 43.541%,99.983% 51.838%,100.000% 59.500%,99.842% 66.595%,99.670% 73.259%,99.488% 79.312%,99.296% 84.574%,99.100% 88.863%,98.900% 92.000%,98.540% 93.633%,97.689% 95.030%,96.237% 96.187%,94.078% 97.104%,91.101% 97.775%,87.200% 98.200%,78.227% 98.919%,68.756% 99.389%,59.244% 99.659%,50.000% 99.762%,41.356% 99.711%,33.644% 99.541%,27.126% 99.274%,21.973% 98.933%,18.344% 98.541%,16.400% 98.120%,11.652% 97.817%,7.808% 97.396%,4.896% 96.845%,3.000% 96.152%,2.144% 95.304%,1.753% 93.941%,1.409% 91.844%,1.123% 89.087%,0.904% 85.752%,0.753% 81.929%,0.668% 77.713%,0.643% 73.200%,0.670% 68.485%,0.741% 63.667%,0.833% 58.845%,0.920% 54.120%,0.979% 49.588%,0.984% 45.353%,0.903% 41.511%,0.700% 38.104%,0.337% 35.176%,0.222% 28.944%,0.230% 23.215%,0.349% 18.091%,0.560% 13.672%,0.830% 10.048%,1.126% 7.282%,1.415% 5.430%,1.673% 4.444%,2.000% 4.400%,2.573% 3.717%,3.268% 3.232%,4.127% 2.884%)}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}
body{min-height:100dvh}
button{font:inherit}
#lost-tv{position:fixed;inset:0;overflow:hidden;isolation:isolate;background:#17160f}
.ltv-backdrop{position:absolute;inset:-35px;background:var(--poster) center/cover;filter:blur(23px) brightness(.66);pointer-events:none}
.ltv-ambient{width:100%;height:100%;object-fit:cover;object-position:center center}
.ltv-stage{position:absolute;isolation:isolate;transform-origin:0 0;user-select:none;-webkit-user-select:none;background:var(--poster) center/100% 100% no-repeat}
.ltv-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;pointer-events:none;z-index:0}
.ltv-screen{position:absolute;z-index:2;background:#050505;overflow:hidden;-webkit-clip-path:var(--ltv-crt-shape);clip-path:var(--ltv-crt-shape);contain:paint}
.ltv-display{position:absolute;z-index:1;overflow:hidden;background:#000;container-type:inline-size;border-radius:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.78),inset 0 0 1.35em rgba(0,0,0,.38)}
/* At rest the supplied loop remains visible inside the television. */
.ltv-screen[data-state="idle"]{background:transparent;pointer-events:none}
.ltv-screen[data-state="idle"] .ltv-display{background:transparent;box-shadow:none}
.ltv-screen[data-state="idle"] .ltv-idle,
.ltv-screen[data-state="idle"] .ltv-osd,
.ltv-screen[data-state="idle"] .ltv-glass,
.ltv-screen[data-state="idle"] .ltv-progress,
.ltv-screen[data-state="idle"] .ltv-fullscreen{display:none!important}
.ltv-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;opacity:0;pointer-events:none}
.ltv-screen[data-state="playing"] .ltv-video,
.ltv-screen[data-state="paused"] .ltv-video,
.ltv-screen[data-state="buffering"] .ltv-video{opacity:1}
.ltv-screen[data-state="gesture"] .ltv-video,
.ltv-screen[data-state="loading"] .ltv-video,
.ltv-screen[data-state="error"] .ltv-video{opacity:0}
/* Tuning ident: black CRT, supplied antenna in white, animated radio waves and lightning. */
.ltv-idle{position:absolute;inset:0;z-index:5;background:#000;display:flex;align-items:center;justify-content:center;pointer-events:none}
.ltv-screen[data-state="playing"] .ltv-idle,
.ltv-screen[data-state="paused"] .ltv-idle,
.ltv-screen[data-state="buffering"] .ltv-idle,
.ltv-screen[data-state="error"] .ltv-idle{display:none}
.ltv-tuning-symbol{position:absolute;left:50%;top:46%;width:34%;max-width:150px;aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 5px rgba(255,255,255,.13))}
.ltv-tuning-tower,.ltv-tuning-bolts{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.ltv-tuning-tower{opacity:.94;animation:ltv-tower-pulse 1.8s ease-in-out infinite}
.ltv-tuning-bolts{opacity:.82;transform-origin:50% 15%;animation:ltv-bolts 1.05s steps(2,end) infinite}
.ltv-signal-wave{position:absolute;z-index:3;left:50%;top:15.2%;width:18%;aspect-ratio:1;border:1.5px solid rgba(255,255,255,.78);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.25);animation:ltv-signal-wave 1.65s ease-out infinite}
.ltv-signal-wave-2{animation-delay:.48s}
.ltv-signal-wave-3{animation-delay:.96s}
.ltv-instruction{position:absolute;bottom:6.2%;left:8%;right:8%;margin:0;text-align:center;color:#f7f7f4;font:600 clamp(8px,2.55cqw,14px)/1 Arial,Helvetica,sans-serif;letter-spacing:.2em;text-transform:lowercase;text-shadow:0 0 5px rgba(255,255,255,.16)}
.ltv-screen[data-state="loading"] .ltv-osd,
.ltv-screen[data-state="gesture"] .ltv-osd,
.ltv-screen[data-state="error"] .ltv-osd,
.ltv-screen[data-state="loading"] .ltv-progress,
.ltv-screen[data-state="gesture"] .ltv-progress,
.ltv-screen[data-state="error"] .ltv-progress,
.ltv-screen[data-state="loading"] .ltv-fullscreen,
.ltv-screen[data-state="gesture"] .ltv-fullscreen,
.ltv-screen[data-state="error"] .ltv-fullscreen{display:none!important}
.ltv-osd{position:absolute;z-index:4;left:8%;right:9%;top:8%;padding:4% 4%;background:linear-gradient(#080808c9,transparent);opacity:0;transition:opacity .25s;pointer-events:none;line-height:1.25;text-shadow:0 1px 3px #000}
.ltv-osd span{display:block}
.ltv-program-year{font-size:clamp(10px,2.6cqw,16px);opacity:.82;margin-bottom:4px}
.ltv-program-title{font-size:clamp(12px,4.3cqw,24px);font-family:Georgia,serif}
.ltv-program-author{font-size:clamp(9px,2.4cqw,14px);margin-top:5px}
.ltv-screen.show-info .ltv-osd{opacity:1}
.ltv-glass{position:absolute;inset:0;z-index:6;box-shadow:inset 0 0 1.35em #0007,inset 0 0 0 1px rgba(235,225,205,.045);pointer-events:none}
.ltv-progress{position:absolute;bottom:5%;left:10%;width:80%;height:2px;background:#fff2;z-index:7;opacity:0;pointer-events:none}
.ltv-progress i{display:block;width:var(--progress,0%);height:100%;background:#eae3d6}
.ltv-screen.show-info .ltv-progress{opacity:.7}
/* Physical channel selector. The numbered face remains fixed; only the central rotor advances. */
.ltv-dial{--dial-angle:0deg;position:absolute!important;z-index:80!important;transform:translate(-50%,-50%);border:0;border-radius:50%;padding:0;background:transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;display:grid;place-items:center;outline-offset:4px;overflow:visible;pointer-events:auto!important;-webkit-user-select:none;user-select:none}
.ltv-dial-bezel{position:relative;display:block;width:var(--knob-size);height:var(--knob-size);border-radius:50%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.7)) drop-shadow(0 0 1px rgba(255,235,200,.12));transition:transform .1s ease,filter .16s ease;pointer-events:none}
.ltv-dial-bezel::before{content:"";position:absolute;z-index:0;inset:-4%;border-radius:50%;background:radial-gradient(circle at 48% 42%,rgba(125,105,82,.3),rgba(18,14,11,.95) 72%);box-shadow:inset 0 1px 2px rgba(255,239,210,.15),inset 0 -3px 4px rgba(0,0,0,.82),0 2px 4px rgba(0,0,0,.66)}
.ltv-dial-face,.ltv-dial-rotor{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block;object-fit:contain;border-radius:50%;pointer-events:none;filter:saturate(.78) contrast(1.03) brightness(.86)}
.ltv-dial-center-cover{position:absolute;z-index:2;left:50%;top:50%;width:58.6%;height:58.6%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 43% 38%,#413c38 0 12%,#25211f 42%,#171412 70%,#080706 100%);box-shadow:inset 0 2px 3px rgba(255,255,255,.07),inset 0 -4px 8px rgba(0,0,0,.8);pointer-events:none}
.ltv-dial-rotor{z-index:3;clip-path:circle(29.4% at 50% 50%);transform:rotate(var(--dial-angle));transform-origin:50% 50%;transition:transform .48s cubic-bezier(.22,.72,.2,1);filter:saturate(.85) contrast(1.04) brightness(.9) drop-shadow(0 1px 1px rgba(0,0,0,.5));will-change:transform}
.ltv-dial:focus-visible{outline:2px solid rgba(244,232,211,.96)}
.ltv-dial:hover .ltv-dial-bezel,.ltv-dial:focus-visible .ltv-dial-bezel{filter:drop-shadow(0 2px 2px rgba(0,0,0,.75)) drop-shadow(0 0 2px rgba(255,235,200,.22));transform:scale(1.018)}
.ltv-dial:active .ltv-dial-bezel{transform:translateY(1px) scale(.985);filter:brightness(.92) drop-shadow(0 1px 1px rgba(0,0,0,.65))}
.ltv-menu-button{position:absolute!important;z-index:90!important;transform:translate(-50%,-50%);display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:#201d19;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;outline:none;pointer-events:auto!important;-webkit-user-select:none;user-select:none}
.ltv-menu-button span{display:flex;align-items:center;justify-content:center;width:var(--menu-visual-width);height:var(--menu-visual-height);font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(5px,calc(var(--menu-visual-height)*.48),9px);line-height:1;letter-spacing:.035em;color:#25211d;text-shadow:0 1px 0 rgba(255,255,255,.58);pointer-events:none;white-space:nowrap}
.ltv-menu-button:hover span,.ltv-menu-button:focus-visible span{color:#8f0d12;text-shadow:0 1px 0 rgba(255,255,255,.68)}
.ltv-menu-button:focus-visible::after{content:"";position:absolute;width:calc(var(--menu-visual-width) + 6px);height:calc(var(--menu-visual-height) + 6px);border:1px solid rgba(190,23,28,.9);border-radius:2px;pointer-events:none}
.ltv-menu-button:active span{transform:translateY(1px)}
.ltv-channel-menu{position:absolute;z-index:15;display:grid;place-items:center;overflow:hidden;background:rgba(4,4,4,.78);backdrop-filter:blur(1.2px);-webkit-backdrop-filter:blur(1.2px);container-type:inline-size;-webkit-clip-path:var(--ltv-crt-shape);clip-path:var(--ltv-crt-shape);border-radius:0;contain:paint}
.ltv-channel-menu[hidden]{display:none!important}
.ltv-channel-menu-panel{display:flex;flex-direction:column;width:86%;height:84%;max-width:390px;padding:5.5% 5.5% 5%;background:linear-gradient(180deg,rgba(31,27,23,.98),rgba(8,8,8,.985));border:1px solid rgba(227,216,191,.62);box-shadow:0 6px 24px rgba(0,0,0,.74),inset 0 0 0 1px rgba(255,255,255,.05);text-align:left;overflow:hidden}
.ltv-channel-menu-title{margin:0;text-align:center;font:700 clamp(9px,3.05cqw,16px)/1.15 Georgia,serif;letter-spacing:.105em;color:#eee4cf;text-shadow:0 1px 2px #000}
.ltv-channel-menu-count{margin:2.6% 0 4%;text-align:center;color:#bdb4a3;font:clamp(7px,2.25cqw,12px)/1.2 Arial,Helvetica,sans-serif;letter-spacing:.05em}
.ltv-channel-menu-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8f1c21 #171411;padding-right:2px}
.ltv-channel-menu-list::-webkit-scrollbar{width:5px}
.ltv-channel-menu-list::-webkit-scrollbar-track{background:#171411}
.ltv-channel-menu-list::-webkit-scrollbar-thumb{background:#8f1c21;border-radius:5px}
.ltv-channel-menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:34px;margin:0 0 3%;padding:3.4% 4%;border:1px solid rgba(214,203,181,.32);background:rgba(237,230,213,.065);color:#f3edde;cursor:pointer;touch-action:manipulation;text-align:left}
.ltv-channel-menu-item-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 clamp(8px,2.9cqw,15px)/1.2 Arial,Helvetica,sans-serif;letter-spacing:.025em}
.ltv-channel-menu-item-year{font:700 clamp(7px,2.45cqw,13px)/1 Arial,Helvetica,sans-serif;color:#c7bda9}
.ltv-channel-menu-item[aria-current="true"]{border-color:#c72a30;background:rgba(126,12,17,.42)}
.ltv-channel-menu-item:hover,.ltv-channel-menu-item:focus-visible{border-color:#e7dcc3;background:rgba(237,230,213,.14);outline:none}
.ltv-channel-menu-empty{margin:auto;text-align:center;color:#ddd1bb;font:clamp(8px,2.7cqw,14px)/1.45 Georgia,serif}
.ltv-channel-menu-empty[hidden]{display:none!important}
.ltv-fullscreen{position:absolute;z-index:8;right:7%;bottom:8%;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:6px;color:#f6f2e8;background:#0808089c;cursor:pointer;opacity:.6;touch-action:manipulation;padding:10px}
.ltv-fullscreen:disabled{display:none}
.ltv-fullscreen svg{width:24px;height:24px}
.ltv-fullscreen:hover,.ltv-fullscreen:focus-visible,.ltv-screen.show-info .ltv-fullscreen{opacity:1}
.ltv-fullscreen:focus-visible{outline:2px solid #ede0bc;outline-offset:1px}
.ltv-cinema{position:fixed;z-index:100;inset:0;background:#000}
.ltv-cinema[hidden]{display:none!important}
.ltv-cinema-slot{position:absolute;inset:0}
.ltv-cinema .ltv-video{opacity:1;pointer-events:auto;object-fit:contain}
.ltv-return{position:absolute;z-index:5;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));min-height:44px;padding:10px 16px;color:#fff;background:#161616b8;border:1px solid #ffffff38;border-radius:6px;cursor:pointer}
.ltv-cinema-title{position:absolute;top:max(20px,env(safe-area-inset-top));right:20px;max-width:50%;font:14px Georgia,serif;color:#e2e2e2;margin:8px 0;pointer-events:none;text-align:right;text-shadow:0 1px 3px #000}
.ltv-cinema.quiet .ltv-return,.ltv-cinema.quiet .ltv-cinema-title{opacity:0;transition:opacity .3s}
.ltv-cinema.quiet .ltv-return:focus-visible{opacity:1}
.ltv-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0;border:0}
.ltv-video:fullscreen{width:100%;height:100%;opacity:1;object-fit:contain;background:#000;pointer-events:auto}
@keyframes ltv-signal-wave{0%{opacity:0;transform:translate(-50%,-50%) scale(.18)}18%{opacity:.72}75%{opacity:.1}100%{opacity:0;transform:translate(-50%,-50%) scale(2.15)}}
@keyframes ltv-bolts{0%,18%{opacity:.22;filter:drop-shadow(0 0 0 rgba(255,255,255,0))}22%,48%{opacity:1;filter:drop-shadow(0 0 3px rgba(255,255,255,.65))}52%,70%{opacity:.38}74%,100%{opacity:.88;filter:drop-shadow(0 0 1px rgba(255,255,255,.35))}}
@keyframes ltv-tower-pulse{0%,100%{opacity:.82}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.ltv-dial-rotor,.ltv-dial-bezel,.ltv-osd{transition:none}.ltv-tuning-tower,.ltv-tuning-bolts,.ltv-signal-wave{animation:none;opacity:.92}.ltv-channel-menu{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:600px){.ltv-fullscreen{right:5%;bottom:6%;padding:11px}.ltv-fullscreen svg{width:22px;height:22px}.ltv-cinema-title{display:none}.ltv-tuning-symbol{width:38%}}


/* 1.5.5 — approved handwritten onboarding, with responsive mobile arrows anchored
   to the real controls. Desktop keeps the approved composite artwork. */
.ltv-onboarding{position:absolute;inset:0;z-index:120;overflow:hidden;pointer-events:none;opacity:1;visibility:visible;transition:opacity .28s ease,visibility .28s ease}
.ltv-hint{position:absolute;z-index:2;pointer-events:none;transform-origin:0 0;transition:opacity .28s ease,transform .28s ease;will-change:left,top,width,opacity}
.ltv-hint-art{display:block;width:100%;height:auto;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 5px rgba(0,0,0,.88)) drop-shadow(0 1px 1px rgba(0,0,0,.78))}
.ltv-hint-arrows{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:none;overflow:visible;pointer-events:none;filter:drop-shadow(0 4px 5px rgba(0,0,0,.88)) drop-shadow(0 1px 1px rgba(0,0,0,.78))}
#lost-tv[data-hint-layout="portrait"] .ltv-hint-arrows{display:block}
.ltv-hint-arrow-shaft,.ltv-hint-arrow-head,.ltv-hint-arrow-rays{fill:none;stroke:#fff;stroke-width:clamp(3.25px,.48vw,5px);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#lost-tv[data-onboarding="hidden"] .ltv-onboarding{opacity:0;visibility:hidden}
#lost-tv[data-onboarding="hidden"] .ltv-hint-dial{transform:translateY(-5px) scale(.985)}
#lost-tv[data-onboarding="hidden"] .ltv-hint-menu{transform:translateY(5px) scale(.985)}
@media(prefers-reduced-motion:reduce){.ltv-onboarding,.ltv-hint{transition:none}}
