body.television-open{overflow:hidden}body.television-open .scene-info{visibility:hidden}
#television{background:#e4e6e9;color:#354358;font:11px Tahoma,Arial,sans-serif;overflow:auto}#television::backdrop{background:#e4e6e9}
.tv-windowbar{position:sticky;top:0;z-index:10;height:34px;display:flex;justify-content:space-between;align-items:center;padding:0 10px 0 14px;background:linear-gradient(#f9fafb,#d4d9e1);border-bottom:1px solid #9da8b7;font:9px Tahoma,Arial,sans-serif;letter-spacing:.03em}.tv-windowbar button{height:23px;width:25px;background:linear-gradient(#fff,#d2d7e0);border:1px solid #9da8b7;font:20px/1 Arial,sans-serif}
.tv-room{min-height:calc(100svh - 34px);padding:23px 20px 28px;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at 50% 35%,#f7f8fa,#dce0e6 80%)}.tv-intro{text-align:center;margin-bottom:20px}.tv-intro h2{font:900 29px/1 Arial,sans-serif;letter-spacing:-1.5px;margin:0 0 8px;color:#3f506b;text-shadow:0 1px #fff}.tv-intro h2 span{font-size:9px;vertical-align:top;margin-left:3px;letter-spacing:0}.tv-intro p{font:8px Tahoma,Arial,sans-serif;color:#8b95a4;letter-spacing:.06em;margin:0}
.tv-cabinet{display:grid;grid-template-columns:minmax(0,1fr) 59px;gap:0 13px;width:min(790px,calc((100svh - 265px)*1.3333 + 100px));max-width:100%;padding:20px 16px 0 20px;border-radius:22px 24px 28px 25px;border:1px solid #979fa9;background:linear-gradient(115deg,#c5cbd4 0%,#f3f4f7 17%,#c7cdd7 52%,#a6afbd 100%);box-shadow:inset 1px 2px 2px #fff,inset -3px -4px 4px #778396,0 13px 22px #3c4c5e27,0 2px 3px #52617355}
.tv-screen{position:relative;aspect-ratio:4/3;min-width:0;border:9px solid #252a32;border-top-color:#15191e;border-left-color:#171b20;border-radius:16px 18px 22px 19px;background:#07080a;overflow:hidden;box-shadow:0 0 0 2px #8e97a5,inset 0 0 30px #000}
#tv-video{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;display:block;background:#050607}.tv-glass{position:absolute;inset:0;pointer-events:none;z-index:2;background:repeating-linear-gradient(transparent 0,transparent 2px,#0002 2px,#0002 3px);box-shadow:inset 0 0 38px #0008;border-radius:10px;opacity:.55}
.tv-osd{position:absolute;top:16px;left:17px;right:17px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;z-index:4;pointer-events:none;color:#d5fff0;text-shadow:1px 2px #173c32,0 0 5px #80f8c955;font:700 17px/1.25 'Courier New',monospace}.tv-osd #tv-title{max-width:70%;text-align:right;font-size:12px;line-height:1.5;text-transform:uppercase}.tv-play{position:absolute;bottom:12px;left:14px;z-index:4;color:#dbe8f3;background:#16202b80;border:1px solid #d3dce433;padding:5px 7px;font:12px 'Courier New',monospace;opacity:0}.tv-screen:hover .tv-play,.tv-play:focus-visible{opacity:1}
.tv-hardware{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:4px}.tv-speaker{width:27px;height:24%;min-height:35px;max-height:120px;margin-bottom:13px;background:repeating-linear-gradient(0deg,#687586 0,#687586 1px,#c4cbd5 1px,#c4cbd5 4px);border:1px solid #9fa9b7;border-radius:7px}.tv-hardware-label{font:6px Tahoma,Arial,sans-serif;letter-spacing:.07em;color:#6b778b;margin-top:6px}.tv-hardware button{width:33px;height:30px;padding:0;border:1px solid #8a96a8;border-radius:5px;background:linear-gradient(#edf0f6,#aeb8c8);box-shadow:inset 1px 1px #fff,0 1px 1px #8390a4;color:#465770;font:20px Arial,sans-serif}.tv-hardware button:active{background:#a3aec0;box-shadow:inset 1px 1px #7d8b9f}.tv-hardware #tv-sound{font:8px Tahoma,Arial,sans-serif;height:25px}.tv-power-led{height:4px;width:7px;background:#a9f1bb;box-shadow:0 0 5px #6cbb86;margin-top:auto;margin-bottom:9px;border:1px solid #80968c}
.tv-chin{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:16px 13px 19px;color:#66758c;font:italic 700 10px Arial,sans-serif;text-shadow:0 1px #fff}.tv-chin button{font:7px Tahoma,Arial,sans-serif;letter-spacing:.02em;color:#54647e;border:1px solid #9aa7b9;padding:4px 7px;border-radius:3px;background:#e0e5ed88}
.tv-stationbar{display:flex;justify-content:space-between;gap:30px;width:min(760px,100%);margin:23px 0 10px;padding:0 2px;font:8px 'Courier New',monospace;color:#7a889e}.tv-stationbar span:last-child{font-size:7px}#tv-stations{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;width:min(850px,100%)}#tv-stations button{display:flex;align-items:center;gap:7px;max-width:220px;padding:7px 9px;border:1px solid #b2bdce;background:#edf0f6;box-shadow:inset 1px 1px #fff;font:8px/1.35 Tahoma,Arial,sans-serif;color:#728097;text-align:left}#tv-stations button span:first-child{font:10px 'Courier New',monospace;color:#9ba6b6}#tv-stations button.active{background:#35577f;color:#fff;border-color:#2d4c72;box-shadow:none}#tv-stations button.active span:first-child{color:#b8cce5}.tv-error{font:10px Tahoma,Arial,sans-serif;color:#895e5e;margin:14px}
#tv-signal{position:absolute;inset:0;z-index:3;pointer-events:none;background:repeating-radial-gradient(circle at 28% 42%,#fff9 0px,#000a 1px,#9ca7b4 2px,#10141c 3px);background-size:7px 5px;animation:tv-noise .09s steps(2) infinite;opacity:.85}.is-tuning #tv-video{opacity:.2}@keyframes tv-noise{0%{background-position:0 0;filter:contrast(1)}50%{background-position:11px -17px;filter:contrast(2)}100%{background-position:-7px 13px;filter:contrast(.8)}}
@media(max-width:600px){.tv-room{padding:24px 12px}.tv-intro{margin-bottom:25px}.tv-cabinet{width:100%;padding:14px 10px 0 14px;grid-template-columns:minmax(0,1fr) 38px;gap:9px}.tv-screen{border-width:6px;border-radius:12px}.tv-hardware{gap:5px}.tv-speaker{margin-bottom:4px;min-height:20px}.tv-hardware button{width:27px;height:25px;font-size:17px}.tv-hardware-label{font-size:5px;margin-top:2px}.tv-osd{left:11px;right:11px;top:11px;font-size:13px;gap:10px}.tv-osd #tv-title{font-size:8px}.tv-chin{padding:10px 5px 14px}.tv-chin button{font-size:6px}.tv-stationbar{margin-top:24px}.tv-stationbar span:last-child{display:none}#tv-stations{justify-content:flex-start;margin-top:4px}#tv-stations button{flex:1 1 40%;font-size:8px}.tv-play{opacity:1}}
@media(prefers-reduced-motion:reduce){#tv-signal{animation:none}}
/* After-hours broadcast: the screen lights a quiet blue room. */
#television{background:#111826;color:#b8c9e0}#television::backdrop{background:#111826}
.tv-windowbar{background:linear-gradient(#293449,#1a2436);border-bottom-color:#3b4b64;color:#9eafc8}
.tv-windowbar button{background:linear-gradient(#36435a,#222e43);border-color:#52627d;color:#c5d2e5}
.tv-room{background:radial-gradient(ellipse at 50% 42%,#34476355 0%,#192337 41%,#0c1220 100%)}
.tv-intro h2{color:#d3ddec;text-shadow:0 1px #040b17,0 0 22px #91b8ee20}
.tv-intro p{color:#7185a3}
.tv-cabinet{background:linear-gradient(115deg,#788697 0%,#c2cbd7 17%,#929fb1 52%,#63748c 100%);border-color:#52647e;box-shadow:inset 1px 2px 2px #dce9f6a8,inset -3px -4px 4px #35435c,0 0 42px #8db6ed1c,0 22px 45px #020713b3,0 2px 3px #02050c}
.tv-screen{box-shadow:0 0 0 2px #65738a,inset 0 0 30px #000,0 0 22px #bad9ff12}
.tv-hardware button{background:linear-gradient(#bac6d6,#7e8fa7);border-color:#5c6f89;box-shadow:inset 1px 1px #d6e1ef9c,0 1px 1px #435671;color:#263c58}
.tv-speaker{background:repeating-linear-gradient(0deg,#42516a 0,#42516a 1px,#8c9bb1 1px,#8c9bb1 4px);border-color:#6c7d94}
.tv-hardware-label{color:#3f536f}.tv-chin{color:#354b6a;text-shadow:0 1px #d0ddec80}
.tv-chin button{background:#a7b6c9;border-color:#697f9e;color:#334c6d}
.tv-stationbar{color:#6d829f}
#tv-stations button{background:#1a2538;border-color:#34435c;box-shadow:inset 1px 1px #45567440;color:#8fa3c1}
#tv-stations button span:first-child{color:#536d91}
#tv-stations button:hover{background:#26364d;color:#cbd9ee}
#tv-stations button.active{background:#344e70;border-color:#6482a8;color:#e4efff;box-shadow:0 0 14px #80aeef12}
#tv-stations button.active span:first-child{color:#a8c8f1}
.tv-power-led{background:#b8f4ce;box-shadow:0 0 8px #89f0ae99}
/* A dark living room, with the television as its only source of light. */
#television{background:#050608}
.tv-windowbar{position:fixed;top:0;left:0;right:0;background:transparent;border:0;color:#536074;height:38px;padding:0 20px;pointer-events:none}
.tv-windowbar>span{font-size:7px;letter-spacing:.10em;opacity:.6}
.tv-windowbar button{pointer-events:auto;background:#10151b88;border:1px solid #343d49;color:#9aa7b9;box-shadow:none}
.tv-room{position:relative;isolation:isolate;min-height:100svh;padding:35px 20px 25px;background:radial-gradient(ellipse at 50% 39%,#29394d22 0%,#0b0d12 40%,#030405 87%);overflow:hidden}
.tv-room:before{content:'';position:absolute;left:0;right:0;top:73%;height:27%;z-index:-1;border-top:1px solid #12171e;background:radial-gradient(ellipse at 50% 0%,#25374b27,transparent 60%),repeating-linear-gradient(92deg,transparent 0,transparent 150px,#0004 151px,#0004 153px),linear-gradient(#0d1015,#040507);transform-origin:50% 0;pointer-events:none}
.tv-intro{margin:0 0 17px;position:relative;z-index:2}
.tv-intro h2{font-size:20px;letter-spacing:-1px;color:#8a97a7;text-shadow:none;opacity:.7}
.tv-intro p{font-size:6px;color:#384351;letter-spacing:.12em}
.tv-living-scene{position:relative;display:flex;flex-direction:column;align-items:center;width:min(820px,100%);padding:0 25px}
.tv-wall-light{position:absolute;inset:-15% -30% 9%;z-index:-1;background:radial-gradient(ellipse at 50% 40%,#c0dcff20 0%,#7393bc12 31%,#46699306 53%,transparent 71%);filter:blur(26px);pointer-events:none}
.tv-cabinet{position:relative;z-index:2;width:min(620px,calc((100svh - 365px)*1.3333 + 95px));max-width:94%;background:linear-gradient(115deg,#222a35 0%,#657285 17%,#3b4759 52%,#18212e 100%);border-color:#3b485c;box-shadow:inset 1px 2px 2px #9db3ce33,inset -3px -4px 4px #080f1d,0 0 40px #b5d6ff0b,0 12px 20px #000c}
.tv-screen{border-color:#10151b #1c222c #262f3b #10151b;box-shadow:0 0 0 2px #4a566888,0 0 24px #b6dbff17,inset 0 0 30px #000}
.tv-hardware button{background:linear-gradient(#56657b,#283649);border-color:#1c293c;box-shadow:inset 1px 1px #a9c1df20,0 1px 1px #111b2a;color:#9daec5}
.tv-hardware-label{color:#75859e;opacity:.45}
.tv-speaker{background:repeating-linear-gradient(0deg,#152031 0,#152031 1px,#45546b 1px,#45546b 4px);border-color:#26374b}
.tv-chin{color:#7d8da5;text-shadow:0 1px #111a28}
.tv-chin button{background:#263548;border-color:#45556c;color:#8d9eb8}
.tv-console{position:relative;z-index:1;width:100%;height:112px;margin-top:-3px;background:linear-gradient(90deg,#0d1117,#202833 25%,#25303c 52%,#151d27 87%,#090d12);border:1px solid #222d3b;border-top:0;box-shadow:0 20px 40px #000b,inset 0 1px #62779026}
.console-top{position:absolute;left:-8px;right:-8px;top:0;height:10px;background:linear-gradient(#4c5e734a,#242d39 45%,#101720);border:1px solid #3e506741;box-shadow:0 -4px 20px #b8daff06}
.console-shelves{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:14px;height:83px;padding:22px 20px 9px}
.console-shelves>div{position:relative;min-width:0;background:linear-gradient(#05080d,#0d131c);border-bottom:3px solid #263344;border-left:1px solid #26324455;box-shadow:inset 0 7px 12px #000a;display:flex;align-items:flex-end;justify-content:center}
.shelf-books{gap:3px;padding:0 10px}.shelf-books i{width:8px;height:32px;background:#253d4e;border:1px solid #43556444;transform:rotate(-5deg)}.shelf-books i:nth-child(2){height:35px;background:#4e4142}.shelf-books i:nth-child(3){height:31px;background:#4c4b40;transform:rotate(0)}.shelf-books i:nth-child(4){height:37px;background:#38465e;transform:rotate(0)}.shelf-books i:nth-child(5){height:34px;background:#31353d;transform:rotate(3deg)}
.shelf-deck{margin:7px 8px 0;height:27px;align-self:end;background:linear-gradient(#293443,#111823)!important;border:1px solid #37465b!important;box-shadow:0 2px #020407!important;align-items:center!important;justify-content:flex-start!important;padding:0 8px;gap:9px}.shelf-deck i{width:52%;height:3px;background:#04080f;box-shadow:0 1px #47556a55}.shelf-deck span{font:5px 'Courier New',monospace;color:#4d665c}
.shelf-cases{padding:0 10px;gap:3px}.shelf-cases i{width:13px;height:32px;background:#303544;border:1px solid #55617433}.shelf-cases i:nth-child(2){height:36px;background:#453740}.shelf-cases i:nth-child(3){height:34px;background:#41483f}
.console-feet{position:absolute;left:10%;right:10%;bottom:-13px;display:flex;justify-content:space-between}.console-feet i{display:block;width:14px;height:13px;background:linear-gradient(90deg,#070a10,#17202d,#090e15);box-shadow:0 5px 8px #000}
.tv-stationbar{position:relative;z-index:2;width:min(610px,100%);margin:30px 0 10px;color:#44536a}.tv-stationbar span:last-child{color:#37455b}
#tv-stations{position:relative;z-index:2;width:min(760px,100%);padding:10px;border:1px solid #1b2432;border-radius:7px;background:linear-gradient(#141c28,#0a101a);box-shadow:0 4px 18px #0008}
#tv-stations button{background:#131d2b;border-color:#28364b;color:#6c7f9b;box-shadow:inset 1px 1px #61779210}
#tv-stations button.active{background:#283e5c;border-color:#4d6b93;color:#b8d2f5}
@media(max-width:600px){.tv-room{padding:46px 12px 25px}.tv-intro{margin-bottom:27px}.tv-living-scene{padding:0 8px}.tv-cabinet{width:100%;max-width:98%}.tv-console{height:93px}.console-shelves{height:74px;padding:20px 10px 8px;gap:9px}.console-shelves .shelf-deck{margin-left:0;margin-right:0}.shelf-books{padding:0 4px;gap:2px}.shelf-books i{width:6px}.shelf-cases{padding:0 5px}.tv-wall-light{inset:-17% -25% 0}.tv-room:before{top:54%;height:46%}.tv-stationbar{margin-top:30px}#tv-stations{gap:6px;padding:9px}}

.tv-wall-light{background:radial-gradient(ellipse at 50% 40%,rgba(var(--tv-room-color,150,180,220),.19) 0%,rgba(var(--tv-room-color,150,180,220),.065) 34%,transparent 71%)}
.tv-room:before{background:radial-gradient(ellipse at 50% 0%,rgba(var(--tv-room-color,150,180,220),.085),transparent 60%),repeating-linear-gradient(92deg,transparent 0,transparent 150px,#0004 151px,#0004 153px),linear-gradient(#0d1015,#040507)}

.tv-boot{position:fixed;inset:0;z-index:100;background:#000;pointer-events:none;overflow:hidden}
.tv-boot i{position:absolute;inset:0;display:block;background:#eff8ff;transform-origin:50% 50%;box-shadow:0 0 45px #d8eeff,0 0 120px #a3d1ff;will-change:transform,opacity}
@media(prefers-reduced-motion:reduce){.tv-boot{display:none}}
#television{top:var(--header-edge,63px);height:calc(100svh - var(--header-edge,63px));max-height:calc(100svh - var(--header-edge,63px));position:fixed;z-index:300}
.tv-windowbar{position:absolute;top:0}.tv-room{min-height:calc(100svh - var(--header-edge,63px));padding-top:35px}
.tv-cabinet{width:min(620px,calc((100svh - var(--header-edge,63px) - 365px)*1.3333 + 95px))}
.tv-glass,.tv-osd,.tv-play,.tv-stationbar,#tv-stations{display:none!important}
.tv-console{height:141px}.console-shelves{grid-template-columns:.65fr 2fr .65fr;height:114px;gap:17px;padding:24px 20px 12px}
.console-shelves .shelf-deck{height:65px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 13px;padding:10px 13px;background:linear-gradient(#1b2430,#0b111b)!important;border:1px solid #364355!important;border-radius:3px;margin:0 5px;box-shadow:inset 0 0 0 4px #1f2937,0 2px 3px #0009!important}
.shelf-deck #tv-deck-channel{font:8px/1 'Courier New',monospace;color:#617e73;grid-column:1;letter-spacing:.06em}
.shelf-deck #tv-deck-title{font:11px/1.3 'Courier New',monospace;font-weight:400;color:#b2cfc2;text-shadow:0 0 5px #7cbfa333;grid-row:2;grid-column:1/-1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.shelf-deck #tv-deck-time{font:10px/1 'Courier New',monospace;color:#809d90;grid-row:1;grid-column:2}
.tv-loop-label{font:6px Tahoma,Arial,sans-serif;letter-spacing:.04em;color:#566981}
.tv-boot{top:var(--header-edge,63px)}
@media(max-width:600px){.tv-cabinet{width:100%;max-width:98%}.tv-room{padding-top:42px}.tv-console{height:114px}.console-shelves{height:92px;grid-template-columns:.25fr 2fr .25fr;padding:20px 10px 10px;gap:7px}.console-shelves .shelf-deck{height:55px;margin:0;padding:8px}.shelf-deck #tv-deck-title{font-size:10px}.shelf-books i:nth-child(n+3),.shelf-cases i:nth-child(n+2){display:none}}
.tv-console{height:151px}.console-shelves{height:124px}
.console-shelves .shelf-deck{height:75px}
.shelf-deck #tv-deck-title{font-size:14px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}
@media(max-width:600px){.tv-console{height:124px}.console-shelves{height:102px}.console-shelves .shelf-deck{height:65px}.shelf-deck #tv-deck-title{font-size:11px}}

/* The TV section owns the entire background, including the header surround. */
body.television-open{background:#050608!important}
body.television-open:before{display:none}
body.television-open>main,body.television-open>footer{visibility:hidden}
.tv-room{padding:20px 16px 16px}
.tv-intro{margin-bottom:10px}
.tv-living-scene{width:min(1040px,100%);padding:0 20px}
.tv-cabinet{width:min(900px,calc((100svh - var(--header-edge,63px) - 285px)*1.3333 + 95px));max-width:100%;grid-template-columns:minmax(0,1fr) 48px;gap:10px;padding:16px 12px 0 16px}
.tv-chin{padding:11px 9px 13px}
.tv-console{height:124px}
.console-shelves{height:102px;padding-top:17px;padding-bottom:10px}
.console-shelves .shelf-deck{height:70px}
@media(max-width:600px){
 .tv-room{padding:38px 7px 20px}.tv-living-scene{padding:0 3px}
 .tv-cabinet{width:100%;grid-template-columns:minmax(0,1fr) 32px;gap:7px;padding:12px 7px 0 12px}
 .tv-intro{margin-bottom:18px}.tv-console{height:116px}
 .console-shelves{height:94px;padding:17px 9px 9px}.console-shelves .shelf-deck{height:65px}
}

/* Hardware volume fader: touch and keyboard accessible. */
#tv-volume{appearance:auto;writing-mode:vertical-lr;direction:rtl;width:32px;height:68px;min-height:0;margin:4px 0 0;padding:0;accent-color:#b7c5d4;cursor:ns-resize;touch-action:none;flex-shrink:0}
#tv-volume-value{font:9px/1 'Courier New',monospace;color:#aab8c9;margin-top:2px}
#tv-volume:focus-visible{outline:1px solid #d4e3f5;outline-offset:3px}
@media(max-width:600px){#tv-volume{width:30px;height:58px}#tv-volume-value{font-size:8px}}

/* A physical remote in front of the cabinet, leaving the screen unobstructed. */
.tv-room{padding-bottom:35px}.tv-hardware{justify-content:space-between}.tv-speaker{flex:1}
.tv-remote{position:absolute;z-index:4;right:max(5%,calc((100% - 1040px)/2));bottom:25px;width:103px;padding:17px 14px 21px;border-radius:23px 23px 30px 30px;background:linear-gradient(100deg,#141a22,#39434f 40%,#252e39 85%,#10151c);border:1px solid #536070;box-shadow:inset 2px 1px 2px #8c99a344,inset -3px -3px 4px #080c12,8px 14px 15px #000b;transform:rotate(12deg);font:9px/1.2 'Courier New',monospace;color:#aeb9c6;display:flex;flex-direction:column;align-items:center;gap:14px}
.remote-brand{font-size:8px;letter-spacing:.08em;color:#8f9aa6}.remote-top{width:100%;display:flex;align-items:center;justify-content:space-between}.remote-led{width:4px;height:4px;border-radius:50%;background:#799a79;box-shadow:0 0 5px #9ddf7855}
.tv-remote button{height:32px;width:38px;padding:0;display:grid;place-items:center;border-radius:8px;background:linear-gradient(#4b5664,#28313d);border:1px solid #151c26;box-shadow:inset 1px 1px #8f9cab55,0 3px 1px #090d13;color:#d0d8e1;font:20px Arial;cursor:pointer}.tv-remote button:active{transform:translateY(2px);box-shadow:inset 0 1px 3px #0009}.tv-remote button:focus-visible{outline:2px solid #c3d3e5;outline-offset:3px}
.tv-remote #tv-sound{width:30px;height:27px;border-radius:50%;font:8px 'Courier New',monospace;background:linear-gradient(#925852,#593330)}
.remote-rocker{display:grid;grid-template-columns:1fr;justify-items:center;gap:6px}.remote-rocker>span{margin-bottom:2px;letter-spacing:.1em}.remote-volume{display:flex;align-items:center;flex-direction:column;gap:6px;font-size:9px}.tv-remote #tv-volume{width:38px;height:64px;margin:0;accent-color:#9baaba}.tv-remote #tv-volume-value{font-size:9px;color:#aeb9c6}.remote-grip{height:23px;width:48px;background:repeating-linear-gradient(0deg,#111822 0 2px,#45505c 2px 3px);border-radius:4px;opacity:.6}
@media(max-width:600px){.tv-remote{right:18px;bottom:20px;width:78px;padding:13px 10px 16px;gap:9px;transform:rotate(9deg)}.tv-remote button{width:34px;height:30px}.tv-remote #tv-volume{height:55px}.remote-grip{height:15px;width:35px}.tv-remote .remote-brand{font-size:7px}}

/* A broad remote aimed at the screen, within easy reach. */
.tv-room{padding-top:8px;padding-bottom:240px}.tv-intro{margin-bottom:5px}.tv-intro h2{font-size:15px}.tv-intro p{display:none}
.tv-cabinet{width:min(780px,calc((100svh - var(--header-edge,63px) - 305px)*1.3333 + 95px))}
.tv-console{height:105px}.console-shelves{height:88px;padding-top:12px;padding-bottom:8px}.console-shelves .shelf-deck{height:62px}
.tv-remote{position:fixed;left:50%;right:auto;bottom:-34px;width:210px;padding:16px 22px 40px;gap:11px;transform:translateX(-50%) perspective(700px) rotateX(14deg);transform-origin:50% 100%;border-radius:35px 35px 44px 44px;background:linear-gradient(90deg,#171e28,#45505e 15%,#35404d 70%,#1b2430);box-shadow:inset 2px 2px 3px #a2b0be55,inset -4px -4px 5px #05080c,0 12px 18px #000c}
.remote-brand{font-size:9px;letter-spacing:.16em}.remote-top{padding:0 5px}.tv-remote #tv-sound{width:28px;height:24px}.remote-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 13px;width:100%}.tv-remote .remote-numbers button{width:42px;height:28px;border-radius:8px;font:bold 14px Tahoma,Arial,sans-serif;color:#d7dfe8}.remote-numbers button:last-child{grid-column:2}.tv-remote .remote-numbers button:disabled{opacity:.3;cursor:default}
.remote-rocker{display:flex;align-items:center;gap:9px}.remote-rocker>span{font-size:9px;margin:0}.tv-remote .remote-rocker button{width:41px;height:28px;font-size:18px}
.remote-volume{flex-direction:row;width:100%;justify-content:center;gap:7px}.tv-remote #tv-volume{writing-mode:horizontal-tb;direction:ltr;width:100px;height:24px;cursor:ew-resize}.tv-remote #tv-volume-value{min-width:17px;margin:0}.remote-grip{height:12px;width:90px}.tv-stationbar{display:none}
@media(max-width:600px){.tv-room{padding-top:22px;padding-bottom:240px}.tv-intro{margin-bottom:12px}.tv-cabinet{width:96%;max-width:530px}.tv-remote{left:50%;right:auto;bottom:-30px;width:190px;padding:13px 18px 35px;gap:8px;transform:translateX(-50%) perspective(600px) rotateX(12deg)}.tv-remote .remote-numbers button{width:39px;height:28px}.remote-numbers{gap:6px 10px}.tv-remote #tv-volume{width:86px;height:24px}.remote-grip{height:10px;width:75px}}
@media(max-height:600px) and (min-width:601px){.tv-remote{width:175px;gap:6px;padding:10px 16px 25px;bottom:-24px}.tv-remote .remote-numbers button{width:34px;height:24px}.remote-numbers{gap:5px 10px}.tv-remote #tv-volume{width:78px}.remote-grip{display:none}.tv-cabinet{width:370px}}

.tv-remote .remote-numbers button[aria-pressed=true]{color:#e1e7d9;background:linear-gradient(#607365,#384b3e);box-shadow:inset 0 0 5px #bddeac33,0 2px 1px #080d10}
#television{overflow:hidden}.tv-room{height:calc(100svh - var(--header-edge,63px));min-height:0;padding-bottom:0;overflow:hidden}.tv-remote{position:absolute;bottom:-34px}.tv-cabinet{width:min(780px,calc((100svh - var(--header-edge,63px) - 370px)*1.3333 + 95px))}
@media(max-width:600px){.tv-cabinet{width:92%;max-width:510px}.tv-remote{bottom:-30px}}

/* Transient CRT channel and volume display. */
#television .tv-osd{display:flex!important;opacity:0;top:7%;left:6%;right:6%;color:#65ff70;font:bold clamp(17px,2.4vw,28px)/1 'Courier New',monospace;text-shadow:2px 2px #103a19,0 0 4px #54ff6955;letter-spacing:.05em;transition:opacity .12s}
#television .tv-osd #tv-title{display:none}#television.show-channel-hud .tv-osd{opacity:1}
.tv-volume-osd{position:absolute;left:6%;right:6%;bottom:8%;z-index:4;display:flex;align-items:center;gap:10px;opacity:0;pointer-events:none;color:#65ff70;font:bold clamp(12px,1.6vw,20px)/1 'Courier New',monospace;text-shadow:2px 2px #103a19;transition:opacity .12s}
.show-volume-hud .tv-volume-osd{opacity:1}.tv-volume-bars{display:flex;gap:3px;flex:1;height:18px}.tv-volume-bars i{flex:1;background:#103a1966;border:1px solid #6dff7b66;box-shadow:1px 1px #103a19}.tv-volume-bars i.lit{background:#65ff70;box-shadow:1px 1px #103a19,0 0 3px #65ff7055}#tv-volume-level{min-width:2ch}
.tv-remote .remote-volume{gap:9px}.tv-remote .remote-volume button{width:41px;height:28px;font-size:18px}.remote-volume>span{font-size:9px;min-width:20px}
@media(max-width:600px){.tv-volume-osd{gap:6px}.tv-volume-bars{height:12px;gap:2px}}
/* Compact phosphor OSD, sized against the tube rather than the viewport. */
.tv-screen{container-type:inline-size}
#television .tv-osd{top:6.5%;left:5.5%;right:5.5%;font:700 clamp(11px,3.7cqw,20px)/1 'Courier New',monospace;letter-spacing:.02em;color:#83ed78;text-shadow:1px 0 #458d3bcc,-.6px 0 #b2ff9180,0 1px 1px #133713,0 0 2px #8bff7870;filter:blur(.18px)}
.tv-volume-osd{left:5.5%;right:auto;bottom:7%;width:66%;gap:7px;font:700 clamp(9px,2.8cqw,15px)/1 'Courier New',monospace;color:#83ed78;text-shadow:1px 0 #458d3bcc,-.6px 0 #b2ff9180,0 1px 1px #133713;filter:blur(.18px)}
.tv-volume-bars{height:clamp(7px,2.4cqw,12px);gap:2px;align-items:stretch}.tv-volume-bars i{border:0;background:#3c7a3544;box-shadow:none;opacity:.65}.tv-volume-bars i.lit{background:repeating-linear-gradient(0deg,#86ef7b 0 2px,#70ce66 2px 3px);box-shadow:0 0 1px #b2ff9155;opacity:.94}.tv-volume-bars i:nth-child(3n).lit{opacity:.81}.tv-volume-bars i:nth-child(4n).lit{transform:translateY(.3px)}
#tv-volume-level{font-size:.85em;min-width:2ch;opacity:.9}
#television .tv-osd:after,.tv-volume-osd:after{content:'';position:absolute;inset:-2px;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,#102b1533 2px 3px);mix-blend-mode:multiply}
@media(max-width:600px){.tv-volume-osd{gap:5px;width:72%}.tv-volume-bars{gap:1.5px}}
#television .tv-osd{right:auto;width:max-content}#television .tv-osd:after,.tv-volume-osd:after{opacity:.22}
.tv-remote.photo-remote{width:155px;height:620px;max-height:none;bottom:-245px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;gap:0;display:block;transform:translateX(-50%) perspective(1100px) rotateX(9deg);filter:drop-shadow(5px 12px 8px #000b);overflow:visible}
.photo-remote .remote-photo{position:absolute;left:-160.526%;top:-2.895%;width:421.053%;max-width:none;height:auto;pointer-events:none;user-select:none}
.photo-remote .remote-numbers{display:contents}
.tv-remote.photo-remote .remote-hotspot{position:absolute;display:block;padding:0;margin:0;min-width:0;min-height:0;border:0;border-radius:50%;background:transparent!important;box-shadow:none!important;transform:none;color:transparent;font-size:0;cursor:pointer;z-index:2}
.tv-remote.photo-remote .remote-hotspot:hover{background:#e1f0ff16!important;box-shadow:inset 0 0 0 1px #c6defa40!important}.tv-remote.photo-remote .remote-hotspot:active{background:#0006!important;transform:translateY(1px)}.tv-remote.photo-remote .remote-hotspot:focus-visible{outline:2px solid #a9c9dd;outline-offset:1px}.tv-remote.photo-remote .remote-hotspot[aria-pressed=true]{box-shadow:inset 0 0 0 1px #bdd6bb55!important}.tv-remote.photo-remote .remote-hotspot:disabled{opacity:1;cursor:default}
.tv-powered-off .tv-screen video,.tv-powered-off .tv-osd,.tv-powered-off .tv-volume-osd{visibility:hidden}.tv-powered-off .tv-screen{background:#090c0d}.tv-powered-off .tv-power-led{opacity:.2}
@media(max-width:600px){.tv-remote.photo-remote{width:135px;height:540px;bottom:-200px}}

.tv-remote.photo-remote.philips-remote{width:169px;height:440px;bottom:-55px;transform:translateX(-50%) perspective(1000px) rotateX(8deg)}
.philips-remote .remote-photo{left:-63.158%;top:-15.657%;width:252.632%;height:auto}
@media(max-width:600px){.tv-remote.photo-remote.philips-remote{width:157px;height:410px;bottom:-40px}}
@media(max-height:600px) and (min-width:601px){.tv-remote.photo-remote.philips-remote{width:134px;height:350px;bottom:-45px}}

.philips-remote .remote-photo{left:-61.702%;top:-12.605%;width:231.064%}

/* User artwork, clipped to the existing photographic silhouette. */
.philips-remote .remote-photo{mask-image:url('assets/tv-remote-philips.png');mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:url('assets/tv-remote-philips.png');-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}

/* A compressed, thresholded broadcast room matching the custom remote. */
body.television-open,#television{background:#132825!important}
.tv-room{background:radial-gradient(ellipse at 48% 30%,#9eb7b2 0 17%,#789795 18% 29%,#456963 30% 46%,#29443e 47% 65%,#172c27 66%);isolation:isolate}
.tv-room:before{display:block;top:72%;height:28%;border-top:3px solid #1e342e;background:repeating-linear-gradient(91deg,transparent 0 147px,#243d37 148px 154px),linear-gradient(#44665e 0 18%,#304a41 18% 57%,#20392f 57%);transform:none}
.tv-room:after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.16;background:url('assets/locked-static.png');mix-blend-mode:soft-light;image-rendering:pixelated}
.tv-wall-light{filter:none;background:radial-gradient(ellipse at 50% 40%,#c0dad23b 0 31%,#8baaa526 32% 48%,transparent 49%)}
.tv-cabinet,.tv-console{filter:url('#tv-threshold');border-color:#9aafaa;box-shadow:inset 3px 2px #cad8d1,inset -4px -4px #233c34,5px 7px 0 #182d27,10px 12px 0 #142a2466}
.tv-cabinet{background:linear-gradient(105deg,#375a50 0 7%,#7d9c96 7% 19%,#a3b7b0 19% 27%,#6b8c84 27% 76%,#466c5c 76% 95%,#27483b 95%);border-radius:20px}
.tv-screen{border-color:#1d332c #38574b #aac0b8 #203b30;box-shadow:0 0 0 3px #7d9c8e,inset 0 0 0 2px #132c20}
.tv-screen video{filter:saturate(.8) contrast(1.06)}
.tv-console{background:linear-gradient(90deg,#233d32 0 8%,#678c79 8% 22%,#466b58 22% 74%,#2b4b39 74% 94%,#1c3427 94%);border-color:#6c937d}
.console-top{background:linear-gradient(#a9bdae 0 25%,#567a65 25% 65%,#263f2f 65%);border-color:#94af9d}
.console-shelves>div{background:#182d23;border-color:#9aaf9b;box-shadow:inset 0 5px #14261c}
.tv-intro h2{color:#d6e3d8;opacity:1;text-shadow:2px 1px #244436}.tv-windowbar{color:#a4bfae}.tv-windowbar button{color:#d1dfd3;border-color:#739680;background:#2c4b39}
.shelf-deck #tv-deck-title{color:#d3e0cd;text-shadow:1px 0 #a4c7a8}.tv-chin{color:#b7d1be}
/* Small displaced bands and block edges evoke an over-compressed image. */
.tv-living-scene:after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.3;background:linear-gradient(90deg,transparent 0 10%,#b8d9c836 10% 26%,transparent 26% 63%,#233e3344 63% 88%,transparent 88%) 0 22%/100% 3px no-repeat,linear-gradient(90deg,transparent 0 22%,#122e2444 22% 41%,transparent 41% 73%,#e5ece02b 73% 91%,transparent 91%) 0 67%/100% 6px no-repeat,repeating-linear-gradient(0deg,transparent 0 31px,#173a2610 31px 32px)}
.tv-remote.photo-remote{filter:drop-shadow(4px 6px 0 #152e24aa)}
/* Restore physical materials: matte moulded plastic and dark wood. */
.tv-cabinet,.tv-console{filter:none}
.tv-cabinet{background:linear-gradient(110deg,#222832 0%,#535c67 15%,#3d4652 43%,#303944 82%,#202730 100%);border:1px solid #67717b;border-radius:22px 24px 28px 25px;box-shadow:inset 1px 2px 2px #b5bec43d,inset -3px -4px 4px #101720,0 10px 18px #0007}
.tv-cabinet:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;background:url('assets/locked-static.png');background-size:140px 140px;opacity:.045;mix-blend-mode:screen}
.tv-cabinet> *{position:relative}.tv-screen{border-color:#0a0e13 #242b33 #4c555d #10151b;box-shadow:0 0 0 2px #70798355,inset 0 0 16px #0008}.tv-screen video{filter:none}
.tv-speaker{background:repeating-linear-gradient(0deg,#121920 0 1px,#4c5661 1px 3px,#202a34 3px 4px);border:1px solid #151d26;box-shadow:inset 1px 0 #939da533}
.tv-console{background:repeating-linear-gradient(2deg,transparent 0 3px,#09060320 3px 4px,transparent 4px 9px,#9f775016 9px 10px),linear-gradient(90deg,#231b16,#49372a 24%,#3a2d23 72%,#261e18);border:1px solid #5c4837;box-shadow:inset 0 1px #9e7d5555,0 16px 24px #0008}
.console-top{background:repeating-linear-gradient(0deg,#5c4732 0 2px,#4a3829 2px 4px,#69503a 4px 5px,#443126 5px 8px);border:1px solid #72573c;box-shadow:0 2px 3px #0007,inset 0 1px #b08b5855}
.console-shelves>div{background:linear-gradient(#100d0b,#241c17);border-bottom:3px solid #58412d;border-left:1px solid #6e533b55;box-shadow:inset 0 7px 12px #0009}.console-feet i{background:linear-gradient(90deg,#1a1410,#423022,#1c140e)}
.console-shelves .shelf-deck{background:linear-gradient(#29313a,#10161d)!important;border-color:#404c58!important;box-shadow:inset 0 0 0 4px #222c36,0 2px 3px #0008!important}
.tv-chin{color:#9ba7b1;text-shadow:0 1px #111820}.shelf-deck #tv-deck-title{color:#b2cfc2;text-shadow:0 0 3px #7cbfa333}
/* Keep the room quiet so the physical objects remain the focus. */
.tv-room{background:radial-gradient(ellipse at 50% 32%,#37433e 0%,#1b2723 45%,#0c1411 90%)}
.tv-room:before{background:linear-gradient(#202820,#101810);border-top:1px solid #354135}
.tv-room:after,.tv-living-scene:after{display:none}.tv-wall-light{background:radial-gradient(ellipse at 50% 40%,#b4cab41f,transparent 65%);filter:blur(25px)}
/* User-supplied Toshiba photograph, with a live screen fitted inside its bezel. */
.tv-cabinet{display:block;position:relative;padding:0;gap:0;aspect-ratio:736/629;height:auto;width:min(700px,calc((100svh - var(--header-edge,63px) - 290px)*1.17));background:url('assets/tv-toshiba.png') center/100% 100% no-repeat;border:0;border-radius:12px 12px 5px 5px;box-shadow:0 8px 12px #0008;isolation:isolate;clip-path:polygon(1.5% 0,98.5% 0,100% 2%,100% 98%,98% 100%,1% 99%,0 97%,.7% 4%)}
.tv-cabinet:before,.tv-cabinet>.tv-hardware,.tv-cabinet>.tv-chin{display:none}
.tv-cabinet>.tv-screen{position:absolute;left:14.15%;top:9.2%;width:71.9%;height:63.15%;aspect-ratio:auto;min-height:0;margin:0;padding:0;border:0;border-radius:1.2%/1%;background:#06090b;box-shadow:none;overflow:hidden}
.tv-cabinet .tv-screen video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#06090b;filter:none}
@media(max-width:600px){.tv-cabinet{width:94%;max-width:530px}}
@media(max-height:600px) and (min-width:601px){.tv-cabinet{width:360px}}
/* Trim the white photographic backdrop at the Toshiba silhouette. */
.tv-cabinet{clip-path:polygon(2% 1.3%,97.9% 1.3%,98.8% 2.7%,99% 96.8%,98% 98.2%,1.6% 98%,.8% 96.8%,1.4% 4%);background-color:#27312f}
.tv-cabinet:after{content:'';position:absolute;inset:1.1% .8% 1.7% 1%;border:2px solid #28312f;border-radius:9px 9px 3px 3px;box-shadow:inset 0 0 2px #1b2422;pointer-events:none;z-index:5}

/* Honey-coloured DVD cabinet, based on the user's living-room reference. */
.tv-console{height:154px;width:min(850px,100%);border:5px solid #ad7c40;border-top:0;background:repeating-linear-gradient(1deg,#bb8c50 0 2px,#bc8e51 2px 6px,#ad7e4226 6px 7px),#bd8f53;box-shadow:inset 2px 0 #e0b77b,0 10px 18px #0008}
.console-top{left:-7px;right:-7px;height:12px;background:repeating-linear-gradient(0deg,#ba8b4e 0 2px,#ce9e5d 2px 5px,#c69755 5px 7px);border:1px solid #e0b775;box-shadow:0 3px 3px #51351777,inset 0 1px #eed09c}
.console-shelves{height:88px;grid-template-columns:1fr 2.1fr 1fr;gap:9px;padding:16px 9px 0}.console-shelves>div{border-left:0;border-bottom:7px solid #c39658;background:linear-gradient(#4c3621,#8a6339);box-shadow:inset 0 5px 7px #36261080}
.shelf-books,.shelf-cases{padding:0 5px;gap:2px;justify-content:center!important}.shelf-books i,.shelf-cases i,.lower-dvds i{display:block!important;flex:1;max-width:10px;width:7px;height:53px!important;transform:none!important;background:linear-gradient(#242631 0 13%,#c4bfb5 13% 18%,#272b36 18% 78%,#dad4bf 78% 83%,#282831 83%)!important;border:1px solid #ddd4bc55;box-shadow:1px 0 #151512}
.shelf-books i:nth-child(3n),.shelf-cases i:nth-child(3n),.lower-dvds i:nth-child(3n){background:linear-gradient(#d8d4bc 0 18%,#995047 18% 24%,#c1bfae 24% 76%,#434a52 76% 86%,#ddd8bd 86%)!important}.shelf-books i:nth-child(4n),.shelf-cases i:nth-child(4n),.lower-dvds i:nth-child(4n){background:linear-gradient(#77382e,#b0614d 65%,#ded5b5 65% 75%,#76382f 75%)!important}
.console-shelves .shelf-deck{position:relative;height:57px;margin:0 7px;padding:10px 15px;background:linear-gradient(#d1d1c7,#9fa6a1 26%,#c5c8c0 28% 70%,#a2a9a4 72%,#d0d0c4)!important;border:1px solid #818c87!important;box-shadow:inset 0 0 0 3px #d0d3c9,0 3px 2px #36281d!important}
.shelf-deck #tv-deck-title{color:#24372e;text-shadow:none;font-size:11px}.shelf-deck #tv-deck-channel,.shelf-deck #tv-deck-time{color:#374e42}.console-lower{height:62px;display:grid;grid-template-columns:1fr 2.1fr 1fr;gap:9px;padding:0 9px 7px}.console-lower>div{background:linear-gradient(#493422,#71502e);border-bottom:4px solid #cb9c60}.lower-dvds{display:flex;align-items:end;justify-content:center;gap:2px;padding:0 5px}.lower-dvds i{height:43px!important}.console-receiver{position:relative;margin:4px 7px 0;background:linear-gradient(#202925 0 60%,#c1c6ba 60% 78%,#7e8b80 79% 100%)!important;border:1px solid #3e4e43!important;box-shadow:0 2px 3px #302016}.console-receiver i{position:absolute;left:10%;top:11px;width:31%;height:8px;background:#112119;box-shadow:0 0 0 1px #536c57}.console-receiver span{position:absolute;left:12%;top:12px;color:#83af9a;font:5px monospace}.console-receiver b{position:absolute;right:8%;top:8px;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle,#7d8d7d,#27362b 68%);border:1px solid #718172}.console-feet i{background:#78552f;height:8px}.console-feet{bottom:-9px}
.tv-cabinet{width:min(700px,calc((100svh - var(--header-edge,63px) - 335px)*1.17))}
@media(max-width:600px){.tv-cabinet{width:92%}.tv-console{height:140px}.console-shelves{height:78px;gap:5px;padding:14px 5px 0}.console-lower{height:57px;padding:0 5px 5px;gap:5px}.shelf-books i,.shelf-cases i{height:44px!important}.console-shelves .shelf-deck{margin:0 2px;height:53px;padding:8px}.shelf-deck #tv-deck-title{font-size:9px}.shelf-books,.shelf-cases,.lower-dvds{padding:0 2px;gap:1px}.console-receiver{margin-left:2px;margin-right:2px}}

/* Photographic cabinet replaces the CSS-built furniture. */
.tv-console{width:min(640px,93%);height:auto;aspect-ratio:1817/866;background:none;border:0;box-shadow:none;margin-top:-6px;filter:drop-shadow(0 8px 8px #0006)}
.tv-console> *{display:none!important}.tv-console>.console-photo{display:block!important;width:100%;height:auto;position:relative;pointer-events:none}
.tv-cabinet{width:min(700px,calc((100svh - var(--header-edge,63px) - 350px)*1.17))}
@media(max-width:600px){.tv-console{width:98%;height:auto}.tv-cabinet{width:90%;max-width:450px}}
.tv-console{margin-top:-20px}
/* A small photographic room surrounds the existing TV and cabinet. */
.tv-room{background:linear-gradient(#08110c18,#08110c08 60%,#08110c20),url('assets/tv-room-photo.png?v=user-edit-1') center center/cover no-repeat}
.tv-room:before{display:none}.tv-room:after{display:block;inset:0;opacity:1;background:radial-gradient(ellipse at 50% 42%,rgba(var(--tv-room-color,150,180,220),.075),transparent 57%);mix-blend-mode:screen;pointer-events:none;z-index:0}
.tv-living-scene{z-index:1}.tv-wall-light{display:none}.tv-intro{z-index:2}.tv-intro h2{color:#c5cec2;text-shadow:1px 1px #29372e}
.tv-console{filter:drop-shadow(0 8px 5px #0009)}
@media(max-width:600px){.tv-room{background-position:50% center}}
/* Wider cabinet and a contact shadow where the CRT rests on the wood. */
.tv-console{width:min(760px,97%);isolation:isolate}
.tv-console:before{content:'';position:absolute;z-index:2;pointer-events:none;left:19%;right:19%;top:1.2%;height:6.5%;background:radial-gradient(ellipse at 50% 35%,#080b09a8 0%,#0a0e0973 38%,#0a0e092a 66%,transparent 78%);filter:blur(3px);transform:scaleX(1.08)}
@media(max-width:600px){.tv-console{width:100%}.tv-console:before{left:9%;right:9%;height:7%;filter:blur(2px)}}
.tv-console{height:min(305px,44vw);aspect-ratio:auto}.tv-console>.console-photo{height:100%;object-fit:fill}
@media(max-width:600px){.tv-console{height:auto;aspect-ratio:1817/866}.tv-console>.console-photo{height:auto}}
/* Slightly larger CRT, keeping its original photographic proportions. */
.tv-cabinet{width:min(740px,calc((100svh - var(--header-edge,63px) - 350px)*1.31))}
@media(max-width:600px){.tv-cabinet{width:97%;max-width:490px}}

.tv-screen>.tv-boot{position:absolute;inset:0;top:0;z-index:10;border-radius:inherit}.tv-screen>.tv-boot[hidden]{display:none}

/* Panasonic photograph with hit areas aligned to its physical keys. */
.tv-remote.photo-remote.panasonic-remote{width:260px;height:auto;aspect-ratio:453/810;bottom:-85px;transform:translateX(-50%) perspective(1000px) rotateX(8deg);filter:drop-shadow(5px 10px 7px #0008)}
.panasonic-remote .remote-photo{left:0;top:0;width:100%;height:100%;mask:none;-webkit-mask:none;clip-path:polygon(7.4% 2%,83.8% 2%,85% 4%,94.5% 98%,92% 99%,3% 98.5%,1.5% 97%,6.7% 4%)}
.tv-remote.panasonic-remote .remote-hotspot{border-radius:2px}.tv-remote.panasonic-remote button[hidden]{display:none!important}
@media(max-width:600px){.tv-remote.photo-remote.panasonic-remote{width:225px;height:auto;bottom:-65px}}

.panasonic-remote .remote-viisionic{position:absolute;left:37.2%;top:60.9%;width:40.5%;height:5.2%;display:flex;align-items:center;justify-content:center;background:linear-gradient(100deg,#999c88,#a0a18d);color:#070b08;font:900 20px/1 Arial,Helvetica,sans-serif;letter-spacing:-.7px;z-index:1;pointer-events:none;transform:rotate(.5deg)}
@media(max-width:600px){.panasonic-remote .remote-viisionic{font-size:18px}}
/* The photographic room reaches the top behind the floating signature. */
#television{top:0;height:100svh;max-height:100svh}
#television .tv-room{height:100svh;min-height:100svh;box-sizing:border-box;padding-top:calc(var(--header-edge,68px) + 8px)}
.tv-windowbar{top:var(--header-edge,68px)}
@media(max-width:600px){#television .tv-room{padding-top:calc(var(--header-edge,68px) + 12px)}}
/* A closer, 115% view into the room. */
#television .tv-living-scene{transform:scale(1.15);transform-origin:50% 45%}
#television .tv-room{background-size:auto,cover}
#television .tv-living-scene{transform:translateY(-35px) scale(1.15)}
#television .tv-room{background-position:center center,center center}
@media(max-width:600px){#television .tv-living-scene{transform:translateY(-24px) scale(1.15)}#television .tv-room{background-position:center center,center center}}
#television{--header-edge:68px}

/* Enter the room full screen, with one explicit route back to Explore. */
#television .tv-intro,#television .tv-stationbar{display:none!important}
#television .tv-windowbar{position:absolute;top:16px;left:16px;right:auto;height:auto;padding:0;background:none;border:0;z-index:20;pointer-events:none}
#television .tv-windowbar>span{display:none}
#television #tv-close{pointer-events:auto;width:auto;height:32px;padding:0 12px;border:1px solid #ffffff40;border-radius:0;background:#101510b3;box-shadow:inset 0 1px #ffffff12;color:#f4f0df;font:11px/30px Tahoma,Arial,sans-serif;cursor:pointer;backdrop-filter:blur(8px)}
#television #tv-close:hover{background:#293024e6;border-color:#ffffff80}
#television #tv-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:600px){#television .tv-windowbar{top:12px;left:12px}#television #tv-close{height:36px;line-height:34px}}

/* Replace the old blue screen edge with light from the current video. */
#television .tv-cabinet:before{display:block;position:absolute;inset:8.3% 12.7% 26.6% 13.2%;background:#070909;opacity:1;border-radius:2%;z-index:0}
#television .tv-cabinet>.tv-video-reflection{position:absolute;left:13.2%;top:8.3%;width:74.1%;height:65.1%;border-radius:2%;filter:blur(2px) brightness(.55) saturate(.75);pointer-events:none;z-index:0}
#television .tv-cabinet>.tv-screen{z-index:1}
#television.tv-powered-off .tv-video-reflection{visibility:hidden}
/* Override the original ID selector, including non-4:3 channels. */
#television .tv-screen #tv-video{object-fit:cover;object-position:50% 50%;width:100%;height:100%;max-width:none;max-height:none}
/* Let the picture dissolve into the curved CRT glass, rather than a hard rectangle. */
#television .tv-cabinet>.tv-screen{border-radius:2.8% / 3.6%;isolation:isolate}
#television .tv-screen #tv-video{transform:scale(1.018);transform-origin:center;mask-image:linear-gradient(90deg,transparent,#000 1.3%,#000 98.7%,transparent),linear-gradient(0deg,transparent,#000 1.6%,#000 98.4%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 1.3%,#000 98.7%,transparent),linear-gradient(0deg,transparent,#000 1.6%,#000 98.4%,transparent);-webkit-mask-composite:source-in}
#television .tv-screen:after{content:'';position:absolute;inset:0;z-index:6;border-radius:inherit;pointer-events:none;background:none;box-shadow:inset 0 0 2px #02050630}

/* Food cutout rests on the left edge of the TV stand. */
/* The CRT boot stays confined to the real screen and above the signal layer. */
#television .tv-screen>.tv-boot{display:block;position:absolute;inset:0;z-index:20;background:#020405;pointer-events:none}
#television .tv-screen>.tv-boot[hidden]{display:none}
#television .tv-boot i{inset:0;transform-origin:50% 50%;background:#f1f6fa}
@media(prefers-reduced-motion:reduce){#television .tv-screen>.tv-boot{display:none}}
body.television-open #stage{visibility:hidden}
body.television-open .portal-interference:before,body.television-open .portal-interference:after{animation-play-state:paused}
