html,
body {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    position: relative;
    margin: 0;
    padding: 0;
    border: none;

    background-color: #120c44;
}

/* ===== Santey aurora background (full-bleed) ===== */
body {
    background: transparent;
}

body::before,
body::after {
    content: "";
    position: fixed;
    inset: -30%;
    z-index: -1;
    pointer-events: none;
    filter: blur(80px) saturate(140%);
    will-change: transform;
}

/* base layer: solid colour field so the whole page is covered, no dark gaps */
body::before {
    background:
        radial-gradient(60% 55% at 22% 26%, rgba(139, 69, 255, 0.75), transparent 72%),
        radial-gradient(58% 52% at 82% 20%, rgba(56, 189, 248, 0.60), transparent 72%),
        radial-gradient(66% 60% at 64% 82%, rgba(217, 70, 239, 0.65), transparent 72%),
        radial-gradient(60% 58% at 10% 86%, rgba(37, 99, 235, 0.60), transparent 72%),
        linear-gradient(150deg, #1a0b3a 0%, #120c44 45%, #0e1452 70%, #220a3a 100%);
    animation: auroraA 26s ease-in-out infinite alternate;
}

body::after {
    background:
        radial-gradient(55% 50% at 78% 60%, rgba(139, 69, 255, 0.55), transparent 70%),
        radial-gradient(50% 46% at 26% 66%, rgba(56, 189, 248, 0.50), transparent 70%),
        radial-gradient(58% 54% at 50% 14%, rgba(190, 90, 255, 0.55), transparent 70%);
    animation: auroraB 32s ease-in-out infinite alternate;
    mix-blend-mode: screen;
}

@keyframes auroraA {
    0%   { transform: translate3d(-4%, -3%, 0) rotate(0deg)  scale(1.05); }
    100% { transform: translate3d(4%, 3%, 0)   rotate(6deg)  scale(1.18); }
}

@keyframes auroraB {
    0%   { transform: translate3d(3%, 2%, 0)   rotate(0deg)  scale(1.10); }
    100% { transform: translate3d(-3%, -4%, 0) rotate(-8deg) scale(1.22); }
}

#background { display: none; }
#logo-gif  { display: none !important; }

#res-canvas {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.fps-container {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.4rem;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
}

.fps-container > p {
    all: unset;
    font-weight: bold;
    font-family: 'Nunito', sans-serif;
}
