/* Holographic showcase above the room, using the homepage's device artwork. */
.lobby-projection{position:absolute;left:50%;top:12px;transform:translateX(-50%);width:clamp(150px,23vh,215px);height:clamp(150px,23vh,215px);pointer-events:none;isolation:isolate;z-index:1;filter:drop-shadow(0 6px 16px #0006)}
.lobby-projection:before{content:'';position:absolute;inset:5% -20% -18%;background:radial-gradient(ellipse,color-mix(in srgb,var(--projection-color),transparent 85%),transparent 65%)}
.projection-orbit{position:absolute;left:15%;right:15%;height:12%;bottom:-4%;border:1px solid color-mix(in srgb,var(--projection-color),transparent 55%);border-radius:50%;box-shadow:0 0 24px color-mix(in srgb,var(--projection-color),transparent 85%)}
.lobby-projection .device-item,.lobby-projection .device-loop,.lobby-projection .device-art{position:absolute;inset:0}
.projection-category{display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);width:230px;text-align:center;color:var(--projection-color);font-size:17px;font-weight:700;text-shadow:0 0 16px #9ad3a944}
.lobby-projection .device-item{animation:projection-appear .35s ease-out}
.lobby-projection .device-loop{animation:projection-hover 6s ease-in-out infinite}
.lobby-projection .device-art>img,.lobby-projection .signal-live-device{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.lobby-projection .device-bud .device-art{display:grid;place-items:center}
.lobby-projection .device-bud canvas{width:68%;height:80%;object-fit:contain;transform-origin:50% 82%;animation:bud-projection-hop 2.4s steps(8,end) infinite}
.lobby-projection .device-ufo .device-loop,.lobby-projection .device-energy .device-loop{animation:none}
.lobby-projection .signal-live>img{visibility:hidden}
.lobby-projection .machine-effects{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6}
.lobby-projection .receiver-reels{position:absolute;left:22.95%;top:24.6%;width:53.2%;height:50%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.7%;transform:skewY(.07deg);z-index:2}
.lobby-projection .receiver-reel{overflow:hidden;position:relative;border-radius:2%;background:#103522;box-shadow:inset 0 0 4px #030e08}
.lobby-projection .receiver-strip{height:400%;animation:projection-receiver-roll var(--reel-duration) linear var(--reel-delay) infinite}
.lobby-projection .receiver-strip>span{display:flex;align-items:center;justify-content:center;height:8.333333333%;width:100%}
.lobby-projection .receiver-strip img{width:94%;height:94%;object-fit:contain}
.lobby-projection .receiver-reel:after{content:'';position:absolute;inset:0;background:linear-gradient(#03140bdd,transparent 23%,#8eeeb310 50%,transparent 77%,#03140bdf)}
.lobby-projection .ufo-flight-device,.lobby-projection .ufo-craft-motion,.lobby-projection .ufo-patrol-lights{position:absolute;inset:0}
.lobby-projection .ufo-flight-device img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.lobby-projection .ufo-craft-motion{z-index:1;transform-origin:50% 47%;animation:projection-ufo-flight 5.8s ease-in-out infinite}
.lobby-projection .ufo-patrol-lights{z-index:2}
.lobby-projection .ufo-patrol-lights i{position:absolute;width:1.48%;height:2.05%;border-radius:2px;transform:translate(-50%,-50%);opacity:.06;animation:projection-ufo-patrol 1.6s linear var(--chase-delay) infinite}
.lobby-projection .ufo-patrol-red{background:#ff586b;box-shadow:0 0 7px 2px #ff304a88}
.lobby-projection .ufo-patrol-blue{background:#659dff;box-shadow:0 0 7px 2px #317aff88;animation-direction:reverse!important}
.lobby-projection .ufo-rim-chase{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lobby-projection .ufo-rim-chase path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.lobby-projection .ufo-rim-track{stroke:#72c99a;stroke-width:.3;opacity:.18}
.lobby-projection .ufo-rim-run{stroke:#d8ffe5;stroke-width:.44;stroke-dasharray:12 5 4 5 2 72;animation:projection-ufo-rim 2.2s linear infinite;filter:drop-shadow(0 0 1.5px #80ffb4)}
@keyframes projection-appear{from{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:none}}
@keyframes projection-hover{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@keyframes projection-receiver-roll{to{transform:translateY(-50%)}}
@keyframes bud-projection-hop{0%,100%{transform:translateY(0) scale(1)}25%{transform:translateY(-3%) scale(1.035,.97)}50%{transform:translateY(0) scale(.98,1.025)}75%{transform:translateY(-2%) rotate(-1.5deg)}}
@keyframes projection-ufo-flight{0%,100%{transform:translate(-1.6%,.8%) rotate(-3deg)}28%{transform:translate(1.2%,-1.3%) rotate(2.8deg)}54%{transform:translate(1.7%,.5%) rotate(3.5deg)}78%{transform:translate(-.7%,-.9%) rotate(-1.8deg)}}
@keyframes projection-ufo-patrol{0%,9%{opacity:1}22%{opacity:.32}38%,100%{opacity:.06}}
@keyframes projection-ufo-rim{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.motion-paused .lobby-projection *,.page-hidden .lobby-projection *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){body:not(.motion-enabled) .lobby-projection *{animation:none!important}}
@media(max-aspect-ratio: .95){.lobby-projection{top:154px;width:100px;height:100px}.projection-category{display:block}#lobby[data-overview=true] .projection-category{display:none}#lobby[data-overview=true] .lobby-projection{top:135px;width:115px;height:115px}}
@media(max-height:580px) and (min-aspect-ratio: .95){.lobby-projection{top:4px;width:115px;height:115px}}
.lobby-projection .device-tower .device-art{inset:-7%;isolation:isolate}
.lobby-projection .device-tower .tower-visual{position:absolute;inset:0;animation:projection-tower-float 5.2s ease-in-out infinite}
.lobby-projection .device-tower .tower-visual>img{position:absolute;inset:0;width:100%;height:100%;z-index:2;object-fit:contain;filter:drop-shadow(0 8px 12px #001a0d99) drop-shadow(0 0 9px #88ffc466)}
.lobby-projection .device-tower .device-art:before{content:'';position:absolute;z-index:1;inset:24%;border-radius:50%;background:radial-gradient(circle,#9affc952,transparent 68%);filter:blur(5px);animation:projection-tower-aura 3.1s ease-in-out infinite}
.lobby-projection .device-tower .device-art:after{display:none}
@keyframes projection-tower-float{0%,100%{transform:translateY(1px) rotate(-.5deg)}50%{transform:translateY(-5px) rotate(.7deg)}}
@keyframes projection-tower-aura{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:.9;transform:scale(1.08)}}
@keyframes projection-tower-scan{0%,100%{transform:translateY(0);opacity:.08}50%{transform:translateY(105px);opacity:.65}}
