body{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#000;font-family:Arial,sans-serif}.app-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:1300px;padding:0 20px;box-sizing:border-box}.camera-container{position:relative;width:100%;max-width:1300px;border-radius:24px;overflow:hidden;box-shadow:0 8px 16px #0000004d;background-color:#000;display:flex;justify-content:center;align-items:center}.camera-container.desktop{aspect-ratio:16/9}.camera-container.mobile{aspect-ratio:9/16!important;max-width:500px;width:100%;min-height:70vh}.camera-container.android-device{aspect-ratio:9/16!important;box-sizing:border-box!important;margin:0 auto!important}.camera-container video{width:100%;height:100%;object-fit:cover}#canvas{width:100%;height:100%;object-fit:cover!important;border-radius:24px;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;max-width:100%!important;max-height:100%!important}canvas.camerakit-canvas{object-fit:cover!important}.controls{position:absolute;bottom:20px;left:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:10}.loading-indicator{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:20;color:#fff;font-size:18px}.spinner{width:50px;height:50px;border:5px solid rgba(255,252,0,.3);border-radius:50%;border-top-color:#fffc00;animation:spin 1s ease-in-out infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#ff4d4d;text-align:center;max-width:80%}.capture-controls{display:flex;align-items:center;justify-content:center;margin-bottom:5px;width:100%;position:relative}.capture-button{width:70px;height:70px;border-radius:50%;background-color:#fff;border:4px solid rgba(255,255,255,.5);cursor:pointer;transition:all .2s ease;display:flex;justify-content:center;align-items:center}.capture-button:hover{transform:scale(1.05)}.capture-button:active{transform:scale(.95);background-color:#f0f0f0}.capture-button.recording{background-color:#ff4d4d;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.mode-switch{display:flex;background-color:#00000080;border-radius:20px;padding:5px;z-index:10;margin-top:3px}.mode-option{padding:8px 15px;border-radius:15px;color:#fff;cursor:pointer;font-size:14px;transition:all .2s ease}.mode-option.active{background-color:#fff;color:#000}.camera-flip{width:40px;height:40px;background-color:#00000080;color:#fff;border:none;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s ease;position:absolute;right:40%}.camera-flip:hover{background-color:#000000b3;transform:scale(1.1)}.preview-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000e6;z-index:30;display:flex;flex-direction:column;justify-content:center;align-items:center;display:none}.preview-content{width:90%;height:90%;max-width:90%;max-height:90%;object-fit:cover;border-radius:12px}.preview-container .preview-content{aspect-ratio:auto}.preview-controls{margin-top:20px;display:flex;gap:15px}.preview-button{padding:10px 20px;border-radius:20px;border:none;font-weight:700;cursor:pointer;transition:all .2s ease}.download-button{background-color:#4caf50;color:#fff}.close-button{background-color:#f44336;color:#fff}.powered-by{width:100%;display:flex;justify-content:center;align-items:center;color:#fff;font-size:12px;gap:5px;margin-top:20px;margin-bottom:20px;z-index:5;position:relative}.snapchat-logo{height:20px;margin-left:5px}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.capture-button,.camera-flip,.preview-button{transform:translateZ(0);will-change:transform}@media (orientation: portrait){.camera-container.mobile{aspect-ratio:9/16!important;height:auto;min-height:80vh;width:100%}.preview-content{max-height:80%;width:auto}}@media (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2){.camera-container.mobile{aspect-ratio:9/16!important;height:80vh!important;max-width:100%;width:auto!important}}@media (orientation: landscape){.camera-container.mobile{aspect-ratio:16/9;width:90%;max-width:900px}.preview-content{max-width:80%;height:auto}}@media (max-height: 700px){.camera-container{margin:15px auto 0}.controls{bottom:15px;gap:6px}.capture-button{width:60px;height:60px}.camera-flip{width:35px;height:35px;right:33%}.powered-by{margin-top:15px;margin-bottom:15px}}@media (max-width: 600px){.app-container{padding:0 10px}.camera-container{width:100%;margin:15px auto 0}.capture-controls{margin-bottom:3px}.camera-flip{width:35px;height:35px;right:30%}}
