/* Configuración avanzada para 2025 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

* {
    font-family: 'Inter', sans-serif;
}

/* Efectos de sombra y glow mejorados */
.shadow-glow {
    box-shadow: 0 0 30px rgba(255, 198, 0, 0.6);
}

.shadow-glow-green {
    box-shadow: 0 0 30px rgba(72, 187, 120, 0.6);
}

.shadow-glow-blue {
    box-shadow: 0 0 30px rgba(59, 130, 246, 0.6);
}

/* Animaciones avanzadas */
@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    33% { transform: translateY(-10px) rotate(1deg); }
    66% { transform: translateY(-5px) rotate(-1deg); }
}

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

@keyframes shimmer {
    0% { background-position: -1000px 0; }
    100% { background-position: 1000px 0; }
}

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

.animate-pulse-glow {
    animation: pulse-glow 2s ease-in-out infinite;
}

.animate-shimmer {
    animation: shimmer 2s infinite linear;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    background-size: 1000px 100%;
}

/* Partículas de fondo mejoradas */
.particles-container {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.particle {
    position: absolute;
    background: radial-gradient(circle, rgba(255,198,0,0.3) 0%, transparent 70%);
    border-radius: 50%;
    animation: float 8s infinite ease-in-out;
}

/* Líneas de grid futuristas */
.grid-lines {
    background-image: 
        linear-gradient(rgba(255,198,0,0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,198,0,0.1) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: grid-move 20s linear infinite;
}

@keyframes grid-move {
    0% { transform: translate(0, 0); }
    100% { transform: translate(50px, 50px); }
}

/* Toggle switch futurista */
#toggle-modo:checked + label .toggle-knob {
    transform: translateX(2.5rem);
}

#toggle-modo:checked + label > div {
    background: linear-gradient(135deg, #f59e0b, #d97706, #f59e0b);
    background-size: 200% 200%;
    animation: gradient-shift 2s ease infinite;
}

@keyframes gradient-shift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Scrollbar futurista */
::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background: linear-gradient(180deg, #1f2937, #111827);
    border-radius: 6px;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #f59e0b, #d97706);
    border-radius: 6px;
    border: 2px solid #1f2937;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #fbbf24, #f59e0b);
}

/* Efectos de texto avanzados */
.text-gradient-gold {
    background: linear-gradient(135deg, #fde047, #f59e0b, #eab308);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 200% 200%;
    animation: gradient-shift 3s ease infinite;
}

/* Tarjetas con efecto glassmorphism */
.glass-effect {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Botones con efecto holográfico */
.holographic-button {
    background: linear-gradient(135deg, 
        rgba(255,198,0,0.8) 0%,
        rgba(255,221,0,0.6) 25%,
        rgba(255,198,0,0.8) 50%,
        rgba(255,221,0,0.6) 75%,
        rgba(255,198,0,0.8) 100%);
    background-size: 200% 200%;
    animation: holographic 3s ease infinite;
}

@keyframes holographic {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Estados de carga mejorados */
.loading-bar {
    background: linear-gradient(90deg, #1f2937, #f59e0b, #1f2937);
    background-size: 200% 100%;
    animation: loading-bar 2s infinite;
}

@keyframes loading-bar {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

/* Efectos de borde animados */
.border-animated {
    position: relative;
    border: 2px solid transparent;
    background: linear-gradient(45deg, #1f2937, #374151) padding-box,
                linear-gradient(45deg, #f59e0b, #d97706, #f59e0b) border-box;
    background-size: 200% 200%;
    animation: border-glow 3s ease infinite;
}

@keyframes border-glow {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Mejoras de rendimiento */
.will-change-transform {
    will-change: transform;
}

/* Responsive avanzado */
@media (max-width: 768px) {
    .mobile-optimized {
        padding: 1rem;
    }
    
    .mobile-text-large {
        font-size: 1.5rem;
    }

    .text-right {
        display: none;
    }

    #status-tesseract {
        text-align: right;
    }
    
    .icono-tijeras {
        display: none;
    }

    .icon-lumina {
        display: none;
    }
}

/* Responsive avanzado */
@media (max-width: 480px) {
    .mobile-optimized {
        padding: 1rem;
    }
    
    .mobile-text-large {
        font-size: 1.5rem;
    }

    .text-right {
        display: none;
    }

    #status-tesseract {
        text-align: right;
    }
    
    .icono-tijeras {
        display: none;
    }

    .icon-lumina {
        display: none;
    }
}

/* Modo de alto contraste para accesibilidad */
@media (prefers-contrast: high) {
    .bg-gray-900 {
        background-color: #000000 !important;
    }
    
    .text-gray-400 {
        color: #ffffff !important;
    }
}

/* Soporte para modo oscuro del sistema */
@media (prefers-color-scheme: dark) {
    .auto-dark {
        background: #000000;
        color: #ffffff;
    }
}

/* Optimizaciones para Safari */
@supports (-webkit-touch-callout: none) {
    .safari-optimized {
        -webkit-backface-visibility: hidden;
        -webkit-transform: translateZ(0);
    }
}