/* Bright Modern Cyberpunk Theme & Glassmorphism Extensions */
:root {
    --cyber-bg: #0b101d;
    --cyber-card: #151d30;
    --cyber-card-bright: #1d2740;
    --cyber-cyan: #00f0ff;
    --cyber-pink: #ff2a8d;
    --cyber-yellow: #ffd000;
    --cyber-green: #00e699;
    --cyber-purple: #a855f7;
    --cyber-orange: #ff7700;
}

body {
    background: radial-gradient(circle at 50% 0%, #17223b 0%, #0b101d 75%);
    background-attachment: fixed;
    color: #f1f5f9;
    overflow-x: hidden;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

/* Custom Scrollbars */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: #0B0F19;
}
::-webkit-scrollbar-thumb {
    background: #1E293B;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--cyber-cyan);
}

/* Glassmorphism bright glowing borders */
.cyber-glass {
    background: rgba(21, 29, 48, 0.9);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(0, 240, 255, 0.25);
    box-shadow: 0 10px 40px rgba(0, 240, 255, 0.08);
}

/* Vibrant Glow effects */
.glow-cyan {
    box-shadow: 0 0 25px rgba(0, 240, 255, 0.4);
}

.glow-pink {
    box-shadow: 0 0 25px rgba(255, 42, 141, 0.4);
}

.glow-green {
    box-shadow: 0 0 25px rgba(0, 230, 153, 0.4);
}

.text-glow-cyan {
    text-shadow: 0 0 10px rgba(0, 240, 255, 0.6);
}

.text-glow-pink {
    text-shadow: 0 0 10px rgba(255, 0, 122, 0.6);
}

/* Hide scrollbar utility */
.scrollbar-none::-webkit-scrollbar {
    display: none;
}
.scrollbar-none {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Pulsing scan line overlay effect */
@keyframes cyberScan {
    0% { transform: translateY(-100%); opacity: 0; }
    50% { opacity: 0.5; }
    100% { transform: translateY(100%); opacity: 0; }
}

.scan-line {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--cyber-cyan), transparent);
    animation: cyberScan 2s ease-in-out infinite;
    pointer-events: none;
}

/* Safe areas */
.pt-safe {
    padding-top: max(0.75rem, env(safe-area-inset-top));
}
.pb-safe {
    padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
}