.signal-takeover[hidden],.signal-revelation[hidden]{display:none!important}
body.signal-active{overflow:hidden}
.signal-takeover{position:fixed;inset:0;z-index:1000;background:#000;color:#fff;isolation:isolate}
.signal-intro{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:24px;border:0;border-radius:0;background:radial-gradient(ellipse at center,#000e 0%,#0009 32%,#0002 75%);color:#fff;cursor:pointer;font-family:inherit}
.signal-intro .signal-quote{margin:0;text-shadow:0 2px 18px #000}
.signal-enter-hint{position:absolute;bottom:max(36px,env(safe-area-inset-bottom));left:0;width:100%;color:#d1d1d1;font-size:11px;letter-spacing:.12em;text-align:center}
.signal-interference{position:absolute;inset:0;overflow:hidden;background:#101010;transition:opacity .15s}
.signal-interference canvas{width:100%;height:100%;image-rendering:pixelated;opacity:.87}
.signal-scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0007 0 1px,transparent 1px 4px);pointer-events:none}
.signal-tear{position:absolute;inset:0;background:linear-gradient(transparent 35%,#ffffff24 35.2%,#000b 36%,transparent 37%,transparent 73%,#ffffff1c 73.2%,transparent 75%);animation:signal-tracking .19s steps(2,end) infinite}
.signal-lost{position:absolute;top:46%;left:0;width:100%;text-align:center;font:11px/1.6 monospace;letter-spacing:.34em;color:#ddd;text-shadow:2px 0 #555;animation:signal-slip .23s steps(2,end) infinite}
.signal-skip{position:absolute;z-index:3;right:24px;bottom:24px;color:#fff;background:#000c;border:1px solid #777;padding:10px 15px;font-family:inherit;font-size:12px;line-height:1.4;cursor:pointer}
.signal-takeover[data-phase="black"] .signal-interference,.signal-takeover[data-phase="revealed"] .signal-interference{opacity:0;visibility:hidden}
.signal-revelation{height:100%;overflow:auto;overscroll-behavior:contain;background:#000;outline:none}
.signal-frame{max-width:1200px;min-height:100%;margin:auto;padding:30px 64px 24px;box-sizing:border-box;display:flex;flex-direction:column}
.signal-topline,.signal-bottomline{display:flex;justify-content:space-between;gap:20px;color:#797979;font:10px/1.5 monospace;letter-spacing:.16em}
.signal-topline{padding-bottom:18px;border-bottom:1px solid #222}
.signal-quote{margin:60px 0 62px;text-align:center;color:#fff;font-size:clamp(24px,3.2vw,42px);font-weight:400;line-height:1.8;letter-spacing:-.045em;word-break:keep-all;animation:signal-appear 1.1s both}
.signal-quote span{display:block}
.signal-profile{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:70px;align-items:center;width:100%;max-width:920px;margin:0 auto 64px;animation:signal-rise 1.3s .65s both}
.signal-portrait{position:relative;align-self:stretch;margin:0;background:#080808;min-height:340px}
.signal-portrait:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -55px 55px -30px #000}
.signal-portrait img{display:block;width:100%;height:100%;max-height:510px;object-fit:cover;object-position:center 25%;filter:saturate(.65);border:1px solid #222}
.signal-portrait figcaption{position:absolute;left:18px;bottom:13px;z-index:1;color:#b5b5b5;font:9px/1.5 monospace;letter-spacing:.15em}
.signal-kicker{margin:0 0 14px;color:#aaa;font-size:11px;letter-spacing:.18em}
.signal-record h3{margin:0;color:#fff;font-size:clamp(32px,4.8vw,60px);line-height:1.1;font-weight:800;letter-spacing:-.055em;overflow-wrap:anywhere}
.signal-record h3 span{color:#fff}
.signal-description{margin:22px 0 29px;color:#bbb;font-size:14px}
.signal-record dl{margin:0;border-top:1px solid #333}
.signal-record dl div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid #222;font-size:13px}
.signal-record dt{color:#888}.signal-record dd{margin:0;color:#eee}
.signal-note{margin:22px 0 28px;color:#777;font-size:12px}
.signal-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.signal-actions a,.signal-actions button{padding:9px 0;border:0;border-bottom:1px solid #555;background:none;color:#d3d3d3;font-family:inherit;font-size:12px;line-height:1.5;text-decoration:none;cursor:pointer}
.signal-actions a:hover,.signal-actions button:hover{color:#fff;border-color:#fff}
.signal-takeover :focus-visible{outline:2px solid #fff;outline-offset:6px}
.signal-bottomline{margin-top:auto;padding-top:18px;border-top:1px solid #222}
@keyframes signal-tracking{0%{transform:translateY(-15%) scaleY(1.3)}100%{transform:translateY(15%) scaleY(1.3)}}
@keyframes signal-slip{0%{transform:translateX(-3px)}100%{transform:translateX(4px)}}
@keyframes signal-appear{from{opacity:0}to{opacity:1}}
@keyframes signal-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:700px){.signal-frame{padding:22px 24px}.signal-topline,.signal-bottomline{font-size:8px;letter-spacing:.08em}.signal-quote{margin:56px 0 46px;font-size:clamp(22px,5.5vw,32px)}.signal-profile{grid-template-columns:1fr;gap:32px;max-width:440px;margin-bottom:48px}.signal-portrait{min-height:0;aspect-ratio:4/4.3}.signal-portrait img{height:100%;max-height:none}.signal-record h3{font-size:clamp(36px,10vw,52px)}.signal-skip{right:20px;bottom:20px}}
@media(prefers-reduced-motion:reduce){.signal-tear,.signal-lost,.signal-quote,.signal-profile{animation:none}.signal-interference{transition:none}}
