@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&display=swap');

/* Global Styles */
body {
    background-color: #0f172a; /* Fallback */
    background: radial-gradient(circle at center, #1a1a2e 0%, #000000 100%);
}

.font-orbitron {
    font-family: 'Orbitron', sans-serif;
}

/* Neon Text Effects */
.neon-text-purple {
    text-shadow: 0 0 5px #bf00ff, 0 0 10px #bf00ff, 0 0 20px #bf00ff;
}

.neon-text-cyan {
    text-shadow: 0 0 5px #00ffff, 0 0 10px #00ffff, 0 0 20px #00ffff;
}

.neon-text-pink {
    text-shadow: 0 0 5px #ff00ff, 0 0 10px #ff00ff, 0 0 20px #ff00ff;
}

.neon-text-green {
    text-shadow: 0 0 5px #00ff00, 0 0 10px #00ff00, 0 0 20px #00ff00;
}

.neon-text-white {
    text-shadow: 0 0 5px #ffffff, 0 0 10px #ffffff;
}

/* Cell Styling */
.cell {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.cell:hover {
    box-shadow: 0 0 15px rgba(191, 0, 255, 0.4);
    border-color: rgba(191, 0, 255, 0.6);
}

.cell.x {
    color: #00ffff;
    text-shadow: 0 0 10px #00ffff, 0 0 20px #00ffff;
}

.cell.o {
    color: #ff00ff;
    text-shadow: 0 0 10px #ff00ff, 0 0 20px #ff00ff;
}

.cell.triangle {
    color: #00ff00;
    text-shadow: 0 0 10px #00ff00, 0 0 20px #00ff00;
}

/* Winning Line Highlight */
.cell.winner {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: #ffffff;
    box-shadow: 0 0 20px #ffffff;
    animation: pulse 1s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); box-shadow: 0 0 20px rgba(255,255,255,0.5); }
    50% { transform: scale(1.05); box-shadow: 0 0 30px rgba(255,255,255,0.8); }
    100% { transform: scale(1); box-shadow: 0 0 20px rgba(255,255,255,0.5); }
}

/* Mode Buttons */
.mode-btn.active {
    background-color: rgba(6, 182, 212, 0.1);
    border-color: #06b6d4;
    color: #06b6d4;
    box-shadow: 0 0 10px rgba(6, 182, 212, 0.3);
}

/* Fade In Animation for Marks */
@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.5); }
    to { opacity: 1; transform: scale(1); }
}

.mark-animation {
    animation: fadeIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}