/* Christmas Echoes TV · V1.47. Original approved photographic artwork. */
.ce-tv{width:min(820px,calc(100% - 24px));margin:12px auto 48px;text-align:center;color:#f8dfad}
.ce-tv-rule{display:flex;align-items:center;gap:15px;margin:0 8px 25px;color:#dfb968}
.ce-tv-rule::before,.ce-tv-rule::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#c59848)}
.ce-tv-rule::after{transform:rotate(180deg)}
.ce-tv-rule span{font:22px Georgia,serif}
.ce-tv h2{font:normal clamp(27px,6.9vw,64px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:0 0 12px;color:#f8dfad;text-wrap:balance}
.ce-tv-subtitle{font:clamp(14px,3.25vw,25px)/1.45 Georgia,'Times New Roman',serif;margin:0 0 8px;color:#fff1d3}
.ce-tv-set{position:relative;width:100%;aspect-ratio:1024/770;overflow:hidden;isolation:isolate}
.ce-tv-art{position:absolute;left:0;top:-54.5454545%;width:100%;height:auto;max-width:none;pointer-events:none}
.ce-tv-definitions{position:absolute}
.ce-tv-screen-layer{position:absolute;inset:0;clip-path:url(#ceTvScreenClip);pointer-events:none}
.ce-tv-dark{position:absolute;inset:0;background:radial-gradient(ellipse at 40% 32%,#2a2b2e,#10141a 60%,#05070b);opacity:0;transition:opacity .28s ease}
.ce-tv.is-off .ce-tv-dark{opacity:1}
.ce-tv-tuning{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff17 0 1px,transparent 1px 3px),linear-gradient(90deg,#c4c5c7,#e4e4e4,#92999f);opacity:0}
.ce-tv.is-tuning .ce-tv-tuning{animation:ceTvTune .28s steps(3,end)}
.ce-tv-channel-osd{position:absolute;top:24%;left:15%;font:600 clamp(12px,3vw,24px)/1 monospace;letter-spacing:.08em;color:#dcf9da;text-shadow:0 1px 3px #000,0 0 5px #174f25;opacity:0}
.ce-tv.show-channel:not(.is-off) .ce-tv-channel-osd{opacity:1}
.ce-tv-hotspot{position:absolute;left:80%;width:11.5%;height:15.3%;border:0;border-radius:50%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ce-tv-channel-knob{top:21.5%}.ce-tv-power-knob{top:39.2%}
.ce-tv-hotspot:hover{box-shadow:inset 0 0 0 2px #ffdf9655}
.ce-tv button:focus-visible{outline:3px solid #ffe5a8;outline-offset:4px}
.ce-tv-controls{margin:8px auto 0}
.ce-tv-power{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;min-width:136px;padding:8px 25px;border:1.5px solid #f4ce86;border-radius:99px;background:transparent;color:#f8dfad;font:20px/1.2 Georgia,serif;cursor:pointer}
.ce-tv-power:hover{background:#f4ce8610}.ce-tv-power>span:first-child{font:23px/1 Arial,sans-serif}
.ce-tv-channel-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin:7px 0 0}
.ce-tv-channel-controls p{font:clamp(17px,3.5vw,24px)/1.3 Georgia,serif;margin:0;min-width:135px}
.ce-tv-channel-controls button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;background:transparent;color:#f4ce86;border:0;border-radius:50%;font:38px/1 Georgia,serif;cursor:pointer}
.ce-tv-channel-controls button:hover{background:#f4ce8610}
.ce-tv-status{margin:6px 0 0;color:#e0d3bc;font:italic 13px/1.5 Georgia,serif;min-height:1.5em}
@keyframes ceTvTune{0%{opacity:.8;transform:translateY(-1%)}35%{opacity:.25}70%{opacity:.7;transform:translateY(1%)}100%{opacity:0}}
@media(min-width:700px){.ce-tv{margin-top:24px;margin-bottom:58px}.ce-tv-rule{margin-bottom:30px}.ce-tv-controls{margin-top:13px}.ce-tv-status{font-size:15px}}
@media(prefers-reduced-motion:reduce){.ce-tv-dark{transition:none}.ce-tv.is-tuning .ce-tv-tuning{animation:none}}

/* V1.48 · Video stays inside the original glass; all controls stay below. */
.ce-tv-video{position:absolute;left:10.2%;top:20.2%;width:62.6%;height:62.8%;object-fit:contain;background:#000;opacity:0;pointer-events:none}
.ce-tv.has-video .ce-tv-video{opacity:1}
.ce-tv-program{font:18px/1.4 Georgia,serif;color:#fff1d3;margin:4px auto 13px;max-width:90%;text-wrap:balance}
.ce-tv-program span{color:#d6c7ac;font-size:.85em;white-space:nowrap}
.ce-tv-transport{display:flex;justify-content:center;align-items:center;gap:10px}
.ce-tv-action{min-height:44px;min-width:52px;padding:9px 12px;border:1px solid #dfb96888;border-radius:99px;background:#09233b;color:#f8dfad;font:15px/1.2 Georgia,serif;cursor:pointer}
.ce-tv-play{min-width:112px;border-color:#f4ce86;font-size:18px}
.ce-tv-action:hover{background:#f4ce8610}
.ce-tv-utilities{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:9px auto 0}
.ce-tv-text-button{min-height:44px;padding:5px 2px;border:0;background:none;color:#edd8af;font:13px/1.3 Georgia,serif;cursor:pointer;text-decoration:underline;text-decoration-color:#dfb96866;text-underline-offset:4px}
.ce-tv-time{font:12px/1.3 Georgia,serif;color:#d8c8aa;font-variant-numeric:tabular-nums;white-space:nowrap}
.ce-tv [hidden]{display:none!important}
.ce-tv button:disabled{opacity:.45;cursor:default}
.ce-tv-status{max-width:92%;margin:6px auto 0}

/* V1.49 · Real frame in front; video and darkness behind its glass opening. */
.ce-tv-art{z-index:0}
.ce-tv-screen-layer{z-index:1;clip-path:none}
.ce-tv-frame{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:hidden}
.ce-tv-hotspot{z-index:3}
.ce-tv-video{left:9.8%;top:19.2%;width:63.4%;height:63.4%;object-fit:cover}
.ce-tv-channel-osd{left:16%;top:26%}
.ce-tv-power-icon{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* V1.50 · Always cover the baked-in picture, even before scripts load. */
.ce-tv-screen-layer{background:#030404;clip-path:url(#ceTvGlassClip)}
.ce-tv-dark{opacity:0;z-index:2;background:radial-gradient(ellipse at 38% 30%,#242827 0%,#101413 48%,#030504 100%)}
.ce-tv.is-off .ce-tv-dark{opacity:1;transition:none}
.ce-tv-video{object-fit:contain}
.ce-tv.is-off .ce-tv-video,.ce-tv.has-error .ce-tv-video{opacity:0}
.ce-tv-tuning{z-index:3}.ce-tv-channel-osd{z-index:4}
.ce-tv-controls{max-width:600px;margin:12px auto 0}
.ce-tv-channel-controls{margin:15px 0 4px}
.ce-tv-channel-controls p{font-size:clamp(15px,3.3vw,21px);color:#ddc698}
.ce-tv-program{font-size:clamp(16px,3.8vw,23px);margin:5px auto 14px}
.ce-tv-power{min-height:44px;font-size:18px;padding:9px 23px}
.ce-tv-status{font-size:13px;margin-top:10px}
.ce-tv-hotspot:disabled{opacity:1;cursor:default}
.ce-tv-hotspot:disabled:hover{box-shadow:none}
