.camera-container{background-color:var(--cam-bg);flex-direction:column;flex:1;height:100%;display:flex;position:relative}.error-toast{color:#fff;z-index:100;background:#f00c;border-radius:8px;padding:8px 16px;font-size:14px;position:absolute;top:60px;left:50%;transform:translate(-50%)}.shutter-flash{z-index:200;opacity:.8;pointer-events:none;background-color:#fff;position:absolute;inset:0}.software-flash{z-index:200;opacity:1;pointer-events:none;background-color:#fff;transition:opacity .2s ease-out;position:absolute;inset:0}.countdown-display{color:#fff;text-shadow:0 4px 20px #00000080;z-index:50;pointer-events:none;font-size:120px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.filter-toast{color:#fc0;z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border-radius:20px;padding:6px 14px;font-size:14px;font-weight:600;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.top-spacer{height:calc(env(safe-area-inset-top) + 60px);padding-top:env(safe-area-inset-top);flex-shrink:0;align-items:center;padding-right:16px;display:flex;position:relative}.camera-logo{opacity:1;pointer-events:none;height:32px;position:absolute;left:50%;transform:translate(-50%)}.theme-toggle{margin-left:auto}.viewfinder-wrapper{flex:1;justify-content:center;align-items:center;padding:0 16px;display:flex;position:relative;overflow:hidden}.viewfinder{background:var(--cam-viewfinder-bg);border-radius:24px;width:100%;height:100%;position:relative;overflow:hidden}.video-feed{object-fit:cover;width:100%;height:100%;transition:filter .3s}.video-feed.mirrored{transform:scaleX(-1)}.bottom-area{padding-bottom:max(20px, env(safe-area-inset-bottom));background-color:var(--cam-bg);flex-direction:column;flex-shrink:0;display:flex}.action-icons-row{justify-content:space-evenly;align-items:center;padding:24px 16px 32px;display:flex}.icon-btn{color:var(--cam-icon);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;padding:8px;transition:opacity .2s;display:flex;position:relative}.icon-btn:active{opacity:.5}.timer-btn .timer-badge{color:#000;background:#fc0;border-radius:4px;padding:2px 4px;font-size:10px;font-weight:700;position:absolute;top:-8px;right:-8px}.shutter-row{justify-content:space-between;align-items:center;padding:0 32px;display:flex}.shutter-spacer{width:60px}.shutter-btn{background:var(--cam-shutter);border:4px solid var(--cam-bg);width:80px;height:80px;box-shadow:0 0 0 3px var(--cam-shutter);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .1s;display:flex}.shutter-btn:active{transform:scale(.92)}.shutter-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.shutter-inner{background-color:var(--cam-shutter-inner);border-radius:50%;width:70px;height:70px;transition:all .1s}.shutter-btn:active .shutter-inner{background-color:var(--cam-shutter-active)}.gallery-thumbnail-container{justify-content:flex-end;width:60px;display:flex}.thumbnail-btn{background:var(--cam-viewfinder-bg);border:2px solid var(--cam-border);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;padding:0;transition:transform .1s;display:flex;position:relative;overflow:hidden}.thumbnail-btn:active{transform:scale(.9)}.empty-thumbnail{background:var(--cam-viewfinder-bg);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.thumbnail-btn img{object-fit:cover;width:100%;height:100%}
.gallery-container{background-color:var(--cam-bg);height:100%;color:var(--cam-text);flex-direction:column;display:flex;overflow-y:auto}.gallery-header{padding:16px;padding-top:calc(16px + env(safe-area-inset-top));background-color:var(--cam-header);border-bottom:1px solid var(--cam-border);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.gallery-header h2{margin:0;font-size:17px;font-weight:600}.back-btn{color:var(--cam-text);cursor:pointer;background:0 0;border:none;align-items:center;width:80px;padding:0;font-size:17px;display:flex}.back-btn span{margin-left:-4px}.gallery-grid{padding:2px;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.photo-card{aspect-ratio:1;background:var(--cam-viewfinder-bg);cursor:pointer;border:none;padding:0;position:relative;overflow:hidden}.photo-card:after{content:"";background:0 0;transition:background .1s;position:absolute;inset:0}.photo-card:active:after{background:#0000004d}.photo-card img{object-fit:cover;width:100%;height:100%;display:block}.gallery-loading,.gallery-empty{text-align:center;color:var(--cam-text);opacity:.5;padding:3rem 1rem;font-size:15px}.lightbox{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#000000f2;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox-header{padding:16px 24px;padding-top:max(16px, env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex}.lightbox-content{flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.lightbox-img{object-fit:contain;max-width:100%;max-height:100%}.metadata-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:8px;padding:16px 20px;display:flex;position:absolute;bottom:24px;left:24px}.metadata-row{flex-direction:column;display:flex}.metadata-row span{color:#888;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.metadata-row strong{color:#fff;font-size:15px;font-weight:500}.lightbox-footer{padding:24px 32px;padding-bottom:max(24px, env(safe-area-inset-bottom));justify-content:space-between;align-items:center;display:flex}.icon-btn.danger{color:#ff453a}.polaroid-btn{color:#000;cursor:pointer;background:#fc0;border:none;border-radius:30px;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:transform .1s;display:flex}.polaroid-btn:active{transform:scale(.95)}.polaroid-btn:disabled{opacity:.6;transform:none}
.app-layout{color:#fff;background-color:#000;flex-direction:column;width:100vw;height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;overflow:hidden}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}
