/* Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #2A1A3A; /* Very dark purple backdrop */
    color: #D4A017; /* Rich gold text */
    font-family: 'VT323', monospace; /* Retro, readable */
    line-height: 1.5;
}

/* Navigation */
nav {
    background: #1F1328; /* Darker near-black purple */
    padding: 10px 0;
    position: sticky;
    top: 0;
    z-index: 10;
}

nav ul {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 20px;
}

nav a {
    color: #D4A017;
    text-decoration: none;
    font-size: 20px;
    padding: 5px 10px;
    transition: background 0.3s;
}

nav a:hover, nav a.active {
    background: #D4A017;
    color: #2A1A3A;
    border-radius: 5px;
}

/* Header */
header {
    text-align: center;
    padding: 20px;
    background: #2A1A3A;
    color: #D4A017;
    position: relative;
    overflow: hidden;
    min-height: 100px; /* Space for snow */
}

header h1 {
    font-size: 40px;
    text-shadow: 2px 2px #000;
    position: relative;
    z-index: 1;
}

header p {
    font-size: 20px;
    margin-top: 5px;
    position: relative;
    z-index: 1;
}

/* Snow - 12 flakes */
header::before,
header::after,
header > .snow1,
header > .snow2,
header > .snow3,
header > .snow4,
header > .snow5,
header > .snow6,
header > .snow7,
header > .snow8,
header > .snow9,
header > .snow10 {
    content: '';
    position: absolute;
    width: 6px;
    height: 6px;
    background: #FFF; /* White flakes */
    opacity: 0.7;
    z-index: 0;
    animation: fall linear infinite;
}

/* Positioning and timing */
header::before { left: 10%; animation-duration: 4s; animation-delay: 0s; }
header::after { left: 25%; animation-duration: 5s; animation-delay: 1s; }
header > .snow1 { left: 35%; animation-duration: 3s; animation-delay: 2s; }
header > .snow2 { left: 45%; animation-duration: 6s; animation-delay: 0.5s; }
header > .snow3 { left: 55%; animation-duration: 4.5s; animation-delay: 1.5s; }
header
