@keyframes float-up {
    0% { opacity: 1; transform: translateY(0) scale(1); }
    100% { opacity: 0; transform: translateY(-70px) scale(1.1); }
}

.animate-float-up {
    animation: float-up 0.8s ease-out forwards;
}

::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #030712;
}
::-webkit-scrollbar-thumb {
    background: #1f2937;
    border-radius: 4px;
    border: 1px solid rgba(0, 240, 255, 0.2);
}
::-webkit-scrollbar-thumb:hover {
    background: #00f0ff;
}

.scanline {
    background: linear-gradient(
        to bottom,
        rgba(255,255,255,0),
        rgba(255,255,255,0) 50%,
        rgba(0, 0, 0, 0.35) 50%,
        rgba(0, 0, 0, 0.35)
    );
    background-size: 100% 4px;
}

@keyframes pulse-slow {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.85; transform: scale(1.02); }
}

.animate-pulse-slow {
    animation: pulse-slow 4s infinite ease-in-out;
}

.matrix-bg {
    background-image: radial-gradient(rgba(0, 240, 255, 0.07) 1px, transparent 1px);
    background-size: 24px 24px;
}

.glass-panel {
    background: rgba(11, 15, 25, 0.82);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(0, 240, 255, 0.18);
}

.cyber-button {
    position: relative;
    transition: all 0.2s ease;
}
.cyber-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 20px rgba(0, 240, 255, 0.7);
}

.text-glow-cyan {
    text-shadow: 0 0 12px rgba(0, 240, 255, 0.8);
}

.text-glow-magenta {
    text-shadow: 0 0 12px rgba(255, 0, 127, 0.8);
}

.text-glow-green {
    text-shadow: 0 0 12px rgba(57, 255, 20, 0.8);
}

.text-glow-yellow {
    text-shadow: 0 0 12px rgba(243, 230, 0, 0.8);
}