* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

body {
    background: var(--bg-dark);
    min-height: 100dvh;
    position: relative;
    z-index: 0;
    font-size: 16px;
    overflow-x: hidden;
}

html {
    scroll-behavior: smooth;
}

ul {
    list-style: none;
}

/* Side neon waves */
body::before,
body::after {
    content: "";
    position: fixed;
    top: -20%;
    width: 40%;
    height: 140%;
    pointer-events: none;
    border-radius: 50%;
    z-index: -1;
    mix-blend-mode: screen;
    opacity: 0.7;
    filter: blur(100px);
    will-change: transform;
}

body::before {
    left: -13%;
    background: radial-gradient(60% 60% at 20% 50%,
        var(--wave-red-main) 0%,
        var(--wave-red-mid) 30%,
        var(--wave-red-light) 60%,
        transparent 100%);
    filter: blur(120px) drop-shadow(0 0 120px rgba(255,60,60,0.35));
    animation: wave-left-combo 5s cubic-bezier(.4,0,.2,1) infinite;
}

body::after {
    right: -13%;
    background: radial-gradient(60% 60% at 80% 50%,
        var(--wave-blue-main) 0%,
        var(--wave-blue-mid) 30%,
        var(--wave-blue-light) 60%,
        transparent 100%);
    filter: blur(120px) drop-shadow(0 0 120px rgba(0,180,255,0.35));
    animation: wave-right-combo 8s cubic-bezier(.4,0,.2,1) infinite;
    animation-delay: -1s;
}