body.crt-theme {
    --primary-text-color: #b0c4de;
    --primary-bg-color: #08081a;
    --header-bg-color: rgba(5, 5, 20, 0.75);
    --header-border-color: var(--neon-green);
    --nav-link-color: var(--neon-green);
    --nav-link-hover-color: #fff;
    --nav-link-active-border-color: #fff;
    --terminal-bg-color: rgba(0, 0, 0, 0.75);
    --terminal-border-color: var(--neon-green);
    --terminal-shadow-color: #1a8d0c;
    --terminal-header-bg: #1c1c1c;
    --terminal-header-text: var(--neon-green);
    --terminal-content-color: var(--neon-green);
    --button-primary-bg: #444;
    --button-primary-text: var(--neon-green);
    --button-primary-border: #666;
    --hyperlink-color: #6795ff;
    --hyperlink-border-color: #6795ff;
    --hyperlink-hover-bg: #6795ff;
    --hyperlink-hover-text: #08081a;
    --selection-bg: var(--neon-green);
    --selection-text: #08081a;

    animation: crtBodyFlicker 0.07s infinite alternate;
}

@keyframes crtBodyFlicker {
    0% { opacity: 0.97; }
    100% { opacity: 1; }
}

.crt-theme .overlay-scanlines {
    background: repeating-linear-gradient(
        transparent,
        transparent 2px,
        rgba(0, 0, 0, 0.25) 3px,
        rgba(0, 0, 0, 0.35) 4px
    );
    opacity: 0.4;
    z-index: 9998;
    animation: rollScanlines 45s linear infinite;
}

@keyframes rollScanlines {
    from { background-position-y: 0; }
    to   { background-position-y: 150px; }
}

.crt-theme .overlay-vignette {
    background: radial-gradient(ellipse at center, rgba(0,0,0,0) 35%, rgba(0,0,0,0.85) 115%);
    opacity: 0.85;
    z-index: 9999;
}

.crt-theme h2,
.crt-theme .nav-link,
.crt-theme .window-title,
.crt-theme .submit-button,
.crt-theme .neon-blue,
.crt-theme .neon-green,
.crt-theme #welcome-text,
.crt-theme .blinking-cursor,
.crt-theme .skills-container.dos-output .skill-name,
.crt-theme .skills-container.dos-output p,
.crt-theme .progress-fill,
.crt-theme .old-hyperlink,
.crt-theme #visitor-count,
.crt-theme footer .retro-copyright {
    text-shadow: 0 0 2px currentColor, 0 0 4px currentColor, 0 0 7px rgba(255, 255, 255, 0.25);
    animation: crtTextFlicker 0.12s infinite alternate ease-in-out;
}

.crt-theme .bio p, .crt-theme .project-item p.tooltip {
    text-shadow: 0 0 2px rgba(180, 200, 222, 0.5);
    animation: none;
}


@keyframes crtTextFlicker {
    0% { opacity: 0.94; filter: blur(0.1px); }
    100% { opacity: 1; filter: blur(0px); }
}

.crt-theme .main-header {
    box-shadow: 0 0 12px rgba(57, 255, 20, 0.4);
}

.crt-theme .terminal-window {
    box-shadow: 3px 3px 0px var(--terminal-shadow-color), 0 0 15px rgba(57, 255, 20, 0.25) inset;
    animation: fadeInWindow 0.5s ease-out forwards,
             crtTerminalGlowPulse 7s 0.5s infinite alternate ease-in-out;
}

@keyframes crtTerminalGlowPulse {
    from {
        border-color: var(--neon-green);
        box-shadow: 3px 3px 0px var(--terminal-shadow-color), 0 0 15px rgba(57, 255, 20, 0.25) inset, 0 0 12px rgba(57, 255, 20, 0.15);
    }
    to {
        border-color: #4eff28;
        box-shadow: 3px 3px 0px #2cb71c, 0 0 25px rgba(57, 255, 20, 0.35) inset, 0 0 20px rgba(57, 255, 20, 0.25);
    }
}

.crt-theme .contact-icons img:hover {
    border-color: var(--neon-green);
    filter: drop-shadow(0 0 8px var(--neon-green));
}

.crt-theme .project-item {
    background-color: rgba(10, 20, 40, 0.85);
    border: 2px solid var(--neon-blue);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.crt-theme .project-item:hover,
.crt-theme .project-item:focus-within {
    box-shadow: 0 0 18px rgba(0, 255, 255, 0.45);
    border-color: #3cfcfc;
    transform: translateY(-5px) scale(1.02);
}
.crt-theme .project-item h3 {
    color: var(--neon-blue);
}


.crt-theme .skills-container.dos-output {
    box-shadow: 0 0 12px var(--neon-green) inset, 0 0 8px var(--neon-green);
}
.crt-theme .progress-bar-old {
    border: 1px solid var(--neon-green);
}
.crt-theme .progress-fill {
    background-color: var(--neon-green);
    color: #08081a;
}


.crt-theme .old-hyperlink, .crt-theme .download-button {
    color: var(--hyperlink-color);
    border-color: var(--hyperlink-color);
    text-shadow: 0 0 3px var(--hyperlink-color);
}
.crt-theme .old-hyperlink:hover, .crt-theme .download-button:hover {
    background-color: var(--hyperlink-hover-bg);
    color: var(--hyperlink-hover-text);
    text-shadow: none;
    border-style: solid;
}

.crt-theme #contact-form input[type="text"],
.crt-theme #contact-form input[type="email"],
.crt-theme #contact-form textarea {
    background-color: #1a1a2a;
    border: 1px solid #4a4a6a;
    color: var(--neon-green);
}
.crt-theme #contact-form input[type="text"]:focus,
.crt-theme #contact-form input[type="email"]:focus,
.crt-theme #contact-form textarea:focus {
    border-color: var(--neon-blue);
    box-shadow: 0 0 8px var(--neon-blue);
    background-color: #202030;
}
.crt-theme #contact-form label {
    color: #a0b0c0;
    text-shadow: 0 0 2px #a0b0c0;
}

.crt-theme .submit-button {
    background-color: #333;
    color: var(--neon-green);
    border: 2px outset #555;
    text-shadow: 0 0 3px var(--neon-green), 0 0 6px var(--neon-green);
}
.crt-theme .submit-button:hover {
    background-color: #444;
    color: #fff;
    text-shadow: 0 0 5px #fff;
}
.crt-theme .submit-button:active {
    background-color: #222;
    border-style: inset;
}

.crt-theme .controls-switcher .theme-icon {
    filter: invert(60%) sepia(100%) saturate(500%) hue-rotate(80deg) brightness(1.2);
}
.crt-theme .controls-switcher button:hover .theme-icon {
    filter: brightness(1.2) contrast(1.1);
}

.crt-theme ::selection {
    background: var(--selection-bg);
    color: var(--selection-text);
    text-shadow: none;
}
.crt-theme ::-moz-selection {
    background: var(--selection-bg);
    color: var(--selection-text);
    text-shadow: none;
}
