/* A translucent red signal layer, matching the site's existing accent. */
.desktop{position:relative}
.intrusion-layer,.intrusion-panel,.intrusion-directory{position:absolute;pointer-events:none;user-select:none;overflow:hidden}
.intrusion-layer{inset:0;z-index:9}
.intrusion-layer:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 7px,color-mix(in srgb,var(--red-base) 3%,transparent) 7px 8px);opacity:.45}
.intrusion-packet{position:absolute;margin:0;font:400 12px/1.6 var(--mono);letter-spacing:.25px;color:var(--red-base);white-space:pre;opacity:0;mask-image:linear-gradient(90deg,#000 70%,transparent);animation:packet-drift var(--packet-duration) linear var(--packet-delay) infinite alternate,packet-flicker 4.8s linear var(--packet-delay) infinite}
.intrusion-panel{inset:44px 0 25px;z-index:4}
.intrusion-scan{position:absolute;top:0;left:0;right:0;height:76px;border-bottom:1px solid color-mix(in srgb,var(--red-base) 16%,transparent);background:linear-gradient(transparent,color-mix(in srgb,var(--red-base) 4%,transparent));opacity:0;animation:signal-scan 13s linear -4s infinite}
.intrusion-band{position:absolute;top:46%;left:0;right:0;height:58px;background:repeating-linear-gradient(180deg,transparent 0 3px,color-mix(in srgb,var(--red-base) 18%,transparent) 3px 4px);opacity:0}
.intrusion-trace{position:absolute;top:22%;right:6%;margin:0;color:var(--red-tone-37);font:400 13px/1.55 var(--mono);letter-spacing:.6px;white-space:pre;opacity:0}
.intrusion-burst .intrusion-band{animation:signal-band 1.6s ease-out both}
.intrusion-burst .intrusion-trace{animation:signal-trace 1.8s ease-out both}
.intrusion-burst .window-frame{animation:signal-frame 1.8s ease-out both}
.intrusion-burst .home-headline{animation:signal-echo 1.6s ease-out both}
.intrusion-directory{inset:1px;border-radius:inherit;z-index:2}
.intrusion-directory:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 5px,color-mix(in srgb,var(--red-base) 5%,transparent) 5px 6px);opacity:.65}
.directory-scan{position:absolute;top:-14%;left:0;right:0;height:14%;border-bottom:1px solid color-mix(in srgb,var(--red-base) 45%,transparent);background:linear-gradient(transparent,color-mix(in srgb,var(--red-base) 12%,transparent));animation:directory-scan 11s linear -3s infinite}
.intrusion-directory .intrusion-packet{font-size:11px;line-height:1.55;animation-name:directory-code-drift,directory-code-flicker;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 78%,transparent)}
.directory-code-field{position:absolute;top:66%;bottom:0;left:0;right:0;overflow:hidden;mask-image:linear-gradient(180deg,transparent,#000 10%,#000 86%,transparent)}
.directory-code-field:before{content:'';position:absolute;left:0;right:0;top:-35%;height:35%;border-bottom:1px solid color-mix(in srgb,var(--red-base) 60%,transparent);background:linear-gradient(transparent,color-mix(in srgb,var(--red-base) 14%,transparent));animation:directory-field-scan 7s linear -2s infinite}
.directory-code-field .intrusion-packet{font-size:11px;line-height:1.6;letter-spacing:.4px;text-shadow:0 0 8px color-mix(in srgb,var(--red-base) 25%,transparent);animation-name:directory-field-drift,directory-field-flicker;animation-duration:6s,3.8s;mask-image:linear-gradient(90deg,#000 75%,transparent)}
.intrusion-paused .intrusion-layer,.intrusion-paused .intrusion-panel,.intrusion-paused .intrusion-directory{display:none}
@keyframes directory-field-scan{0%{top:-35%;opacity:0}15%{opacity:.7}80%{opacity:.5}100%{top:100%;opacity:0}}
@keyframes directory-field-drift{from{transform:translate(18px,8px)}to{transform:translate(-16px,-8px)}}
@keyframes directory-field-flicker{0%,100%{opacity:.5}22%{opacity:.68}46%{opacity:.42}47%,50%{opacity:.12}51%{opacity:.72}76%{opacity:.5}}
@keyframes directory-scan{0%{top:-14%;opacity:0}12%{opacity:.6}78%{opacity:.45}100%{top:100%;opacity:0}}
@keyframes directory-code-drift{from{transform:translate(18px,16px)}to{transform:translate(-18px,-24px)}}
@keyframes directory-code-flicker{0%,100%{opacity:.18}20%{opacity:.34}48%{opacity:.24}49%,52%{opacity:.04}53%{opacity:.38}78%{opacity:.2}}
@keyframes packet-drift{from{transform:translate(12px,14px)}to{transform:translate(-18px,-28px)}}
@keyframes packet-flicker{0%,100%{opacity:.12}24%{opacity:.23}49%{opacity:.14}50%,53%{opacity:.02}54%{opacity:.26}78%{opacity:.12}}
@keyframes signal-scan{0%,12%{opacity:0;transform:translateY(-80px)}16%{opacity:.7}70%{opacity:.45}82%,100%{opacity:0;transform:translateY(800px)}}
@keyframes signal-band{0%{opacity:0;transform:translateX(-8px)}20%{opacity:.55;transform:translateX(5px)}55%{opacity:.16;transform:translateX(-2px)}100%{opacity:0;transform:translateX(0)}}
@keyframes signal-trace{0%{opacity:0;transform:translateX(14px)}18%{opacity:.26}65%{opacity:.18;transform:translateX(0)}100%{opacity:0;transform:translateX(-10px)}}
@keyframes signal-frame{0%,100%{box-shadow:0 12px 40px #0004}22%{box-shadow:0 12px 40px #0004,0 0 0 1px color-mix(in srgb,var(--red-base) 38%,transparent),0 0 20px color-mix(in srgb,var(--red-base) 14%,transparent)}70%{box-shadow:0 12px 40px #0004,0 0 0 1px color-mix(in srgb,var(--red-base) 10%,transparent)}}
@keyframes signal-echo{0%,100%{text-shadow:none}24%{text-shadow:3px 0 color-mix(in srgb,var(--red-base) 22%,transparent),-2px 0 color-mix(in srgb,var(--red-base) 12%,transparent)}65%{text-shadow:1px 0 color-mix(in srgb,var(--red-base) 9%,transparent)}}
@media(prefers-reduced-motion:reduce){.intrusion-layer,.intrusion-panel,.intrusion-directory{display:none}.intrusion-burst .window-frame,.intrusion-burst .home-headline{animation:none}}
