/* One brief reconstruction, ending on the untouched original artwork. No strobe. */
.grinch-transmission{position:relative;isolation:isolate;overflow:hidden;background:#040b06;min-width:0;aspect-ratio:1122/1402;box-shadow:0 0 0 1px #91ab4b38,0 18px 45px #0005}
.grinch-transmission[hidden],.transmission-controls[hidden],.transmission-clear[hidden]{display:none!important}
.grinch-transmission .transmission-original{position:relative;display:block;width:100%;height:auto;margin:0;filter:none;transform:none;opacity:1}
.grinch-transmission .transmission-echo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;opacity:0;pointer-events:none;margin:0;filter:sepia(.6) hue-rotate(34deg) saturate(1.2)}
.transmission-echo-upper{clip-path:inset(19% 0 63% 0)}.transmission-echo-lower{clip-path:inset(64% 0 18% 0)}
.transmission-static,.transmission-scan{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:2}
.transmission-static{background:repeating-linear-gradient(0deg,#06100766 0 1px,transparent 1px 5px),repeating-linear-gradient(94deg,transparent 0 17px,#708d3520 18px 19px);mix-blend-mode:screen}
.transmission-scan{inset:-30% 0 auto;height:30%;background:linear-gradient(180deg,transparent,#98bb5a14 60%,#c9e69838 99%,transparent);border-bottom:1px solid #b3ce7955}
.transmission-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:48px;padding:11px 0;color:#b5c59f;font:500 11px/1.5 monospace;letter-spacing:.06em}
.transmission-controls>span{flex:1;min-width:0}.transmission-clear{flex-shrink:0;background:#142316;color:#e1e9d2;border:1px solid #829559;padding:10px 13px;min-height:44px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.3;cursor:pointer;border-radius:2px;letter-spacing:0}
.transmission-clear:focus-visible,.transmission-controls>span:focus-visible{outline:2px solid #e2c989;outline-offset:3px}
.is-recovering .transmission-original{animation:letter-reconstruct 2.8s cubic-bezier(.16,.65,.3,1) both;will-change:filter,transform}
.is-recovering .transmission-echo-upper{animation:letter-fracture-upper 2.8s steps(1,end) both}
.is-recovering .transmission-echo-lower{animation:letter-fracture-lower 2.8s steps(1,end) both}
.is-recovering .transmission-static{animation:letter-static-clear 2.8s ease-out both}
.is-recovering .transmission-scan{animation:letter-scan-down 2.8s ease-in-out both}
@keyframes letter-reconstruct{0%{filter:blur(12px) saturate(.35);transform:translateY(12px) scale(1.035);opacity:.3}28%{filter:blur(5px) saturate(.55);transform:translateX(-5px) skewX(-.6deg) scale(1.02);opacity:.7}49%{filter:blur(3px) saturate(.75);transform:translateX(3px) scale(1.012);opacity:.88}70%{filter:blur(1px);transform:translateX(-1px);opacity:1}100%{filter:none;transform:none;opacity:1}}
@keyframes letter-fracture-upper{0%{opacity:0}19%{opacity:.38;transform:translateX(14px)}41%{opacity:.23;transform:translateX(-10px)}66%{opacity:.16;transform:translateX(5px)}84%,100%{opacity:0;transform:none}}
@keyframes letter-fracture-lower{0%{opacity:0}29%{opacity:.3;transform:translateX(-13px)}53%{opacity:.2;transform:translateX(8px)}74%,100%{opacity:0;transform:none}}
@keyframes letter-static-clear{0%{opacity:.6}45%{opacity:.3}100%{opacity:0}}
@keyframes letter-scan-down{0%{transform:translateY(0);opacity:0}15%{opacity:.75}78%{opacity:.4}100%{transform:translateY(440%);opacity:0}}
.is-reduced .grinch-transmission .transmission-original{animation:none!important;filter:none!important;transform:none!important;opacity:1!important}
.is-reduced .transmission-echo,.is-reduced .transmission-static,.is-reduced .transmission-scan{display:none!important}
@media(prefers-reduced-motion:reduce){.grinch-transmission .transmission-original{animation:none!important;filter:none!important;transform:none!important;opacity:1!important}.transmission-echo,.transmission-static,.transmission-scan{display:none!important}}
@media(max-width:420px){.transmission-controls{font-size:10px;letter-spacing:.025em;gap:10px}.transmission-clear{font-size:12px;padding:9px 11px}}
