/* Text Effects (Minimal) */

/* Screen Static Effect */
.entry-screen::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(circle at 20% 80%, rgba(255, 0, 51, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(0, 255, 255, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 40% 40%, rgba(255, 255, 255, 0.02) 0%, transparent 50%);
    animation: static-noise 0.2s infinite;
    pointer-events: none;
    z-index: -1;
}

@keyframes static-noise {
    0%, 100% {
        opacity: 0.02;
        transform: translateX(0px) translateY(0px);
    }
    10% {
        opacity: 0.05;
        transform: translateX(-1px) translateY(-1px);
    }
    20% {
        opacity: 0.03;
        transform: translateX(1px) translateY(1px);
    }
    30% {
        opacity: 0.04;
        transform: translateX(-1px) translateY(1px);
    }
    40% {
        opacity: 0.02;
        transform: translateX(1px) translateY(-1px);
    }
    50% {
        opacity: 0.06;
        transform: translateX(-1px) translateY(0px);
    }
    60% {
        opacity: 0.03;
        transform: translateX(1px) translateY(0px);
    }
    70% {
        opacity: 0.04;
        transform: translateX(0px) translateY(-1px);
    }
    80% {
        opacity: 0.02;
        transform: translateX(0px) translateY(1px);
    }
    90% {
        opacity: 0.05;
        transform: translateX(-1px) translateY(-1px);
    }
}

/* Scanline Effect */
.main-app::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        transparent 0%,
        rgba(0, 255, 0, 0.03) 50%,
        transparent 100%
    );
    background-size: 100% 4px;
    animation: scanlines 0.1s linear infinite;
    pointer-events: none;
    z-index: 1000;
}

@keyframes scanlines {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 0 4px;
    }
}

/* Minimal Status Effects */
.status-fade {
    animation: subtle-fade 3s infinite;
}

@keyframes subtle-fade {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

/* Minimal Text Animation */
.text-fade-in {
    animation: text-fade 1s ease-in;
}

@keyframes text-fade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Minimal Hover Effects */
.hover-fade:hover {
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

/* Screen Tear Effect */
.screen-tear {
    position: relative;
    overflow: hidden;
}

.screen-tear::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.1),
        transparent
    );
    animation: screen-tear 3s infinite;
}

@keyframes screen-tear {
    0% {
        left: -100%;
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        left: 100%;
        opacity: 0;
    }
}

/* Matrix-style background rain effect */
.matrix-rain {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
    opacity: 0.1;
}

.matrix-rain::before {
    content: '01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100';
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 200%;
    color: #ff0033;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    line-height: 20px;
    animation: matrix-fall 10s linear infinite;
    word-wrap: break-word;
    overflow: hidden;
}

@keyframes matrix-fall {
    0% {
        transform: translateY(-100%);
    }
    100% {
        transform: translateY(100%);
    }
} 