* {
    touch-action: manipulation;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}

body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    padding: 0;
    background-color: #0a0a1a;
    font-family: 'Orbitron', sans-serif;
    overflow: hidden;
}

canvas {
    border: 2px solid #00ffff;
    background-color: #1a1a2e;
    display: block;
    box-shadow:
        0 0 10px #00ffff,
        0 0 20px #00ffff44,
        0 0 40px #ff00ff22,
        inset 0 0 10px #00ffff22;
    max-width: 100vw;
    max-height: 100vh;
    max-height: 100dvh;
}

h1 {
    color: #00ffff;
    margin-bottom: 20px;
    text-shadow:
        0 0 10px #00ffff,
        0 0 20px #00ffff88,
        0 0 40px #ff00ff44;
    letter-spacing: 3px;
}

/* On mobile, hide the h1 and make canvas fill the screen */
@media (max-width: 850px), (max-height: 550px) {
    h1 { display: none; }
    body { justify-content: center; }
    canvas {
        border: none;
        box-shadow: none;
        width: 100vw;
        height: auto;
        max-height: 100dvh;
    }
}

/* Landscape phone: fill height */
@media (max-height: 500px) and (orientation: landscape) {
    canvas {
        height: 100dvh;
        width: auto;
    }
}
