/* ═══ Shared Animations — ProMilitar ═══ */
@keyframes float { 0%,100%{transform:translateY(0px)} 50%{transform:translateY(-8px)} }
@keyframes pulseGlow { 0%,100%{box-shadow:0 0 20px rgba(255,204,0,0.15)} 50%{box-shadow:0 0 40px rgba(255,204,0,0.3),0 0 80px rgba(255,204,0,0.1)} }
@keyframes shimmer { 0%{background-position:-200% center} 100%{background-position:200% center} }
@keyframes borderDance { 0%,100%{border-color:rgba(255,204,0,0.2)} 50%{border-color:rgba(255,204,0,0.5)} }
@keyframes breathe { 0%,100%{transform:scale(1)} 50%{transform:scale(1.02)} }
@keyframes popExplode { 0%{opacity:0;transform:scale(0.3)} 50%{transform:scale(1.1)} 100%{opacity:1;transform:scale(1)} }
@keyframes slideUpBounce { 0%{opacity:0;transform:translateY(30px)} 60%{opacity:1;transform:translateY(-6px)} 100%{opacity:1;transform:translateY(0)} }
@keyframes countUp { 0%{opacity:0;transform:translateY(20px)} 100%{opacity:1;transform:translateY(0)} }

.float-anim { animation: float 3s ease-in-out infinite; }
.pulse-glow { animation: pulseGlow 2s ease-in-out infinite; }
.breathe-anim { animation: breathe 2s ease-in-out infinite; }
.border-pulse { animation: borderDance 2s ease-in-out infinite; }
.a-explode { animation: popExplode 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; }
.a-slide-bounce { animation: slideUpBounce 0.8s ease forwards; }
.a-count { animation: countUp 0.5s ease forwards; }

.text-dark { color: #18181b; }
html.dark .text-dark { color: #e4e4e7; }

.shimmer-text {
    background: linear-gradient(90deg, #18181b 0%, #FFCC00 50%, #18181b 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shimmer 3s linear infinite;
}
html.dark .shimmer-text {
    background: linear-gradient(90deg, #e4e4e7 0%, #FFCC00 50%, #e4e4e7 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shimmer 3s linear infinite;
}

/* Result card glassmorphism */
.result-card {
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(0,0,0,0.06);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.result-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 60px rgba(0,0,0,0.08), 0 0 40px rgba(255,204,0,0.05);
}
html.dark .result-card {
    background: rgba(0,0,0,0.6);
    border: 1px solid rgba(255,255,255,0.06);
}
html.dark .result-card:hover {
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}

/* Mission buttons */
.btn-mission {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 14px 24px; border-radius: 14px;
    font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em;
    text-transform: uppercase; text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative; overflow: hidden; cursor: pointer; border: none;
}
.btn-mission:active { transform: scale(0.95) !important; }
.btn-mission::after {
    content: ''; position: absolute; top: 50%; left: 50%;
    width: 0; height: 0; border-radius: 50%;
    background: rgba(255,255,255,0.3);
    transition: all 0.5s ease; transform: translate(-50%, -50%);
}
.btn-mission:active::after { width: 300px; height: 300px; opacity: 0; }
.btn-mission-gold {
    background: linear-gradient(135deg, #FFCC00, #e6b800);
    color: #000 !important; border: 2px solid rgba(0,0,0,0.15);
    box-shadow: 0 4px 20px rgba(255,204,0,0.3);
}
.btn-mission-gold:hover {
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 12px 40px rgba(255,204,0,0.5);
}
.btn-mission-gray {
    background: rgba(0,0,0,0.08); color: #18181b !important;
    border: 1.5px solid rgba(0,0,0,0.1);
}
.btn-mission-gray:hover { background: rgba(0,0,0,0.12); transform: translateY(-3px); }
html.dark .btn-mission-gray {
    background: rgba(255,255,255,0.05); color: #e4e4e7 !important;
    border-color: rgba(255,255,255,0.1);
}
html.dark .btn-mission-gray:hover { background: rgba(255,255,255,0.08); }
.btn-mission-blue {
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    color: #fff !important; box-shadow: 0 4px 20px rgba(99,102,241,0.3);
}
.btn-mission-blue:hover {
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 12px 40px rgba(99,102,241,0.5);
}

/* Stat cards */
.stat-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

/* FAQ cards */
.faq-card { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.faq-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,0.08); }
html.dark .faq-card:hover { box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
.faq-card[open] { border-color: rgba(255,204,0,0.3) !important; }

/* Premium glow */
.premium-glow { position: relative; }
.premium-glow::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,204,0,0.05), rgba(255,204,0,0.1), rgba(255,204,0,0.05));
    background-size: 200% 200%;
    animation: shimmer 3s linear infinite;
    pointer-events: none;
}
