* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none; /* Prevents double-tap zoom & scrolling */
}

body {
    background-color: #0b0914;
    color: #ffffff;
    font-family: 'Press Start 2P', monospace;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    overflow: hidden;
}

#game-container {
    position: relative;
    width: 100vw;
    height: 100vh;
    max-width: 450px;
    max-height: 800px;
    aspect-ratio: 9/16;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #121020;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.8), 0 0 15px rgba(255, 62, 137, 0.2);
    border: 4px solid #3d2f60;
    border-radius: 8px;
    overflow: hidden;
}

canvas {
    width: 100%;
    height: 100%;
    display: block;
    image-rendering: pixelated; /* Crisp pixel art */
    background-color: #151324;
}

/* CRT Screen Scanlines Effect */
.crt-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        rgba(18, 16, 16, 0) 50%, 
        rgba(0, 0, 0, 0.25) 50%
    );
    background-size: 100% 4px;
    z-index: 10;
    pointer-events: none;
}

.crt-overlay::after {
    content: " ";
    display: block;
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
    background: radial-gradient(
        circle, 
        rgba(18, 16, 16, 0) 60%, 
        rgba(0, 0, 0, 0.4) 100%
    );
    opacity: 0.6;
    z-index: 11;
    pointer-events: none;
}

/* Retro UI Elements */
.retro-btn {
    font-family: 'Press Start 2P', monospace;
    font-size: 8px;
    color: #ffffff;
    background-color: #3d2f60;
    border: 3px solid #6b52a3;
    border-radius: 4px;
    padding: 8px 12px;
    cursor: pointer;
    box-shadow: 0 4px 0 #1c152d;
    transition: all 0.1s ease;
}

.retro-btn:active {
    transform: translateY(2px);
    box-shadow: 0 2px 0 #1c152d;
}

.music-btn {
    position: absolute;
    bottom: 16px;
    right: 16px;
    z-index: 20;
    outline: none;
}
