.nuclear-explosion {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    pointer-events: none;    z-index: 10000;    display: none;    overflow: hidden;}.nuclear-explosion.active {    display: block;}.fireball {    position: absolute;    top: 50%;    left: 50%;    transform: translate(-50%, -50%);    width: 0;    height: 0;    background: radial-gradient(circle,            rgba(255, 255, 255, 1) 0%,            rgba(255, 255, 0, 1) 10%,            rgba(255, 165, 0, 1) 25%,            rgba(255, 69, 0, 1) 40%,            rgba(255, 0, 0, 1) 60%,            rgba(139, 0, 0, 1) 80%,            rgba(0, 0, 0, 0.8) 100%);    border-radius: 50%;    animation: massiveFireball 2.5s ease-out forwards;    filter: blur(15px) brightness(2);    box-shadow:        0 0 200px rgba(255, 255, 0, 0.8),        0 0 400px rgba(255, 69, 0, 0.6),        0 0 600px rgba(255, 0, 0, 0.4);}@keyframes massiveFireball {    0% {        width: 0;        height: 0;        opacity: 1;        filter: blur(5px) brightness(1);    }    15% {        width: 80vh;        height: 80vh;        opacity: 1;        filter: blur(20px) brightness(3);    }    30% {        width: 150vh;        height: 150vh;        opacity: 0.9;        filter: blur(30px) brightness(4);    }    50% {        width: 250vh;        height: 250vh;        opacity: 0.8;        filter: blur(40px) brightness(5);    }    70% {        width: 400vh;        height: 400vh;        opacity: 0.6;        filter: blur(50px) brightness(6);    }    90% {        width: 600vh;        height: 600vh;        opacity: 0.3;        filter: blur(60px) brightness(7);    }    100% {        width: 800vh;        height: 800vh;        opacity: 0;        filter: blur(70px) brightness(8);    }}.shockwave {    position: absolute;    top: 50%;    left: 50%;    transform: translate(-50%, -50%);    width: 0;    height: 0;    border: 8px solid rgba(255, 255, 255, 0.9);    border-radius: 50%;    animation: massiveShockwave 3s ease-out 0.3s forwards;    filter: blur(5px);    box-shadow: 0 0 100px rgba(255, 255, 255, 0.6);}@keyframes massiveShockwave {    0% {        width: 0;        height: 0;        opacity: 1;        border-width: 15px;    }    50% {        width: 300vw;        height: 300vh;        opacity: 0.7;        border-width: 8px;    }    100% {        width: 800vw;        height: 800vh;        opacity: 0;        border-width: 2px;    }}.mushroom-cloud {    position: absolute;    top: 40%;    left: 50%;    transform: translate(-50%, -50%);    width: 0;    height: 0;    background: radial-gradient(ellipse at center bottom,            rgba(100, 100, 100, 0.8) 0%,            rgba(50, 50, 50, 0.6) 50%,            transparent 70%);    border-radius: 50% 50% 20% 20%;    animation: mushroomCloud 3s ease-out 0.5s forwards;}@keyframes mushroomCloud {    0% {        width: 0;        height: 0;        opacity: 0;    }    30% {        width: 200px;        height: 300px;        opacity: 0.8;    }    100% {        width: 400px;        height: 600px;        opacity: 0;        transform: translate(-50%, -100%);    }}.explosion-particle {    position: absolute;    background: radial-gradient(circle, #ffff00, #ff6b00, #ff0000);    border-radius: 50%;    animation: explosionParticleFly 2s ease-out forwards;    filter: blur(8px) brightness(3);    box-shadow: 0 0 30px rgba(255, 255, 0, 0.8);}@keyframes explosionParticleFly {    0% {        transform: translate(0, 0) scale(1);        opacity: 1;    }    100% {        transform: translate(var(--tx), var(--ty)) scale(0);        opacity: 0;    }}.screen-shake {    animation: intenseShake 2.5s ease-out;}@keyframes intenseShake {    0% {        transform: translate(0, 0) scale(1);    }    10% {        transform: translate(-40px, -30px) scale(1.02);    }    20% {        transform: translate(35px, 25px) scale(1.01);    }    30% {        transform: translate(-30px, 35px) scale(1.03);    }    40% {        transform: translate(40px, -25px) scale(1.02);    }    50% {        transform: translate(-35px, 30px) scale(1.04);    }    60% {        transform: translate(30px, -35px) scale(1.01);    }    70% {        transform: translate(-40px, 25px) scale(1.03);    }    80% {        transform: translate(35px, 35px) scale(1.02);    }    90% {        transform: translate(-30px, -30px) scale(1.01);    }    100% {        transform: translate(0, 0) scale(1);    }}.owl-mascot.exploding .owl-body {    animation: instantVaporize 0.8s ease-out forwards !important;}@keyframes instantVaporize {    0% {        transform: scale(1);        opacity: 1;        filter: brightness(1) blur(0);    }    30% {        transform: scale(2.5);        opacity: 0.7;        filter: brightness(4) blur(8px);    }    60% {        transform: scale(4);        opacity: 0.3;        filter: brightness(8) blur(15px);    }    100% {        transform: scale(6);        opacity: 0;        filter: brightness(12) blur(25px);    }}.owl-mascot.respawning .owl-body {    animation: respawnEffect 1s ease-out forwards;}@keyframes respawnEffect {    0% {        transform: scale(0);        opacity: 0;        filter: blur(20px) brightness(3);    }    50% {        transform: scale(1.2);        opacity: 0.7;        filter: blur(5px) brightness(2);    }    100% {        transform: scale(1);        opacity: 1;        filter: blur(0) brightness(1);    }}.floating-elements {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    pointer-events: none;    z-index: 1;    overflow: hidden;}.floating-element {    position: absolute;    opacity: 0.7;    animation: floatUp linear infinite;    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.3));}@keyframes floatUp {    0% {        transform: translateY(100vh) rotate(0deg);        opacity: 0;    }    10% {        opacity: 0.7;    }    90% {        opacity: 0.7;    }    100% {        transform: translateY(-100vh) rotate(360deg);        opacity: 0;    }}.confetti-container {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    pointer-events: none;    z-index: 9998;    overflow: hidden;}.confetti {    position: absolute;    width: 10px;    height: 10px;    animation: confettiFall 3s linear forwards;}.confetti.circle {    border-radius: 50%;}.confetti.square {    border-radius: 2px;}.confetti.triangle {    width: 0;    height: 0;    border-left: 5px solid transparent;    border-right: 5px solid transparent;    border-bottom: 10px solid currentColor;    background: none !important;}@keyframes confettiFall {    0% {        transform: translateY(-100px) rotate(0deg);        opacity: 1;    }    100% {        transform: translateY(100vh) rotate(720deg);        opacity: 0;    }}.click-effect {    position: fixed;    width: 20px;    height: 20px;    background: rgba(255, 255, 255, 0.7);    border-radius: 50%;    transform: translate(-50%, -50%);    pointer-events: none;    animation: clickRipple 0.6s ease-out forwards;    z-index: 9999;}@keyframes clickRipple {    0% {        width: 20px;        height: 20px;        opacity: 0.7;    }    100% {        width: 100px;        height: 100px;        opacity: 0;    }}.scroll-reveal {    opacity: 0;    transform: translateY(50px);    transition: all 0.8s ease-out;}.scroll-reveal.revealed {    opacity: 1;    transform: translateY(0);}.scroll-reveal.from-left {    transform: translateX(-50px);}.scroll-reveal.from-left.revealed {    transform: translateX(0);}.scroll-reveal.from-right {    transform: translateX(50px);}.scroll-reveal.from-right.revealed {    transform: translateX(0);}.scroll-reveal.scale-up {    transform: scale(0.8);}.scroll-reveal.scale-up.revealed {    transform: scale(1);}.points-animation {    animation: pointsGain 0.5s ease-out;}@keyframes pointsGain {    0% {        transform: scale(1);    }    50% {        transform: scale(1.3);        color: #00ff00;    }    100% {        transform: scale(1);    }}.flying-points {    position: fixed;    font-size: 1.5rem;    font-weight: bold;    color: #ffd700;    text-shadow: 0 0 10px rgba(255, 215, 0, 0.8);    pointer-events: none;    z-index: 10001;    animation: flyPoints 1s ease-out forwards;}@keyframes flyPoints {    0% {        opacity: 1;        transform: translateY(0) scale(1);    }    100% {        opacity: 0;        transform: translateY(-100px) scale(1.5);    }}.loading-overlay {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);    display: flex;    flex-direction: column;    align-items: center;    justify-content: center;    z-index: 100000;    transition: opacity 0.5s ease, visibility 0.5s ease;}.loading-overlay.hidden {    opacity: 0;    visibility: hidden;}.loading-spinner {    width: 80px;    height: 80px;    border: 5px solid rgba(255, 255, 255, 0.3);    border-top-color: #ffd700;    border-radius: 50%;    animation: spin 1s linear infinite;    margin-bottom: 20px;}@keyframes spin {    to {        transform: rotate(360deg);    }}.loading-text {    font-size: 1.5rem;    color: white;    animation: pulse 1.5s ease-in-out infinite;}.card-hover-glow {    transition: box-shadow 0.3s ease;}.card-hover-glow:hover {    box-shadow:        0 0 20px rgba(255, 215, 0, 0.3),        0 0 40px rgba(255, 215, 0, 0.2),        0 0 60px rgba(255, 215, 0, 0.1);}.card-3d {    transform-style: preserve-3d;    perspective: 1000px;}.card-3d:hover {    transform: rotateY(10deg) rotateX(5deg);}.typewriter {    overflow: hidden;    white-space: nowrap;    border-left: 3px solid #ffd700;    animation: typing 3s steps(40) 1s forwards, blinkCaret 0.75s step-end infinite;}@keyframes typing {    from {        width: 0;    }    to {        width: 100%;    }}@keyframes blinkCaret {    from,    to {        border-color: transparent;    }    50% {        border-color: #ffd700;    }}.stars-container {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    pointer-events: none;    z-index: 0;    overflow: hidden;}.star {    position: absolute;    width: 3px;    height: 3px;    background: white;    border-radius: 50%;    animation: twinkle 2s ease-in-out infinite;}@keyframes twinkle {    0%,    100% {        opacity: 0.3;    }    50% {        opacity: 1;    }}.hearts-container {    position: fixed;    top: 0;    left: 0;    width: 100%;    height: 100%;    pointer-events: none;    z-index: 9997;    overflow: hidden;}.heart {    position: absolute;    font-size: 2rem;    animation: heartFloat 4s ease-out forwards;}@keyframes heartFloat {    0% {        opacity: 1;        transform: translateY(0) scale(1);    }    100% {        opacity: 0;        transform: translateY(-200px) scale(0.5);    }}.notification-popup {    position: fixed;    top: 100px;    right: 20px;    padding: 15px 25px;    background: linear-gradient(135deg, #1a1a2e, #2d2d44);    border: 2px solid #ffd700;    border-radius: 15px;    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);    z-index: 10002;    transform: translateX(150%);    transition: transform 0.5s ease;}.notification-popup.show {    transform: translateX(0);}.notification-popup.success {    border-color: #00ff00;}.notification-popup.error {    border-color: #ff0000;}.notification-content {    display: flex;    align-items: center;    gap: 10px;    color: white;}.notification-icon {    font-size: 1.5rem;}.count-up {    transition: all 0.3s ease;}.btn-ripple {    position: relative;    overflow: hidden;}.btn-ripple::after {    content: '';    position: absolute;    top: 50%;    left: 50%;    width: 0;    height: 0;    background: rgba(255, 255, 255, 0.3);    border-radius: 50%;    transform: translate(-50%, -50%);    transition: width 0.6s ease, height 0.6s ease;}.btn-ripple:active::after {    width: 300px;    height: 300px;}.glow-effect {    animation: glowPulse 2s ease-in-out infinite;}@keyframes glowPulse {    0%,    100% {        box-shadow: 0 0 5px rgba(255, 215, 0, 0.5);    }    50% {        box-shadow: 0 0 20px rgba(255, 215, 0, 0.8), 0 0 40px rgba(255, 215, 0, 0.4);    }}.spiral-in {    animation: spiralIn 1s ease-out forwards;}@keyframes spiralIn {    0% {        transform: rotate(-720deg) scale(0);        opacity: 0;    }    100% {        transform: rotate(0deg) scale(1);        opacity: 1;    }}.slide-in-right {    animation: slideInRight 0.5s ease-out;}@keyframes slideInRight {    from {        transform: translateX(100%);        opacity: 0;    }    to {        transform: translateX(0);        opacity: 1;    }}.slide-in-left {    animation: slideInLeft 0.5s ease-out;}@keyframes slideInLeft {    from {        transform: translateX(-100%);        opacity: 0;    }    to {        transform: translateX(0);        opacity: 1;    }}