* {
    box-sizing: border-box;
    image-rendering: pixelated;
}

html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    background-color: var(--bg-primary);
    color: var(--text-main);
    font-family: var(--font-terminal);
    overflow: hidden;
    user-select: none;
}

.font-pixel,
.font-gothic-pixel {
    font-family: var(--font-gothic-pixel);
}

.font-terminal {
    font-family: var(--font-terminal);
}

.font-vt {
    font-family: var(--font-vt);
}

canvas {
    image-rendering: pixelated;
    image-rendering: crisp-edges;
}

/* Scanlines Overlay */
.scanlines {
    background: linear-gradient(
        rgba(18, 16, 16, 0) 50%,
        rgba(0, 0, 0, 0.36) 50%
    );
    background-size: 100% 4px;
    pointer-events: none;
}

/* Glitch / Glow Title Animation */
@keyframes pulseGlow {
    0%, 100% {
        text-shadow: 2px 2px 0px #0D0D0F, 0 0 14px var(--accent-glow);
    }
    50% {
        text-shadow: 2px 2px 0px var(--accent-secondary), 0 0 22px var(--accent-main);
    }
}

.title-glow {
    animation: pulseGlow 3s infinite ease-in-out;
}
