.ufo-layer{position:fixed;inset:0;z-index:1300;pointer-events:none;overflow:hidden}.ufo-layer.is-page{position:absolute;inset:0 auto auto 0;width:0;height:0;overflow:visible}.ufo-layer>*{pointer-events:none}.ufo{position:absolute;left:0;top:0;z-index:6;will-change:transform;filter:drop-shadow(0 6px 14px #000a) drop-shadow(0 0 12px #39ff9f44)}.ufo svg{display:block;width:100%;height:100%}.ufo-bob{width:100%;height:100%;animation:ufo-bob 1.6s ease-in-out infinite}.ufo-lights circle{fill:#f9c401;animation:ufo-light .9s steps(1,end) infinite}.ufo-lights circle:nth-child(2n){fill:#ff5fa2;animation-delay:.45s}.ufo-port{animation:ufo-port 1.2s ease-in-out infinite}.ufo.is-charging .ufo-port{fill:#6fb6ff;animation:ufo-charge .12s steps(2,end) infinite}.ufo.is-charging{filter:drop-shadow(0 6px 14px #000a) drop-shadow(0 0 22px #4d8dffcc)}@keyframes ufo-bob{50%{transform:translateY(-6%)}}@keyframes ufo-light{50%{opacity:.25}}@keyframes ufo-port{50%{opacity:.45}}@keyframes ufo-charge{50%{opacity:.3}}.ufo-beam{position:absolute;z-index:4;transform:scaleY(0);transform-origin:top center;opacity:0;clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);background:repeating-linear-gradient(180deg,#ffffff22 0 2px,transparent 2px 9px),linear-gradient(180deg,#b8ffdcd0,#39ff9f66 55%,#73e5f122);background-size:100% 18px,100% 100%;mix-blend-mode:screen;filter:blur(.6px);animation:ufo-beam-scan .5s linear infinite}@keyframes ufo-beam-scan{to{background-position:0 18px,0 0}}.ufo-laser{position:absolute;z-index:5;transform-origin:0 50%;border-radius:999px;background:linear-gradient(180deg,transparent,#4d8dff 18%,#d6ecff 50%,#4d8dff 82%,transparent);box-shadow:0 0 18px 6px #3a7bffaa,0 0 46px 14px #2a5bff66;filter:blur(2.4px);animation:ufo-laser .07s steps(2,end) infinite}@keyframes ufo-laser{50%{opacity:.75;filter:blur(3.6px)}}.ufo-blast{position:absolute;z-index:5;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#ffffff 0 12%,#9cc7ff 22%,#ff9d3a 38%,#ff4d1a55 55%,transparent 70%);mix-blend-mode:screen}.ufo-scorch{position:absolute;z-index:3;border-radius:6px;background:radial-gradient(ellipse at 42% 55%,#000000cc 0 18%,#2a1206aa 34%,transparent 62%),radial-gradient(ellipse at 70% 30%,#00000099 0 10%,transparent 40%),repeating-linear-gradient(115deg,transparent 0 22px,#00000055 22px 24px,transparent 24px 41px);mix-blend-mode:multiply}.ufo-scorch:before,.ufo-scorch:after{content:"";position:absolute;left:30%;bottom:40%;width:26px;height:26px;border-radius:50%;background:#9aa3a966;filter:blur(6px);animation:ufo-smoke 3.2s ease-out infinite}.ufo-scorch:after{left:62%;animation-delay:1.4s}@keyframes ufo-smoke{0%{transform:translateY(0) scale(.6);opacity:.8}to{transform:translateY(-90px) scale(2.4);opacity:0}}.ufo-debris{position:absolute;z-index:3;border-radius:2px;background:#2b2b2b}.ufo-debris.ember{background:#ff8a3d;box-shadow:0 0 8px #ff6a1a;animation:ufo-ember .9s ease-in-out infinite alternate}.ufo-debris.chip{background:#73e5f1;opacity:.8}@keyframes ufo-ember{to{background:#6b2a0a;box-shadow:0 0 2px #ff6a1a55}}.ufo-burned{filter:sepia(1) saturate(2.5) hue-rotate(-25deg) brightness(.4) contrast(1.6)!important;animation:ufo-smolder 1.4s ease-in-out infinite!important}@keyframes ufo-smolder{50%{filter:sepia(1) saturate(3) hue-rotate(-35deg) brightness(.55) contrast(1.5)}}.ufo-scan{position:absolute;z-index:4;border:2px solid #73e5f1;box-shadow:0 0 16px #73e5f188,inset 0 0 22px #39ff9f44;background:linear-gradient(180deg,transparent 0 44%,#b8fff6 48%,#39ff9f 50%,transparent 56%) 0 0 / 100% 220% no-repeat,repeating-linear-gradient(0deg,#73e5f122 0 1px,transparent 1px 14px),repeating-linear-gradient(90deg,#73e5f122 0 1px,transparent 1px 14px);animation:ufo-scan .85s linear infinite;mix-blend-mode:screen}@keyframes ufo-scan{0%{background-position:0 110%,0 0,0 0}to{background-position:0 -110%,0 0,0 0}}.ufo-tint,.tfht-warn,.tfht-black,.tfht-invaded{position:fixed;inset:0;z-index:1}.ufo-tint{opacity:0}.ufo-tint-blur{-webkit-backdrop-filter:blur(4px) saturate(.6);backdrop-filter:blur(4px) saturate(.6);background:#0c111633}.ufo-tint-static:before,.tfht-warn:before,.tfht-invaded:before{content:"";position:absolute;inset:-40px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .7 0 0 0 0 1 0 0 0 0 .9 0 0 0 1.4 -.4'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:screen;animation:ufo-static .3s steps(4) infinite}.ufo-tint-static:before{opacity:.5}.ufo-tint-static{background:#0c111633}.ufo-tint-scan,.tfht-warn:after,.tfht-invaded:after{background:repeating-linear-gradient(0deg,#00000080 0 2px,transparent 2px 5px)}.ufo-tint-scan:after{content:"";position:absolute;left:0;right:0;top:-20%;height:16%;background:linear-gradient(180deg,transparent,#ffffff1c 40%,#39ff9f22 55%,transparent);animation:ufo-roll 2.6s linear infinite}.ufo-tint-green{background:radial-gradient(ellipse at center,#39ff9f22,#0a3d1f88 75%,#031a0dcc);mix-blend-mode:hard-light;-webkit-backdrop-filter:hue-rotate(70deg) saturate(1.4);backdrop-filter:hue-rotate(70deg) saturate(1.4)}@keyframes ufo-static{0%{transform:translate(0)}25%{transform:translate(-17px,9px)}50%{transform:translate(11px,-21px)}75%{transform:translate(-6px,14px)}to{transform:translate(19px,-4px)}}@keyframes ufo-roll{to{transform:translateY(820%)}}.tfht-warn{--p: 0;-webkit-backdrop-filter:blur(calc(var(--p) * 6px)) hue-rotate(calc(var(--p) * 60deg)) saturate(calc(1 - var(--p) * .5));backdrop-filter:blur(calc(var(--p) * 6px)) hue-rotate(calc(var(--p) * 60deg)) saturate(calc(1 - var(--p) * .5));background:rgba(20,90,40,calc(var(--p) * .45));animation:tfht-jolt 1.7s steps(1,end) infinite}.tfht-warn:before{opacity:calc(.08 + var(--p) * .55)}.tfht-warn:after{content:"";position:absolute;inset:0;opacity:calc(var(--p) * .9)}.tfht-black{background:#000}.tfht-invaded{box-shadow:inset 0 0 3vmin .6vmin #a6ff00cc,inset 0 0 14vmin #7dff3a55}.tfht-invaded:before{opacity:.12}.tfht-invaded:after{content:"";position:absolute;inset:0;opacity:.35}@keyframes tfht-jolt{0%,40%,43%,80%,82%,to{transform:none}41%{transform:translate(-8px,2px)}42%{transform:translate(6px,-2px)}81%{transform:translateY(6px)}}
