/* Custom animations — moved from inline <style> to satisfy CSP style-src 'self' */
@keyframes pulse-fast {
    0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 15px rgba(239, 68, 68, 0.7); }
    50% { opacity: 0.8; transform: scale(0.98); box-shadow: 0 0 5px rgba(239, 68, 68, 0.3); }
}
.danger-alert { animation: pulse-fast 0.8s infinite; border-color: #ef4444; }
.hidden-tab { display: none !important; }
@keyframes ticker-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* FAQ animation */
@keyframes fadeIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
#faq-list details[open] summary ~ * { animation: fadeIn 0.2s ease; }
