:root {
    --nfo-bg: #00001a; /* Dark blue background */
    --nfo-text: #cccccc;
    --nfo-accent1: #00ff00; /* Green */
    --nfo-accent2: #ff00c1; /* Pink */
}

body {
    background-color: var(--nfo-bg);
    color: var(--nfo-text);
    font-family: 'Press Start 2P', monospace;
    font-size: 12px;
    line-height: 1.2;
}

pre {
    white-space: pre;
    margin: 0 auto;
    max-width: 1000px;
    padding: 40px;
    text-shadow: 0 0 2px var(--nfo-text);
    animation: crt-flicker 15s infinite;
}

/* Color classes for spans */
.c1 { color: var(--nfo-accent1); text-shadow: 0 0 5px var(--nfo-accent1); }
.c2 { color: var(--nfo-accent2); text-shadow: 0 0 5px var(--nfo-accent2); }

a {
    color: var(--nfo-text);
    text-decoration: none;
}
a:hover {
    background-color: var(--nfo-accent1);
    color: var(--nfo-bg);
    text-shadow: none;
}

/* Scanline Overlay */
body::after {
    content: ' ';
    display: block;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: repeating-linear-gradient( to bottom, transparent 0, rgba(255, 255, 255, 0.02) 1px, transparent 4px );
    z-index: 999;
    pointer-events: none;
}

@keyframes crt-flicker {
    0%, 100% { opacity: 1; }
    49.8% { opacity: 1; }
    50% { opacity: 0.2; }
    50.2% { opacity: 1; }
}

@media (max-width: 768px) {
    body { font-size: 12px; }
    pre { padding: 15px; }
}
