body {
    background-color: #000080;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><rect fill="%23000080" width="20" height="20"/><circle fill="%23ffffff" cx="2" cy="2" r="1" opacity="0.3"/></svg>');
    color: #00FF00;
    font-family: "Comic Sans MS", "Arial", sans-serif;
    margin: 0;
    padding: 20px;
}

.container {
    max-width: 900px;
    margin: 0 auto;
    background-color: #C0C0C0;
    border: 5px ridge #808080;
    padding: 0;
}

.header {
    background: linear-gradient(to right, #000080, #0000FF, #000080);
    color: #FFFF00;
    padding: 20px;
    text-align: center;
    border-bottom: 5px groove #808080;
}

.header h1 {
    margin: 0;
    font-size: 36px;
    text-shadow: 2px 2px #FF00FF;
    animation: blink 1.5s infinite;
}

@keyframes blink {
    0%, 49% { opacity: 1; }
    50%, 100% { opacity: 0.8; }
}

.badge {
    display: inline-block;
    background-color: #FF0000;
    color: #FFFFFF;
    padding: 3px 8px;
    border: 2px solid #FFFF00;
    font-size: 11px;
    font-weight: bold;
    margin: 0 3px;
    animation: pulse 2s infinite;
}

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

.marquee {
    background-color: #FFFF00;
    color: #FF0000;
    padding: 10px;
    font-weight: bold;
    border: 2px solid #000;
    overflow: hidden;
    white-space: nowrap;
}

.nav {
    background-color: #008080;
    padding: 10px;
    text-align: center;
    border-bottom: 3px solid #000;
}

.nav a {
    color: #FFFFFF;
    text-decoration: none;
    padding: 5px 15px;
    background-color: #0000FF;
    border: 2px outset #FFFFFF;
    margin: 0 5px;
    display: inline-block;
    font-weight: bold;
    font-size: 13px;
}

.nav a:hover {
    background-color: #FF00FF;
    border: 2px inset #FFFFFF;
}

/* Classic 2002 link colors */
a:link { color: #0000EE; text-decoration: underline; }
a:visited { color: #551A8B; }
a:hover { color: #FF0000; }
a:active { color: #AA0000; }

.content {
    padding: 20px;
    background-color: #FFFFFF;
    color: #000000;
}

.section {
    margin: 20px 0;
    padding: 15px;
    border: 3px double #0000FF;
    background-color: #FFFFCC;
}

.section h2 {
    color: #FF0000;
    font-size: 24px;
    margin-top: 0;
    text-decoration: underline;
}

.counter {
    text-align: center;
    padding: 10px;
    background-color: #000000;
    color: #00FF00;
    font-family: "Courier New", monospace;
    border: 2px solid #00FF00;
    display: inline-block;
    margin: 10px 0;
}

.footer {
    background-color: #000000;
    color: #00FF00;
    padding: 15px;
    text-align: center;
    border-top: 5px groove #808080;
    font-size: 12px;
}

.gif-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(45deg, #FF0000, #FFFF00, #00FF00, #00FFFF);
    animation: spin 2s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.tech-box {
    background-color: #E0E0E0;
    border: 2px solid #000;
    padding: 10px;
    margin: 10px 0;
    display: inline-block;
    min-width: 120px;
    text-align: center;
}

table { width: 100%; border-collapse: collapse; }
td { padding: 10px; border: 1px solid #000; vertical-align: top; }

.skill-bar { background-color: #CCCCCC; border: 1px solid #000; height: 20px; position: relative; }
.skill-fill { background: linear-gradient(to right, #00FF00, #008000); height: 100%; animation: fill 2s ease-in-out; }
@keyframes fill { from { width: 0; } }

.project-card { background-color: #FFFFFF; border: 3px ridge #808080; padding: 10px; margin: 10px 0; }
.hot { color: #FF0000; font-weight: bold; animation: blink 1s infinite; }
.new-tag { background-color: #FF0000; color: #FFFF00; padding: 2px 6px; font-size: 10px; font-weight: bold; border: 1px solid #000; }

.under-construction {
    background: repeating-linear-gradient(45deg, #FFD700, #FFD700 10px, #000000 10px, #000000 20px);
    color: #000;
    border: 5px double #000;
    text-align: center;
    padding: 12px;
    margin: 20px 0;
}

.button-wall img {
    width: 88px;
    height: 31px;
    image-rendering: pixelated;
    margin: 2px;
    border: 1px solid #000;
    vertical-align: middle;
}

/* Retro button for CTAs */
.btn {
    display: inline-block;
    padding: 8px 14px;
    color: #FFFFFF;
    background: linear-gradient(to bottom, #0000FF, #000080);
    border: 2px outset #FFFFFF;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    margin: 5px 0;
}
.btn:hover { background: linear-gradient(to bottom, #FF00FF, #800080); border: 2px inset #FFFFFF; }
.btn-secondary { background: linear-gradient(to bottom, #008000, #004d00); }

/* Respect reduced motion while keeping retro vibe */
@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; }
}


