* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #f0f0f0;
    min-height: 100vh;
    /* 
       Use flex for horizontal centering, but allow vertical scrolling
       by removing height: 100% constraint and align-items: center 
    */
    display: flex;
    justify-content: center;
    align-items: flex-start;
    /* Start from top */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    overflow-y: auto;
    /* Enable vertical scroll */
    -webkit-overflow-scrolling: touch;
    /* Smooth scroll on iOS */
}

/* 
   The container simulates the mobile device frame or simply centers 
   the content on larger screens.
*/
.app-container {
    width: 100%;
    max-width: 480px;
    background-color: #fff;
    position: relative;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    /* Ensure container stretches to fit image content */
    display: flex;
    flex-direction: column;
    touch-action: pan-y;
    /* Allow vertical scroll, capture horizontal swipes */
}

/* Prevent image dragging which interferes with swipe */
img {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    user-select: none;
    pointer-events: auto;
    /* Allow clicks/touches */
}

/* 
   The image should fit perfectly within the container.
   'display: block' removes bottom spacing char from inline images.
*/
.app-screen {
    width: 100%;
    height: auto;
    display: block;
}

/* 
   Mobile-specific overrides (optional since we designed mobile-first, 
   but ensuring full width on small devices) 
*/
@media (max-width: 480px) {
    .app-container {
        box-shadow: none;
        max-width: 100%;
    }
}