/* Hide scrollbar for a more app-like feel */
::-webkit-scrollbar {
    width: 0px;
    background: transparent;
}
body {
    background-color: #f3f4f6; /* Gray background for desktop view to frame the app */
}
.app-container {
    /* Simulate mobile screen on desktop, full width on mobile */
    max-width: 414px; 
    margin: 0 auto;
    height: 100dvh;
    background-color: white;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.view {
    display: none;
    flex-direction: column;
    height: 100%;
    width: 100%;
    overflow-y: auto;
    background-color: #f9fafb;
}
.view.active {
    display: flex;
}

@keyframes gradientBG {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.cam-placeholder {
    background: linear-gradient(-45deg, #1f2937, #111827, #374151, #000000);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
}