#starry-background-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    overflow: hidden;
    display: none;
    pointer-events: none;
}
#starry-background-overlay.active { opacity: 0.9; pointer-events: auto; }

.star {
    position: absolute;
    background: white;
    border-radius: 50%;
    opacity: 0.8;
    animation: twinkle 4s ease-in-out infinite alternate, pulse 4s ease-in-out infinite alternate;
}
@keyframes twinkle { 0%,100%{opacity:.8;} 50%{opacity:.2;} }
@keyframes pulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.3);} }

.ship {
    position: absolute;
    width: 16px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: auto;
}

.ship.ufo { background-image: url('https://static.newsi8.com/uploads/2025/09/ship1.png'); }
.ship.enterprise { background-image: url('https://static.newsi8.com/uploads/2025/09/ship2.png'); }
.ship.deathstar { background-image: url('https://static.newsi8.com/uploads/2025/09/ship4c.png'); }
.ship.cow { background-image: url('https://static.newsi8.com/uploads/2025/10/pno.png'); }

.ship.hybrid {
    width: 80px; height: 80px;
    pointer-events: none;
    z-index: 99999;
    background-image: url('https://static.newsi8.com/uploads/2025/09/ship1.png'),
                      url('https://static.newsi8.com/uploads/2025/10/pno.png');
    background-size: 60px 60px, 50px 50px;
    background-position: center center;
}

.ufo-controlled { position: absolute !important; z-index: 10000; transform: none !important; }

#ufo-control-indicator {
    position: fixed;
    top: 20px; right: 20px;
    color: lime;
    font-family: monospace;
    font-size: 18px;
    font-weight: bold;
    z-index: 10000;
    background: rgba(0,0,0,0.8);
    padding: 10px;
    border-radius: 5px;
    pointer-events: none;
}

.beam {
    position: absolute;
    width: 0; height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 100px solid rgba(0,255,255,0.6);
    transform: translateX(-50%);
    animation: beamPulse 0.5s ease-in-out infinite alternate;
    z-index: 99;
}
@keyframes beamPulse { from{opacity:0.6;} to{opacity:1;} }