body {
background-color: var(--bg);
color: var(--text);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
overflow-x: hidden;
overflow-y: auto;
position: relative;
background-image: 
linear-gradient(var(--grid) 1.5px, transparent 1.5px),
linear-gradient(90deg, var(--grid) 1.5px, transparent 1.5px);
background-size: 50px 50px;
}
body::before, body::after {
content: ""; position: absolute; width: 100vw; height: 100vw;
border-radius: 50%; filter: blur(100px); z-index: -1;
opacity: 0.25; animation: glowMove 15s ease-in-out infinite alternate;
}
body::before { top: -30%; left: -20%; background: var(--accent); }
body::after { bottom: -30%; right: -20%; background: var(--primary); animation-delay: -7s; }
@keyframes glowMove {
from { transform: translate(0, 0); }
to { transform: translate(5%, 5%); }
}
.scan-line {
position: fixed; top: -10%; left: 0; width: 100%; height: 6px;
background: var(--primary); box-shadow: 0 0 20px var(--primary);
animation: scan 6s linear infinite; z-index: 20; opacity: 0.3; pointer-events: none;
}
@keyframes scan { 0% { top: -10%; } 100% { top: 110%; } }
