body {
    font-family: 'Inter', sans-serif;
    scroll-behavior: smooth;
}

.glass-effect {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.loader {
    width: 48px;
    height: 48px;
    border: 5px solid #FFF;
    border-bottom-color: #4f46e5;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Custom scrollbar */
pre::-webkit-scrollbar, 
#summaryOutput::-webkit-scrollbar { 
    width: 8px; 
    height: 8px; 
}

pre::-webkit-scrollbar-track, 
#summaryOutput::-webkit-scrollbar-track { 
    background: #1f2937; 
    border-radius: 10px; 
}

pre::-webkit-scrollbar-thumb, 
#summaryOutput::-webkit-scrollbar-thumb { 
    background-color: #4f46e5; 
    border-radius: 10px; 
    border: 2px solid #1f2937; 
}

/* Custom select dropdown arrow */
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1em;
}

textarea:disabled {
    background-color: #374151;
    cursor: not-allowed;
    opacity: 0.6;
}

@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 5px #a78bfa, 0 0 10px #a78bfa; }
    50% { box-shadow: 0 0 15px #8b5cf6, 0 0 25px #8b5cf6; }
}

.promo-box {
    animation: pulse-glow 4s infinite ease-in-out;
}

/* FAQ dropdown arrow animation */
details > summary { 
    list-style: none; 
}

details > summary::-webkit-details-marker { 
    display: none; 
}

details[open] summary .arrow-down { 
    transform: rotate(180deg); 
}
