:root {
    --neon-pink: #ff0055;
    --neon-blue: #00f2ff;
    --cyber-black: #050505;
}

body {
    background-color: var(--cyber-black);
    color: white;
    font-family: 'Courier New', Courier, monospace;
    overflow: hidden;
    margin: 0;
}

/* CRT Scanline Effect */
.scanlines {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), 
                linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
    background-size: 100% 4px, 3px 100%;
    z-index: 10;
    pointer-events: none;
}

.cyber-hero {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

/* The Glitch Logic */
.glitch {
    font-size: 6rem;
    font-weight: bold;
    position: relative;
    text-transform: uppercase;
    text-shadow: 0.05em 0 0 var(--neon-pink), -0.05em -0.025em 0 var(--neon-blue);
    animation: glitch 725ms infinite;
}

.glitch::before, .glitch::after {
    content: attr(data-text);
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    opacity: 0.8;
}

.glitch::before {
    animation: glitch 650ms infinite;
    color: var(--neon-pink);
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 100% 45%, 0 45%);
    transform: translate(-2px, -2px);
}

.glitch::after {
    animation: glitch 375ms infinite;
    color: var(--neon-blue);
    z-index: -2;
    clip-path: polygon(0 80%, 100% 20%, 100% 100%, 0 100%);
    transform: translate(2px, 2px);
}

@keyframes glitch {
    0% { transform: translate(0); }
    20% { transform: translate(-3px, 3px); }
    40% { transform: translate(-3px, -3px); }
    60% { transform: translate(3px, 3px); }
    80% { transform: translate(3px, -3px); }
    100% { transform: translate(0); }
}

.cyber-subtext {
    color: var(--neon-blue);
    letter-spacing: 3px;
    margin-top: 10px;
    text-shadow: 0 0 10px var(--neon-blue);
}

/* The Main Button Body */
.cyber-btn {
    margin-top: 40px;
    width: 280px;
    height: 60px;
    background: transparent;
    color: #fff;
    border: 1px solid var(--neon-blue);
    font-family: 'Courier New', monospace;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 2px;
    position: relative;
    cursor: pointer;
    transition: all 0.2s;
    text-transform: uppercase;
    outline: none;
}

/* The Little Tag in the corner */
.btn-tag {
    position: absolute;
    top: -10px;
    right: 5px;
    background: var(--neon-blue);
    color: var(--cyber-black);
    font-size: 10px;
    padding: 2px 5px;
}

/* The Hover "Glitch" Animation */
.cyber-btn:hover {
    background: var(--neon-pink);
    border: 1px solid var(--neon-pink);
    color: white;
    box-shadow: 5px 0px 0px var(--neon-blue);
    transform: skew(-10deg); /* Tilts the button for a raw look */
}

/* Creating the "Torn" effect on hover */
.cyber-btn:hover::before {
    content: "SYSTEM_ACCESS";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--neon-blue);
    display: flex;
    justify-content: center;
    align-items: center;
    animation: btn-flicker 0.1s infinite;
}

@keyframes btn-flicker {
    0% { clip-path: polygon(0 2%, 100% 2%, 100% 5%, 0 5%); }
    20% { clip-path: polygon(0 15%, 100% 15%, 100% 15%, 0 15%); }
    40% { clip-path: polygon(0 10%, 100% 10%, 100% 20%, 0 20%); }
    60% { clip-path: polygon(0 80%, 100% 80%, 100% 90%, 0 90%); }
    80% { clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%); }
    100% { clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%); }
}

/* --- DATA STREAM BACKGROUND --- */
.data-stream {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    z-index: -2;
    overflow: hidden;
    background-color: var(--cyber-black);
}

.column {
    position: absolute;
    top: -100%; /* Start above screen */
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-family: 'Courier New', monospace;
    font-size: 14px; /* Slightly larger for visibility */
    color: var(--neon-blue);
    opacity: 0.4; /* Increased from 0.05 so you can actually see it */
    white-space: nowrap;
    animation: cyberFall linear infinite;
}

@keyframes cyberFall {
    from { transform: translateY(0); }
    to { transform: translateY(200vh); }
}

/* Fix for the grid floor - add this if you haven't yet */
.cyber-grid-bg {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 30vh;
    background-image: 
        linear-gradient(0deg, transparent 24%, rgba(0, 242, 255, 0.3) 25%, rgba(0, 242, 255, 0.3) 26%, transparent 27%),
        linear-gradient(90deg, transparent 24%, rgba(0, 242, 255, 0.3) 25%, rgba(0, 242, 255, 0.3) 26%, transparent 27%);
    background-size: 60px 60px;
    transform: perspective(500px) rotateX(60deg);
    z-index: -1;
}

.skill-terminal {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 250px;
    background: rgba(0, 0, 0, 0.8);
    border: 1px solid var(--neon-blue);
    padding: 10px;
    font-size: 12px;
    color: var(--neon-blue);
    box-shadow: 0 0 15px rgba(0, 242, 255, 0.2);
}

.terminal-header {
    border-bottom: 1px solid var(--neon-blue);
    margin-bottom: 5px;
    font-weight: bold;
}

.log-content {
    height: 120px;
    overflow-y: auto; /* Allows the log to grow while staying in the box */
    font-size: 11px;
    line-height: 1.6;
    padding-right: 5px;
    scrollbar-width: thin; /* For Firefox */
    scrollbar-color: var(--neon-blue) transparent;
}

/* Custom Scrollbar for Chrome/Edge/Safari to keep the 'Hacker' vibe */
.log-content::-webkit-scrollbar {
    width: 3px;
}

.log-content::-webkit-scrollbar-thumb {
    background: var(--neon-blue);
    border-radius: 10px;
}

.log-line {
    margin-bottom: 5px;
    border-left: 2px solid transparent;
    padding-left: 5px;
    animation: flicker 0.1s steps(2);
}

.status { 
    color: var(--neon-pink); 
    font-weight: bold;
}