/* Basic Reset & Body Styling */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: 'Montserrat', sans-serif; /* Fallback font */
    overflow: hidden; /* Prevent scrollbars if gradient extends slightly */
}

body {
    /* Vibrant Rainbow Gradient Background - Adjusted for Red Center */
    background: linear-gradient(
        45deg,
        /* Start with colors leading up to red */
        #0000ff, /* Blue */
        #8b00ff, /* Violet */
        #ff0000, /* Red - Central Color */
        #ff7f00, /* Orange */
        #ffff00, /* Yellow */
        /* Repeat colors leading away from red to complete the spectrum */
        #00ff00, /* Lime Green */
        #00ffff, /* Cyan */
        #0000ff, /* Blue */
        #8b00ff  /* Violet */
    );
    /* Ensure gradient covers the whole viewport and stays fixed */
    background-size: 300% 300%; /* Increased size to make the pattern larger */
    background-attachment: fixed;
    /* Keep the subtle animation */
    animation: rainbowMove 15s ease infinite;
}

/* Animation for the background (remains the same) */
@keyframes rainbowMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Container to center content */
.container {
    display: flex;
    flex-direction: column;
    justify-content: center; /* Center vertically */
    align-items: center;    /* Center horizontally */
    min-height: 100vh;      /* Take up full viewport height */
    text-align: center;
    padding: 20px; /* Add some padding for smaller screens */
    box-sizing: border-box; /* Include padding in height/width */
}

/* Main Heading Styling - Default (Desktop) */
h1 {
    font-family: 'Fredoka One', cursive; /* Fun, bold font */
    font-size: clamp(3rem, 10vw, 8rem); /* Responsive font size */
    color: white;
    /* Default shadow for larger screens */
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.6);
    margin: 0;
    line-height: 1.1;
}

/* Subtitle Styling - Default (Desktop) */
.subtitle {
    font-size: clamp(1.5rem, 4vw, 3rem); /* Responsive font size */
    color: white;
    /* Default shadow for larger screens */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    margin-top: 10px; /* Space below the main title */
    font-weight: 400; /* Regular weight from Montserrat */
}

/* --- Media Query for Mobile Devices --- */
/* Apply these styles when screen width is 600px or less */
@media (max-width: 600px) {
    h1 {
        /* Lighter/Softer shadow for smaller screens */
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
    }

    .subtitle {
         /* Lighter/Softer shadow for smaller screens */
         text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.35);
    }
}