/* --- CORE DEFAULTS --- */
body { 
    font-family: 'Hind Siliguri', sans-serif; 
    touch-action: pan-y; 
    background-color: #020617; 
    color: #f8fafc; 
    user-select: none; 
    -webkit-user-select: none; 
    -webkit-touch-callout: none;
    overflow-x: hidden; /* Prevent horizontal scroll on mobile */
}

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

.canvas-container { 
    touch-action: none; 
    -webkit-user-select: none;
    user-select: none;
}

/* --- ANIMATIONS --- */
/* Smooth Modal & Panel Transitions */
.modal-backdrop { animation: fadeIn 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.modal-content { animation: slideUpFade 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.animation-fadeIn { animation: fadeIn 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.animation-slideUpFade { animation: slideUpFade 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.toast-enter { animation: slideUpToast 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

@keyframes fadeIn { 
    from { opacity: 0; backdrop-filter: blur(0px); } 
    to { opacity: 1; backdrop-filter: blur(8px); } 
}

@keyframes slideUpFade { 
    from { transform: translateY(20px) scale(0.95); opacity: 0; } 
    to { transform: translateY(0) scale(1); opacity: 1; } 
}

@keyframes slideUpToast { 
    from { transform: translateX(-50%) translateY(100%); opacity: 0; } 
    to { transform: translateX(-50%) translateY(0); opacity: 1; } 
}

/* --- COMPONENTS --- */

/* Loader Spinner */
/* Updated to be responsive: Size is now controlled by Tailwind classes (w-*, h-*) */
.loader { 
    border: 2px solid rgba(255,255,255,0.1); 
    border-top: 2px solid #eab308; 
    border-radius: 50%; 
    animation: spin 0.8s linear infinite; 
}
@keyframes spin { 
    0% { transform: rotate(0deg); } 
    100% { transform: rotate(360deg); } 
}

/* Custom Range Inputs (Sliders) */
input[type=range] { 
    -webkit-appearance: none; 
    background: transparent; 
}

input[type=range]::-webkit-slider-thumb { 
    -webkit-appearance: none; 
    height: 16px; 
    width: 16px; 
    border-radius: 50%; 
    background: #f43f5e; 
    cursor: pointer; 
    margin-top: -6px; 
    box-shadow: 0 0 10px rgba(244, 63, 94, 0.5); 
    border: 2px solid #fff; 
    transition: transform 0.1s ease;
}

input[type=range]:active::-webkit-slider-thumb {
    transform: scale(1.2);
}

input[type=range]::-webkit-slider-runnable-track { 
    width: 100%; 
    height: 4px; 
    cursor: pointer; 
    background: #334155; 
    border-radius: 4px; 
}

/* Custom Scrollbar for Studio panels & Textareas */
.custom-scroll::-webkit-scrollbar { width: 6px; height: 6px; }
.custom-scroll::-webkit-scrollbar-track { background: rgba(15, 23, 42, 0.5); border-radius: 10px; }
.custom-scroll::-webkit-scrollbar-thumb { background-color: #334155; border-radius: 10px; }
.custom-scroll::-webkit-scrollbar-thumb:hover { background-color: #475569; }

/* Squad List Specific Inputs */
textarea.custom-scroll {
    resize: vertical;
    min-height: 120px;
}
