/* Global CSS overrides for the Cyberpunk UI */

body {
    -webkit-font-smoothing: antialiased;
}

/* Neon hollow text matching the reference image */
.text-outline-neon {
    color: transparent;
    -webkit-text-stroke: 2px #00ffff;
    text-shadow: 0 0 20px rgba(0, 255, 255, 0.4);
}

.shadow-text {
    text-shadow: 0 4px 15px rgba(0,0,0,0.8);
}

.glow-cyan, .text-glow {
    text-shadow: 0 0 15px rgba(0, 255, 209, 0.7), 0 0 30px rgba(0, 255, 209, 0.3);
}

/* Subtle grain overlay */
.digital-grain {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.05;
}

/* Base Modal classes */
.modal-open {
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* UI Fade out classes when playing music */
.playing #landing-ui {
    opacity: 0;
    pointer-events: none;
    transform: scale(0.98);
}

.playing #player-hud {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) translateX(-50%);
}

.playing #mode-selectors {
    opacity: 0;
    pointer-events: none;
}

.mode-card.selected-card {
    border-color: #00ffff !important;
    background: rgba(0, 255, 255, 0.15) !important;
    opacity: 1;
}

/* Animations */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}

.float-anim {
    animation: float 6s ease-in-out infinite;
}
