/* AURA - Shared Styles */

body {
    font-family: "Inter", sans-serif;
    background-color: #050505;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.2);
}

/* Hide Scrollbar for horizontal scrolling areas */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Subtle Glow Animation */
@keyframes pulse-glow {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.05); }
}
.animate-glow {
    animation: pulse-glow 4s ease-in-out infinite;
}

/* Range Slider Customization */
input[type="range"] {
    -webkit-appearance: none;
    background: transparent;
}
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
    margin-top: -4px;
    opacity: 0;
    transition: opacity 0.2s;
}
.group:hover input[type="range"]::-webkit-slider-thumb {
    opacity: 1;
}
input[type="range"]::-webkit-slider-runnable-track {
    width: 100%;
    height: 2px;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 2px;
}

/* Custom Select */
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Custom Input */
.input-field {
    background-color: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.1);
    color: white;
    transition: all 0.2s;
}
.input-field:focus {
    outline: none;
    border-color: #6366f1;
    background-color: rgba(255,255,255,0.05);
    box-shadow: 0 0 0 1px #6366f1;
}

/* Bar chart animation */
@keyframes grow {
    from { height: 0; }
}
.bar-animate {
    animation: grow 1s ease-out forwards;
}

/* Progress bar gradient */
.progress-gradient {
    background: linear-gradient(to right, white 30%, rgba(255,255,255,0.1) 30%);
}

/* Toggle switch */
.toggle-switch {
    position: relative;
}
.toggle-switch input:checked + .toggle-bg {
    background-color: #6366f1;
}
.toggle-switch input:checked + .toggle-bg + .toggle-dot {
    transform: translateX(100%);
}

/* Flash messages */
.flash-message {
    animation: slideIn 0.3s ease-out, fadeOut 0.3s ease-in 4.7s;
    animation-fill-mode: forwards;
}
@keyframes slideIn {
    from { transform: translateY(-20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
@keyframes fadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

/* Mono font override for invitation codes */
.font-mono {
    font-family: "JetBrains Mono", "Fira Code", monospace;
}

/* Player progress track fill */
.player-progress::-webkit-slider-runnable-track {
    background: linear-gradient(to right, #6366f1 var(--progress, 0%), rgba(255,255,255,0.1) var(--progress, 0%));
}
