:root {
    --aqua: #00FFFF;
    --fuchsia: #E800E8;
    --electric-indigo: #7216FF;
    --jacksons-purple: #1F2695;
    --madison: #2C3E50;
    --white-smoke: #F5F5F5;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--madison);
    color: white;
    overflow: hidden;
}

/* Background stars */
.star {
    position: absolute;
    background: white;
    border-radius: 50%;
    opacity: 0.3;
    animation: pulse 3s infinite ease-in-out;
}

@keyframes pulse {
    0%, 100% {
        opacity: 0.2;
        transform: scale(1);
    }

    50% {
        opacity: 0.6;
        transform: scale(1.2);
    }
}

/* Hero title gradient */
.hero-gradient {
    background: linear-gradient(to right, var(--aqua), var(--fuchsia));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Rocket float animation */
.rocket-container {
    position: relative;
    margin-top: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    overflow: visible;
    animation: float 4s infinite ease-in-out;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-15px) rotate(1.5deg);
    }
}

/* Exhaust ring animation */
@keyframes exhaust {
    0% {
        transform: translateY(0) scale(0.4);
        opacity: 0;
        stroke: #8a2be2;
    }

    12% {
        opacity: 0.9;
        stroke: #8a2be2;
    }

    50% {
        stroke: #33ccff;
    }

    88% {
        stroke: #98fce0;
    }

    100% {
        transform: translateY(6px) scale(1.4);
        opacity: 0;
        stroke: #98fce0;
    }
}

.ring {
    transform-origin: center;
    transform-box: fill-box;
    animation: exhaust 3.5s ease-out infinite;
    fill: none;
    opacity: 0;
}

.ring.r1 { animation-delay: 0s; }
.ring.r2 { animation-delay: 0.875s; }
.ring.r3 { animation-delay: 1.75s; }
.ring.r4 { animation-delay: 2.625s; }

/* Engine glow behind rocket */
.engine-glow {
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 250px;
    height: 250px;
    background: radial-gradient(circle at center, rgba(232, 0, 232, 0.4) 0%, transparent 65%);
    filter: blur(25px);
    z-index: -1;
    opacity: 0.7;
    pointer-events: none;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Hover Effect: Rotate rocket -45deg (anti-clockwise) */
.rocket-container:hover .rocket-svg {
    transform: rotate(-45deg);
}

.rocket-container:hover .engine-glow {
    opacity: 1;
    /* CRITICAL: Must include translateX(-50%) here to stay centered */
    transform: translateX(-50%) scale(1.4); 
}

.rocket-container:hover {
    cursor: pointer;
}


/* Launch Animation */
.rocket-container.launched {
    animation: rocket-launch 1.5s cubic-bezier(0.6, -0.28, 0.735, 0.045) forwards !important;
    pointer-events: none;
}

.rocket-container.launched .rocket-svg {
    transform: rotate(-45deg) scale(1.2);
}

.rocket-container.launched .engine-glow {
    opacity: 1;
    transform: translateX(-50%) scale(2.5);
    background: radial-gradient(circle at center, rgba(232, 0, 232, 0.9) 0%, transparent 70%);
}

@keyframes rocket-launch {
    0% {
        transform: translateY(0);
    }
    15% {
        transform: translateY(10px); /* Subtle pre-launch squat */
    }
    100% {
        transform: translateY(-250vh) rotate(-10deg); /* Blasts off with a slight pitch change */
    }
}

.rocket-svg {
    overflow: visible !important;
    filter: drop-shadow(0 0 12px rgba(232, 0, 232, 0.4));
    color: var(--fuchsia);
    display: block;
    margin: 0 auto;
    transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform-origin: center center;
}

/* Shooting stars */
.shooting-star {
    position: fixed;
    height: 2px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
    border-radius: 999px;
    filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.8));
    animation-name: shooting-star-animation;
    animation-timing-function: linear;
    z-index: -1;
    opacity: 1;
}

@keyframes shooting-star-animation {
    from {
        transform: translate(0, 0) rotate(var(--angle));
        opacity: 1;
    }

    to {
        transform: translate(var(--tx-end), var(--ty-end)) rotate(var(--angle));
        opacity: 0;
    }
}

/* Alien ships */
.alien-ship {
    position: fixed;
    width: 50px;
    height: 50px;
    animation-name: alien-ship-animation;
    animation-timing-function: linear;
    z-index: -1;
    opacity: 1;
}

@keyframes alien-ship-animation {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(var(--tx-end));
    }
}

/* Logo Sizing */
#logo-canvas {
    height: 50px !important;
    width: auto !important;
    max-width: 100%;
}

@media (min-width: 768px) {
    #logo-canvas {
        height: 70px !important;
    }
}

.subtle-italic {
    display: inline-block;
    transform: skewX(-8deg); /* Custom subtle tilt */
}

