@import"https://fonts.googleapis.com/css2?family=Bangers&family=Comic+Neue:wght@700&display=swap";.onboarding-overlay{position:fixed;inset:0;background-color:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.onboarding-container{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.onboarding-skip{position:absolute;top:calc(env(safe-area-inset-top,20px) + 20px);right:20px;background:#fff3;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:14px;cursor:pointer;z-index:10;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .2s ease}@media not all and (display-mode:standalone){.onboarding-skip{top:calc(max(env(safe-area-inset-top,20px),48px) + 20px)}}.onboarding-skip:hover{background:#ffffff4d}.onboarding-skip:active{background:#fff6;transform:scale(.95)}.onboarding-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px 40px;gap:40px}.onboarding-image-container{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:600px;padding:20px}.comic-frame{position:relative;width:100%;height:100%;background:#fff;border:8px solid #000;border-radius:20px;box-shadow:0 0 0 4px #fff,0 8px 20px #00000080;padding:12px;animation:slideIn .3s ease}.onboarding-image{width:100%;height:100%;object-fit:contain;display:block;border-radius:8px}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.speech-bubble{position:absolute;background:#fff;color:#000;padding:12px 20px;border-radius:20px;border:3px solid #000;font-family:Bangers,Comic Neue,cursive,sans-serif;font-size:18px;letter-spacing:.5px;max-width:70%;text-align:center;box-shadow:0 4px 8px #0000004d;z-index:10;white-space:pre-line;line-height:1.3;text-transform:uppercase}.speech-bubble.top-left{top:20px;left:20px;transform:none}.speech-bubble.top-left:before{content:"";position:absolute;bottom:-15px;right:20px;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:15px solid #000}.speech-bubble.top-left:after{content:"";position:absolute;bottom:-10px;right:23px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid white}.speech-bubble.top-right{top:20px;right:20px;transform:none}.speech-bubble.top-right:before{content:"";position:absolute;bottom:-15px;left:20px;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:15px solid #000}.speech-bubble.top-right:after{content:"";position:absolute;bottom:-10px;left:23px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid white}.speech-bubble.bottom-left{bottom:20px;left:20px;transform:none}.speech-bubble.bottom-left:before{content:"";position:absolute;top:-15px;right:20px;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:15px solid #000}.speech-bubble.bottom-left:after{content:"";position:absolute;top:-10px;right:23px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid white}.speech-bubble.bottom-right{bottom:20px;right:20px;transform:none}.speech-bubble.bottom-right:before{content:"";position:absolute;top:-15px;left:20px;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:15px solid #000}.speech-bubble.bottom-right:after{content:"";position:absolute;top:-10px;left:23px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid white}.onboarding-dots{display:flex;gap:8px;align-items:center;justify-content:center}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d;border:none;cursor:pointer;transition:all .3s ease;padding:0}.onboarding-dot.active{width:24px;border-radius:4px;background:#fff}.onboarding-dot:hover{background:#ffffff80}.onboarding-next{width:100%;max-width:300px;padding:16px 32px;background:#fff;color:#000;border:none;border-radius:30px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:env(safe-area-inset-bottom,20px)}.onboarding-next:hover{transform:scale(1.02);box-shadow:0 4px 12px #ffffff4d}.onboarding-next:active{transform:scale(.98)}@media(max-width:768px){.onboarding-content{padding:80px 20px 20px;gap:30px}.onboarding-image-container{max-height:60vh;padding:10px}.speech-bubble{font-size:15px;padding:10px 16px;max-width:75%}.speech-bubble.top-left,.speech-bubble.top-right{top:15px}.speech-bubble.top-left,.speech-bubble.bottom-left{left:15px}.speech-bubble.top-right,.speech-bubble.bottom-right{right:15px}.speech-bubble.bottom-left,.speech-bubble.bottom-right{bottom:15px}.comic-frame{border:6px solid #000;box-shadow:0 0 0 3px #fff,0 6px 15px #00000080;padding:8px}}@media(min-height:900px){.onboarding-image-container{max-height:70vh}}@media(max-height:600px)and (orientation:landscape){.onboarding-content{flex-direction:row;gap:20px;padding:20px}.onboarding-image-container{flex:0 0 50%;max-height:80vh;padding:10px}.onboarding-skip{top:10px}.onboarding-dots{position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.onboarding-next{position:absolute;bottom:60px;left:50%;transform:translate(-50%)}.speech-bubble{font-size:13px;padding:8px 14px;max-width:80%}.speech-bubble.top-left,.speech-bubble.top-right{top:10px}.speech-bubble.top-left,.speech-bubble.bottom-left{left:10px}.speech-bubble.top-right,.speech-bubble.bottom-right{right:10px}.speech-bubble.bottom-left,.speech-bubble.bottom-right{bottom:10px}.comic-frame{border:5px solid #000;box-shadow:0 0 0 2px #fff,0 4px 12px #00000080;padding:6px}}.camera-container{position:relative;width:100%;height:100vh;background:#000;overflow:hidden;touch-action:none;perspective:1000px;padding-top:env(safe-area-inset-top);box-sizing:border-box}@media not all and (display-mode:standalone){.camera-container{padding-top:max(env(safe-area-inset-top),48px)}}@media(display-mode:standalone){.camera-container{padding-bottom:env(safe-area-inset-bottom)}}.camera-video-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1),filter .6s cubic-bezier(.4,0,.2,1);z-index:1}.camera-video-wrapper.switching{transform:rotateY(180deg);filter:blur(20px)}.camera-video{width:100%;height:100%;object-fit:cover}.camera-video.hidden{opacity:0;visibility:hidden}.camera-frozen-frame{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:6;pointer-events:none}.camera-loading-overlay{position:absolute;inset:0;background:#000;z-index:5}.camera-controls{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;gap:12px;padding:20px;padding-bottom:max(30px,env(safe-area-inset-bottom));background:linear-gradient(to top,rgba(0,0,0,.7),transparent);align-items:center;z-index:10}.camera-controls-main{display:flex;justify-content:space-around;align-items:center;width:100%}.camera-button{background:none;border:none;cursor:pointer;padding:0;transition:transform .2s;-webkit-tap-highlight-color:transparent;outline:none;position:relative}.camera-button:active{transform:scale(.95)}.camera-button:focus{outline:none}.camera-button.switch,.camera-button.rotate,.camera-button.draft{width:48px;height:48px;background:#ffffff4d;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.draft-button-wrapper{position:relative;width:48px;height:48px}.camera-button.draft.has-preview{padding:0;background:#ffffffe6}.draft-preview-image{width:100%;height:100%;object-fit:cover;border-radius:50%;animation:fadeIn .3s ease-out}.draft-button-wrapper .progress-ring{position:absolute;top:-4px;left:-4px;width:56px;height:56px;pointer-events:none;z-index:1}.draft-button-wrapper .progress-ring-circle{transform:rotate(-90deg);transform-origin:50% 50%}.camera-button.capture{width:72px;height:72px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d}.camera-button.capture:disabled{opacity:.5;cursor:not-allowed}.camera-button.capture.saving{position:relative}.capture-button-inner{width:60px;height:60px;background:#fff;border:3px solid #000;border-radius:50%;transition:all .3s ease}.camera-button.capture.saving .capture-button-inner{border-color:#64748b}.capture-button-spinner{position:absolute;width:68px;height:68px;border:3px solid transparent;border-top-color:#64748b;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.camera-button.placeholder{width:48px;height:48px}.rotation-indicator{background:#0009;color:#fff;padding:6px 16px;border-radius:16px;font-size:13px;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:6px}.rotation-indicator:before{content:"📐";font-size:14px}.settings-button-overlay{position:absolute;top:calc(env(safe-area-inset-top) + 20px);right:20px;width:36px;height:36px;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;transition:all .2s;-webkit-tap-highlight-color:transparent}@media not all and (display-mode:standalone){.settings-button-overlay{top:calc(max(env(safe-area-inset-top),48px) + 20px)}}.settings-button-overlay:hover{background:#000c;transform:scale(1.05)}.settings-button-overlay:active{transform:scale(.95)}.zoom-indicator{position:absolute;bottom:120px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:6px 16px;border-radius:16px;font-size:13px;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:15;pointer-events:none;animation:zoomFadeIn .2s ease-out}.badge,.draft-button-wrapper .badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:12px;font-weight:600;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px;border:2px solid rgba(255,255,255,.9);z-index:2}.badge.processing,.draft-button-wrapper .badge.processing{animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.camera-flash{position:fixed;inset:0;background:#fff;z-index:9999;animation:flash .2s ease-out;pointer-events:none}@keyframes flash{0%{opacity:1}to{opacity:0}}.camera-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;text-align:center;padding:20px}.camera-error p{margin-bottom:20px;font-size:16px}.retry-button{background:#64748b;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:background .2s}.retry-button:hover{background:#475569}.retry-button:active{transform:scale(.98)}.camera-selector-overlay{position:fixed;inset:0;background:#000000b3;z-index:1000;animation:fadeIn .2s ease-out}.camera-selector-menu{position:absolute;bottom:0;left:50%;transform:translate(-50%);background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:500px;max-height:60vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}.camera-selector-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.camera-selector-header h3{font-size:18px;font-weight:600;color:#333;margin:0}.camera-selector-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1}.camera-selector-list{overflow-y:auto;padding:8px 0}.camera-selector-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;background:none;border:none;cursor:pointer;transition:background .2s;text-align:left;-webkit-tap-highlight-color:transparent}.camera-selector-item:hover{background:#f5f5f5}.camera-selector-item.active{background:#f1f5f9}.camera-info{display:flex;flex-direction:column;gap:4px}.camera-name{font-size:16px;color:#333;font-weight:500}.camera-resolution{font-size:13px;color:#666;font-weight:400}.camera-label-detail{font-size:11px;color:#999;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px}.camera-check{font-size:20px;color:#64748b;font-weight:700}.current-camera-label{position:absolute;top:80px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;pointer-events:none}@keyframes zoomFadeIn{0%{opacity:0;transform:translate(-50%) scale(.8)}to{opacity:1;transform:translate(-50%) scale(1)}}.device-selector-overlay{position:fixed;inset:0;background:#000000b3;z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out;-webkit-tap-highlight-color:transparent}.device-selector-modal{background:#fff;border-radius:16px;width:90%;max-width:400px;max-height:70vh;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.device-selector-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;flex-shrink:0}.device-selector-header h3{font-size:18px;font-weight:600;color:#333;margin:0}.device-selector-close{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;-webkit-tap-highlight-color:transparent;transition:transform .2s}.device-selector-close:active{transform:scale(.9)}.device-selector-list{overflow-y:auto;padding:8px 0;flex:1}.device-selector-item{display:flex;align-items:center;width:100%;padding:16px 20px;background:none;border:none;cursor:pointer;transition:background .2s;text-align:left;-webkit-tap-highlight-color:transparent;gap:12px}.device-selector-item:hover{background:#f5f5f5}.device-selector-item:active{background:#e8e8e8}.device-selector-item.active{background:#f1f5f9}.device-selector-item-icon{font-size:32px;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:50%}.device-selector-item.active .device-selector-item-icon{background:#cbd5e1}.device-selector-item-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.device-selector-item-label{font-size:15px;color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-selector-item-facing{font-size:13px;color:#666;font-weight:400}.device-selector-item-check{font-size:20px;color:#64748b;font-weight:700;flex-shrink:0}.pwa-actions{display:flex;flex-direction:column;gap:12px;width:100%}.pwa-actions.modal-pwa-actions-inline{flex-direction:row;flex:1}.pwa-actions.modal-pwa-actions-inline .pwa-action-btn{flex:1}.pwa-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}.pwa-action-btn:disabled{opacity:.6;cursor:not-allowed}.download-btn{background:#64748b;color:#fff}.download-btn:hover:not(:disabled){background:#475569;transform:scale(1.02)}.download-btn:active:not(:disabled){transform:scale(.98)}.share-btn{background:#10b981;color:#fff}.share-btn:hover:not(:disabled){background:#059669;transform:scale(1.02)}.share-btn:active:not(:disabled){transform:scale(.98)}.pwa-hint{padding:12px;background:#8e8e931f;border-radius:8px;font-size:13px;color:#8e8e93;text-align:center;line-height:1.4}.ios-hint{margin-top:8px}@media(prefers-color-scheme:dark){.download-btn{background:#64748b}.download-btn:hover:not(:disabled){background:#475569}.share-btn{background:#10b981}.share-btn:hover:not(:disabled){background:#059669}.pwa-hint{background:#8e8e932e;color:#98989d}}@media(max-width:768px){.pwa-actions{gap:10px}.pwa-action-btn{padding:12px 20px;font-size:15px}.pwa-hint{font-size:12px;padding:10px}}@media(max-width:480px){.pwa-actions.modal-pwa-actions-inline .pwa-action-btn span{display:none}.pwa-actions.modal-pwa-actions-inline .pwa-action-btn{padding:12px;min-width:48px}}.draft-box-container{position:fixed;inset:0;background:#fff;z-index:1000;display:flex;flex-direction:column}.lazy-image-wrapper{width:100%;position:relative}.image-skeleton{width:100%;background:linear-gradient(90deg,#f0f0f0,#e8e8e8 20% 40%,#f0f0f0);background-size:200% 100%;animation:skeletonLoading 1.5s ease-in-out infinite;border-radius:8px}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}.draft-box-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;padding-top:max(16px,env(safe-area-inset-top));border-bottom:1px solid #e0e0e0;background:#fff;position:sticky;top:0;z-index:10}@media not all and (display-mode:standalone){.draft-box-header{padding-top:max(max(16px,env(safe-area-inset-top)),48px)}}.draft-box-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.header-actions{display:flex;align-items:center;gap:12px}.upload-button{background:transparent;color:#64748b;border:none;padding:8px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,transform .1s;display:flex;align-items:center;gap:6px}.upload-button:hover{background:#64748b1a}@media(max-width:768px){.upload-button .button-text{display:none}.upload-button{padding:8px;min-width:40px;min-height:40px}}.upload-button:active{transform:scale(.95)}.upload-button svg{stroke:currentColor}.clear-all-button{background:transparent;color:#dc2626;border:none;padding:8px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,transform .1s}.clear-all-button:hover{background:#dc26261a}.clear-all-button:active{transform:scale(.95)}.close-button{background:none;border:none;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s,transform .1s}.close-button svg{stroke:#333;transition:stroke .2s}.close-button:hover{background:#f0f0f0}.close-button:hover svg{stroke:#000}.close-button:active{transform:scale(.95)}.draft-box-content{flex:1;overflow-y:auto;overflow-x:hidden;position:relative}.masonry-container{display:flex;gap:4px;padding:16px;box-sizing:border-box}.masonry-column{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999;text-align:center}.spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#007aff;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state svg{color:#ddd;margin-bottom:16px}.empty-state p{margin:8px 0;font-size:18px;color:#666}.empty-state small{color:#999;font-size:14px}@media(min-width:768px){.masonry-container{padding:20px;gap:8px}.masonry-column{gap:8px}}.draft-item{background:transparent;border-radius:8px;overflow:hidden;cursor:pointer;transition:opacity .2s;box-sizing:border-box;width:100%}.draft-item:hover{opacity:.9}.draft-item.processing{cursor:default}.draft-item.processing:hover{opacity:1}.draft-item.failed{cursor:pointer}.draft-item.failed:hover{opacity:.9}.draft-image-container{position:relative;width:100%;background:#f5f5f5;overflow:hidden;border-radius:8px;box-sizing:border-box;line-height:0}.draft-image{width:100%;height:auto;display:block}.image-compare-container{position:relative;width:100%;height:100%;overflow:hidden;cursor:ew-resize;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;display:flex;align-items:center;justify-content:center}.compare-image{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:none;-webkit-user-drag:none}.compare-before{position:relative;display:flex;width:100%;height:100%;align-items:center;justify-content:center}.compare-after-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.compare-after{width:100%;height:100%;object-fit:contain;object-position:center center}.compare-slider{position:absolute;top:0;bottom:0;width:2px;background:#fff;cursor:ew-resize;transform:translate(-50%);z-index:10;box-shadow:0 0 6px #0006}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border-radius:4px;padding:4px;box-shadow:0 2px 6px #0000004d;display:flex;align-items:center;justify-content:center;cursor:ew-resize}.left-arrow{right:6px}.right-arrow{left:6px}.slider-arrow svg{display:block;stroke:#333}.processing-overlay,.status-overlay{position:absolute;inset:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.progress-ring{position:relative;margin-bottom:12px}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;font-weight:600}.processing-overlay p,.status-overlay p{margin:8px 0 0;font-size:14px}.status-overlay.failed svg{margin-bottom:8px}.warning-badge{position:absolute;bottom:8px;right:8px;background:#ef4444f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #ef444466;z-index:5}.warning-badge svg{stroke:#fff;fill:none}.status-badge{position:absolute;top:8px;right:8px;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px}.status-badge.completed{background:#10b981;color:#fff}.status-badge.failed{background:#ef4444;color:#fff}.modal-overlay{position:fixed;inset:0;background:#000000e6;z-index:2000;padding:20px;animation:fadeIn .2s ease-out}.modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;height:90vh;display:flex;flex-direction:column;gap:16px;animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 20px))}to{opacity:1;transform:translate(-50%,-50%)}}.modal-close-button{position:absolute;top:20px;right:20px;background:#ffffff1a;border:none;padding:8px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10}.modal-close-button:hover{background:#fff3}.modal-close-button svg{stroke:#fff}.modal-compare-container{background:transparent;overflow:hidden;flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.modal-actions{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:0 20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.modal-pwa-actions{width:100%}.modal-original-actions{display:flex;gap:12px;width:100%}.modal-unified-actions{display:flex;gap:8px;width:100%;align-items:stretch}.modal-pwa-actions-inline{flex:1;display:flex}.modal-unified-actions .modal-save-button,.modal-unified-actions .modal-delete-button{flex:1;padding:12px 16px;font-size:15px;justify-content:center}@media(max-width:480px){.modal-unified-actions .button-text{display:none}.modal-unified-actions .modal-save-button,.modal-unified-actions .modal-delete-button{padding:12px;min-width:48px}}.modal-delete-button{background:#dc2626;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s,transform .1s}.modal-delete-button:hover{background:#b91c1c}.modal-delete-button:active{transform:scale(.95)}.modal-delete-button svg{stroke:#fff}.modal-save-button{background:#10b981;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s,transform .1s}.modal-save-button:hover{background:#059669}.modal-save-button:active{transform:scale(.95)}.modal-save-button svg{stroke:#fff}.failed-image-container{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.failed-image-wrapper{flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0}.failed-image{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain;border-radius:8px;box-shadow:0 4px 16px #0000004d}.failed-message{display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;padding:0 20px}.failed-message svg{stroke:#ef4444;fill:none;margin-bottom:12px}.failed-message h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#fff}.failed-message p{margin:0;font-size:14px;color:#fffc;max-width:400px}.pwa-install-prompt{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-end;justify-content:center;padding:0}.prompt-overlay{position:absolute;inset:0;background:#0009;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fadeIn .3s ease-out}.prompt-content{position:relative;width:100%;max-width:500px;background:#fff;border-radius:20px 20px 0 0;padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));animation:slideUp .4s cubic-bezier(.16,1,.3,1);box-shadow:0 -10px 40px #0000004d}.prompt-close{position:absolute;top:16px;right:16px;background:#8e8e931f;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#8e8e93}.prompt-close:hover{background:#8e8e9333}.prompt-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.prompt-icon{width:64px;height:64px;border-radius:16px;box-shadow:0 4px 16px #00000026}.prompt-header h3{margin:0;font-size:22px;font-weight:700;color:#000;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}.prompt-body{margin-bottom:20px}.prompt-body p{margin:0 0 16px;font-size:15px;line-height:1.5;color:#3c3c43;text-align:center}.ios-steps{display:flex;flex-direction:column;gap:12px;margin:20px 0}.ios-step{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f2f2f7;border-radius:12px}.step-number{flex-shrink:0;width:28px;height:28px;background:#64748b;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.step-text{flex:1;font-size:14px;line-height:28px;color:#1c1c1e;display:flex;align-items:center;gap:6px}.inline-icon{display:inline;vertical-align:middle}.ios-hint{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:#64748b;color:#fff;border-radius:12px;font-size:15px;font-weight:600;margin-top:16px}.android-benefits{list-style:none;padding:0;margin:16px 0}.android-benefits li{padding:12px 0 12px 28px;position:relative;font-size:15px;line-height:1.5;color:#3c3c43}.android-benefits li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700;font-size:18px}.prompt-actions{display:flex;flex-direction:column;gap:10px}.prompt-install{width:100%;padding:16px;background:#64748b;color:#fff;border:none;border-radius:12px;font-size:17px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.prompt-install:hover{background:#475569;transform:scale(1.02)}.prompt-install:active{transform:scale(.98)}.prompt-dismiss{width:100%;padding:14px;background:transparent;color:#64748b;border:none;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.prompt-dismiss:hover{background:#64748b14}@media(prefers-color-scheme:dark){.prompt-content{background:#1c1c1e}.prompt-header h3{color:#fff}.prompt-body p{color:#ebebf5}.ios-step{background:#2c2c2e}.step-text,.android-benefits li{color:#ebebf5}.prompt-close{background:#8e8e933d;color:#98989d}.prompt-close:hover{background:#8e8e935c}.prompt-dismiss{color:#94a3b8}.prompt-dismiss:hover{background:#94a3b826}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(min-width:769px){.pwa-install-prompt{align-items:center}.prompt-content{border-radius:20px;max-width:400px}.prompt-icon{width:80px;height:80px}}.legal-page{position:fixed;inset:0;background:linear-gradient(135deg,#1a1a2e,#16213e);z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch}.legal-page-container{max-width:800px;margin:0 auto;padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:80px}@media not all and (display-mode:standalone){.legal-page-container{padding-top:max(max(20px,env(safe-area-inset-top)),48px)}}.legal-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1)}.legal-page-header h1{font-size:28px;font-weight:600;color:#fff;margin:0}.legal-back-button{background:#ffffff1a;border:none;border-radius:12px;padding:10px 16px;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.legal-back-button:hover{background:#fff3;transform:translate(-5px)}.legal-back-button svg{width:16px;height:16px}.legal-content{background:#ffffff0d;border-radius:16px;padding:30px;color:#ffffffe6;line-height:1.8}.legal-content h2{font-size:22px;font-weight:600;color:#fff;margin-top:30px;margin-bottom:15px}.legal-content h2:first-child{margin-top:0}.legal-content h3{font-size:18px;font-weight:500;color:#fff;margin-top:25px;margin-bottom:12px}.legal-content p{margin-bottom:15px;font-size:15px;color:#ffffffd9}.legal-content ul,.legal-content ol{margin-bottom:15px;padding-left:25px}.legal-content li{margin-bottom:10px;font-size:15px;color:#ffffffd9}.legal-content strong{color:#fff;font-weight:600}.legal-content a{color:#007aff;text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-last-updated{font-size:13px;color:#ffffff80;margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.legal-highlight{background:#007aff1a;padding:20px;border-radius:12px;border-left:4px solid #007AFF;margin:20px 0}.support-contact-box{background:#007aff1a;padding:25px;border-radius:16px;margin:25px 0;border:1px solid rgba(0,122,255,.2)}.support-contact-box h3{margin-top:0;color:#007aff}.support-contact-item{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff0d;border-radius:8px;margin-bottom:10px}.support-contact-item svg{width:20px;height:20px;color:#007aff}.support-contact-item a{color:#fff;word-break:break-all}@media(max-width:768px){.legal-page-container{padding:15px}.legal-page-header h1{font-size:22px}.legal-content{padding:20px}.legal-content h2{font-size:20px}.legal-content h3{font-size:16px}}.ios-settings-container{position:fixed;inset:0;background:#f2f2f7;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.ios-settings-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:44px;margin-top:env(safe-area-inset-top);background:#f9f9f9;border-bottom:.5px solid rgba(0,0,0,.1)}@media not all and (display-mode:standalone){.ios-settings-header{margin-top:max(env(safe-area-inset-top),48px)}}.ios-back-button{background:none;border:none;color:#64748b;padding:8px;margin-left:-8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s;-webkit-tap-highlight-color:transparent}.ios-back-button:active{opacity:.5}.ios-settings-header h1{font-size:17px;font-weight:600;color:#000;margin:0;flex:1;text-align:center;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}.ios-header-spacer{width:40px}.ios-settings-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(20px,env(safe-area-inset-bottom))}.ios-settings-group{margin-top:35px}.ios-settings-group:first-child{margin-top:20px}.ios-group-header{font-size:13px;font-weight:400;color:#6d6d72;text-transform:uppercase;padding:0 16px;margin-bottom:8px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}.ios-settings-list{background:#fff;border-top:.5px solid rgba(60,60,67,.18);border-bottom:.5px solid rgba(60,60,67,.18)}.ios-list-item{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;min-height:44px;background:#fff;border:none;border-bottom:.5px solid rgba(60,60,67,.18);width:100%;text-align:left;cursor:pointer;transition:background-color .2s;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}.ios-list-item:last-child{border-bottom:none}.ios-list-item:active{background-color:#d9d9d9}.ios-list-label{font-size:17px;color:#000;flex:1}.ios-checkmark{color:#64748b;flex-shrink:0;margin-left:12px}.ios-chevron{color:#c7c7cc;flex-shrink:0;margin-left:12px}.ios-list-item.active .ios-list-label{font-weight:500}@media(prefers-color-scheme:dark){.ios-settings-container{background:#000}.ios-settings-header{background:#1c1c1e;border-bottom-color:#ffffff1a}.ios-settings-header h1{color:#fff}.ios-group-header{color:#98989e}.ios-settings-list{background:#1c1c1e;border-top-color:#ffffff1a;border-bottom-color:#ffffff1a}.ios-list-item{background:#1c1c1e;border-bottom-color:#ffffff1a}.ios-list-item:active{background-color:#2c2c2e}.ios-list-label{color:#fff}.ios-chevron{color:#48484a}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ios-settings-container{animation:fadeIn .2s ease-out}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.app{width:100vw;height:100vh;position:relative;overflow:hidden}.app-header{position:absolute;top:0;left:0;right:0;z-index:100;display:flex;justify-content:center;align-items:center;padding:16px 20px;padding-top:max(16px,env(safe-area-inset-top));background:linear-gradient(to bottom,rgba(0,0,0,.5),transparent)}@media not all and (display-mode:standalone){.app-header{padding-top:max(max(16px,env(safe-area-inset-top)),48px)}}.app-header h1{font-size:20px;font-weight:600;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);flex:1;text-align:center}.draft-button{position:absolute;right:20px;width:48px;height:48px;background:#ffffff4d;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:background .2s,transform .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.draft-button:hover{background:#fff6}.draft-button:active{transform:scale(.95)}.badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:12px;font-weight:600;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px;border:2px solid white}.photo-notification{position:fixed;bottom:120px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:12px 24px;border-radius:24px;font-size:14px;font-weight:500;z-index:10000;animation:slideUp .3s ease-out,fadeOut .3s ease-in 1.7s;pointer-events:none;display:flex;align-items:center;gap:8px}.photo-notification.saving{background:#2196f3e6;animation:slideUp .3s ease-out}.photo-notification.success{background:#4caf50e6}.photo-notification.error{background:#f44336e6}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}
