body {
    background: #2a2a2a;
    background-image:
    radial-gradient(circle at 20% 20%, #333333 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, #1a1a1a 0%, transparent 50%);
    color: #bb88ff;
    font-family: 'Courier New', monospace;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    position: relative;
}

/* Mobile-first responsive design */
@media (max-width: 768px) {
    body {
        font-size: 14px;
        line-height: 1.4;
    }
}

.stars {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
}

.star {
    position: absolute;
    width: 2px;
    height: 2px;
    background: white;
    animation: twinkle 2s infinite alternate;
}

@keyframes twinkle {
    0% { opacity: 0.3; }
    100% { opacity: 1; }
}

.header {
    background-size: 400% 400%;
    animation: rainbow 3s ease infinite;
    text-align: center;
    padding: 20px;
    border-bottom: 5px solid #dda0dd;
    box-shadow: 0 0 20px #9370db;
    position: relative;
    overflow: hidden;
    background:
    repeating-linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.03) 0px,
        rgba(0, 0, 0, 0.03) 1px,
        transparent 1px,
        transparent 2px
    ),
    repeating-linear-gradient(
        90deg,
        rgba(255, 0, 0, 0.06) 0px,
        rgba(255, 0, 0, 0.06) 1px,
        rgba(0, 255, 0, 0.02) 1px,
        rgba(0, 255, 0, 0.02) 2px,
        rgba(0, 0, 255, 0.06) 2px,
        rgba(0, 0, 255, 0.06) 3px,
        transparent 3px,
        transparent 4px
    ),
    linear-gradient(45deg, #6a0dad, #9932cc, #8a2be2, #9370db, #ba55d3, #da70d6);
}

@media (max-width: 768px) {
    .header {
        padding: 15px 10px;
        box-shadow: 0 0 10px #9370db;
    }
}

@keyframes rainbow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.title {
    font-size: 36px;
    font-weight: bold;
    color: #f0f0f0;
    text-shadow: 2px 2px 0 #000000, 4px 4px 0 #6a0dad;
    animation: glow 2s ease-in-out infinite alternate;
}

.bouncing {
    text-shadow: 2px 2px 0 #000000, 4px 4px 0 #6a0dad;
    animation: dvd-bounce 8s linear infinite, glow 2s ease-in-out infinite alternate;
    display: inline-block;
    position: relative;
}

@keyframes dvd-bounce {
    0% {
        transform: translate(0px, 0px);
    }
    12.5% {
        transform: translate(150px, -30px);
    }
    25% {
        transform: translate(300px, 0px);
    }
    37.5% {
        transform: translate(150px, 30px);
    }
    50% {
        transform: translate(0px, 0px);
    }
    62.5% {
        transform: translate(-150px, -30px);
    }
    75% {
        transform: translate(-300px, 0px);
    }
    87.5% {
        transform: translate(-150px, 30px);
    }
    100% {
        transform: translate(0px, 0px);
    }
}

@media (max-width: 768px) {
    .title {
        font-size: 24px;
        text-shadow: 1px 1px 0 #000000, 2px 2px 0 #6a0dad;
    }

    @keyframes dvd-bounce {
        0% {
            transform: translate(0px, 0px);
        }
        12.5% {
            transform: translate(60px, -15px);
        }
        25% {
            transform: translate(120px, 0px);
        }
        37.5% {
            transform: translate(60px, 15px);
        }
        50% {
            transform: translate(0px, 0px);
        }
        62.5% {
            transform: translate(-60px, -15px);
        }
        75% {
            transform: translate(-120px, 0px);
        }
        87.5% {
            transform: translate(-60px, 15px);
        }
        100% {
            transform: translate(0px, 0px);
        }
    }
}

@media (max-width: 480px) {
    .title {
        font-size: 18px;
    }

    @keyframes dvd-bounce {
        0% {
            transform: translate(0px, 0px);
        }
        12.5% {
            transform: translate(30px, -10px);
        }
        25% {
            transform: translate(60px, 0px);
        }
        37.5% {
            transform: translate(30px, 10px);
        }
        50% {
            transform: translate(0px, 0px);
        }
        62.5% {
            transform: translate(-30px, -10px);
        }
        75% {
            transform: translate(-60px, 0px);
        }
        87.5% {
            transform: translate(-30px, 10px);
        }
        100% {
            transform: translate(0px, 0px);
        }
    }
}

@keyframes glow {
    from { text-shadow: 2px 2px 0 #000000, 4px 4px 0 #6a0dad, 0 0 10px #9370db; }
    to { text-shadow: 2px 2px 0 #000000, 4px 4px 0 #6a0dad, 0 0 20px #9370db, 0 0 30px #9370db; }
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

@media (max-width: 768px) {
    .container {
        padding: 10px;
    }
}

.welcome-banner {
    background: #8a2be2;
    color: #f0f0f0;
    text-align: center;
    padding: 10px;
    margin: 20px 0;
    border: 3px solid #dda0dd;
    animation: pulse 1.5s infinite;
    position: relative;
}

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

.nav-menu {
    background: #4a4a4a;
    border: 2px solid #9370db;
    margin: 20px 0;
    padding: 15px;
    text-align: center;
}

.nav-menu a {
    color: #dda0dd;
    text-decoration: none;
    margin: 0 20px;
    font-weight: bold;
    animation: colorshift 3s infinite;
    display: inline-block;
}

.nav-menu a:hover {
    color: #ba55d3;
    text-shadow: 0 0 5px #f0f0f0;
}

@keyframes colorshift {
    0% { color: #dda0dd; }
    33% { color: #ba55d3; }
    66% { color: #9370db; }
    100% { color: #dda0dd; }
}

@media (max-width: 768px) {
    .nav-menu {
        padding: 10px;
        margin: 15px 0;
    }

    .nav-menu a {
        margin: 5px 10px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .nav-menu a {
        display: block;
        margin: 8px 0;
        padding: 5px;
        border: 1px solid #9370db;
        border-radius: 3px;
    }
}

.content-box {
    background: #3a3a3a;
    border: 3px solid #9370db;
    margin: 20px 0;
    padding: 20px;
    box-shadow: 0 0 15px #9370db;
}

.article-title {
    color: #dda0dd;
    font-size: 24px;
    text-decoration: underline;
    animation: shake 0.5s infinite;
}

@media (max-width: 768px) {
    .content-box {
        margin: 15px 0;
        padding: 15px;
        box-shadow: 0 0 10px #9370db;
    }

    .article-title {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .article-title {
        font-size: 18px;
    }
}

@keyframes shake {
    0% { transform: translateX(0); }
    25% { transform: translateX(-2px); }
    50% { transform: translateX(2px); }
    75% { transform: translateX(-2px); }
    100% { transform: translateX(0); }
}

.blink-text {
    animation: blink 1s infinite;
}

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

.spinning-text {
    display: inline-block;
    animation: spin 2s linear infinite;
}

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

.sidebar {
    background: #4a4a4a;
    border: 2px solid #ba55d3;
    padding: 15px;
    margin: 20px 0;
    float: right;
    width: 250px;
}

.sidebar h3 {
    color: #dda0dd;
    text-align: center;
}

@media (max-width: 768px) {
    .sidebar {
        float: none;
        width: auto;
        margin: 15px 0;
        padding: 10px;
    }
}

.visitor-counter {
    background: #1a1a1a;
    color: #bb88ff;
    border: 1px solid #9370db;
    padding: 10px;
    text-align: center;
    font-family: 'Courier New', monospace;
    margin: 10px 0;
}

.retro-button {
    background: linear-gradient(45deg, #6a0dad, #8a2be2);
    color: white;
    border: 2px solid #dda0dd;
    padding: 10px 20px;
    font-family: 'Courier New', monospace;
    font-weight: bold;
    cursor: pointer;
    animation: buttonpulse 2s infinite;
}

@keyframes buttonpulse {
    0% { box-shadow: 0 0 5px #6a0dad; }
    50% { box-shadow: 0 0 20px #6a0dad, 0 0 30px #8a2be2; }
    100% { box-shadow: 0 0 5px #6a0dad; }
}

.footer {
    background: #1a1a1a;
    border-top: 3px solid #9370db;
    text-align: center;
    padding: 20px;
    margin-top: 40px;
}

.geocities-ring {
    background: #dda0dd;
    color: #000000;
    padding: 5px;
    margin: 10px 0;
    border: 2px solid #8a2be2;
    text-align: center;
    font-weight: bold;
}

.under-construction {
    background: #dda0dd;
    color: #6a0dad;
    font-weight: bold;
    text-align: center;
    padding: 5px;
    border: 2px solid #8a2be2;
    animation: construction 1s infinite;
}

@keyframes construction {
    0% { background: #dda0dd; color: #6a0dad; }
    50% { background: #8a2be2; color: #dda0dd; }
    100% { background: #dda0dd; color: #6a0dad; }
}

/* CRT Overlay Effect */
.welcome-banner::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:
    repeating-linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.03) 0px,
        rgba(0, 0, 0, 0.03) 1px,
        transparent 1px,
        transparent 2px
    ),
    repeating-linear-gradient(
        90deg,
        rgba(255, 0, 0, 0.06) 0px,
        rgba(255, 0, 0, 0.06) 1px,
        rgba(0, 255, 0, 0.02) 1px,
        rgba(0, 255, 0, 0.02) 2px,
        rgba(0, 0, 255, 0.06) 2px,
        rgba(0, 0, 255, 0.06) 3px,
        transparent 3px,
        transparent 4px
    );
    pointer-events: none;
    z-index: 1000;
}

/* CRT Scanlines */
.welcome-banner::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:
    repeating-linear-gradient(
        0deg,
        transparent 0px,
        transparent 2px,
        rgba(0, 0, 0, 0.1) 2px,
        rgba(0, 0, 0, 0.1) 3px
    );
    pointer-events: none;
    z-index: 999;
}
