body {
    margin: 0;
    padding: 0;
    background: #010208;
    /* Prevents pull-to-refresh and scroll bounce on mobile */
    overflow: hidden; 
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
}

canvas {
    display: block;
    width: 100%;
    height: 100%;
}

#msg {
    position: absolute;
    width: 90%; /* Leave a little breathing room on the sides */
    top: 15%;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: white;
    font-family: 'Georgia', serif;
    
    /* Responsive font sizing using clamp */
    /* Min: 1.5rem, Preferred: 5vw, Max: 3.5rem */
    font-size: clamp(1.5rem, 5vw, 3.5rem);
    
    /* Responsive spacing */
    letter-spacing: clamp(4px, 2vw, 12px);
    
    opacity: 0;
    transition: opacity 6s ease-in-out;
    text-shadow: 0 0 25px #ffb7c5;
    pointer-events: none;
    font-weight: 200;
    z-index: 10;
}

/* Specific adjustment for very small screens or portrait mode */
@media (max-width: 480px) {
    #msg {
        top: 20%;
        line-height: 1.4;
    }
}