/* --- Variables --- */
:root {
    --hover-border-color: #00ff00;
    --purple-bg: purple;
    --purple-fg: aqua;
    --red-bg: red;
    --red-fg: gold;
    --green-bg: green;
    --green-fg: beige;
    --blue-bg: blue;
    --blue-fg: beige;
    --seagreen-bg: seagreen;
    --seagreen-fg: peachpuff;
}

/* --- Base Styles --- */
body {
    background-color: black;
    color: white;
    font-family: Arial, sans-serif;
    min-height: 100vh;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* --- Layout --- */
main {
    padding: 16px;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center; /* This will center the list items */
    gap: 16px; /* Modern way to space flex items */
}

/* --- Link Box Styles --- */
a.link-box {
    text-decoration: none;
    color: var(--fg-color, white);
    background-color: var(--bg-color, transparent);
    padding: 4px 8px;
    border: 4px solid transparent;
    border-radius: 16px;
    display: flex;
    align-items: center;
    transition: border-color 0.2s ease-in-out, filter 0.2s ease-in-out;
}

a.link-box:hover {
    border-color: var(--hover-border-color);
    filter: brightness(1.2);
}

.link-box img {
    margin-right: 12px;
    width: 48px;
    height: 48px;
}

.link-text {
    font-size: 2em;
    font-weight: bold;
    line-height: 1.2;
}

/* --- Color Utilities --- */
.purple {
    --bg-color: var(--purple-bg);
    --fg-color: var(--purple-fg);
}

.red {
    --bg-color: var(--red-bg);
    --fg-color: var(--red-fg);
}

.green {
    --bg-color: var(--green-bg);
    --fg-color: var(--green-fg);
}

.blue {
    --bg-color: var(--blue-bg);
    --fg-color: var(--blue-fg);
}

.seagreen {
    --bg-color: var(--seagreen-bg);
    --fg-color: var(--seagreen-fg);
}

/* --- Animations --- */
ul li {
    animation: fadeInUp 0.5s ease-out forwards;
    opacity: 0;
}

ul li:nth-child(1) { animation-delay: 0.1s; }
ul li:nth-child(2) { animation-delay: 0.2s; }
ul li:nth-child(3) { animation-delay: 0.3s; }
ul li:nth-child(4) { animation-delay: 0.4s; }
ul li:nth-child(5) { animation-delay: 0.5s; }
ul li:nth-child(6) { animation-delay: 0.6s; }
ul li:nth-child(7) { animation-delay: 0.7s; }
ul li:nth-child(8) { animation-delay: 0.8s; }
ul li:nth-child(9) { animation-delay: 0.9s; }
ul li:nth-child(10) { animation-delay: 1s; }

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- Responsive Styles --- */
@media (max-width: 600px) {
    .link-text {
        font-size: 1.5em;
    }

    .link-box img {
        width: 40px;
        height: 40px;
    }
}