.camera-page{min-height:100vh;background:#f5f5f5;display:flex;flex-direction:column}.camera-capture-overlay{position:fixed;inset:0;background:#000000fa;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.camera-capture-container{width:100%;max-width:600px;height:100%;max-height:90vh;display:flex;flex-direction:column;position:relative;background:#1a1a1a;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #00000080}@media(max-width:640px){.camera-capture-container{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:0;max-width:100%}}.camera-video{width:100%;height:100%;object-fit:cover;background:#000}.camera-controls{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);display:flex;justify-content:center;align-items:center;gap:2rem}.capture-btn.photo-btn{width:80px;height:80px;border-radius:50%;background:#fff;border:4px solid #fff;box-shadow:0 0 0 4px #fff3;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:28px;min-width:80px;min-height:80px}.capture-btn.photo-btn:hover{transform:scale(1.1);box-shadow:0 0 0 6px #ffffff4d}.capture-btn.photo-btn:active{transform:scale(.95)}.cancel-btn{position:absolute;top:1rem;left:1rem;background:#ffffff1a;color:#fff;border:none;padding:12px 20px;min-height:48px;border-radius:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:all .3s ease;font-size:16px}.cancel-btn:hover{background:#fff3}.camera-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#fff;padding:2rem}.fallback-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.camera-fallback h3{font-size:1.5rem;margin-bottom:.5rem}.camera-fallback p{margin-bottom:2rem;font-size:1rem;opacity:.8;max-width:300px}.camera-fallback .capture-btn{background:#10b981;color:#fff;border:none;padding:1rem 2.5rem;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.camera-fallback .capture-btn:hover{background:#059669;transform:translateY(-2px);box-shadow:0 10px 30px #10b9814d}.capture-label{position:absolute;top:2rem;left:50%;transform:translate(-50%);text-align:center;color:#fff;z-index:10;background:#000000b3;padding:1rem 2rem;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.capture-label h3{font-size:1.25rem;margin-bottom:.25rem}.capture-label p{font-size:.875rem;opacity:.9}.captured-preview{width:100%;height:100%;object-fit:contain;background:#000}.preview-controls{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);display:flex;gap:1rem;justify-content:center}.retake-btn,.confirm-btn{padding:1rem 2.5rem;border-radius:25px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.retake-btn{background:#ffffff1a;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.confirm-btn{background:#10b981;color:#fff}.retake-btn:hover{background:#fff3;transform:translateY(-2px)}.confirm-btn:hover{background:#059669;transform:translateY(-2px);box-shadow:0 10px 30px #10b9814d}.camera-view{flex:1;position:relative;background:#f5f5f5;display:flex;flex-direction:column;overflow:hidden}.capture-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e0e0;z-index:10}.back-button{width:48px;height:48px;border-radius:24px;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#333;min-width:48px;min-height:48px}.back-button:hover{background:#f0f0f0}.gps-badge{background:#4caf50;color:#fff;padding:8px 16px;border-radius:16px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px}.capture-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;padding:48px;width:100%;max-width:480px;text-align:center}.capture-title{font-size:28px;font-weight:700;color:#333;margin:0}.capture-subtitle{font-size:16px;color:#666;margin:0;line-height:1.5}.capture-actions{display:flex;flex-direction:column;align-items:center;gap:32px;margin-top:24px}.camera-button{width:88px;height:88px;border-radius:50%;background:#6366f1;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #6366f14d;color:#fff;min-width:88px;min-height:88px;font-size:32px}.camera-button:hover{transform:scale(1.05);box-shadow:0 6px 20px #6366f166}.camera-button:active{transform:scale(.95)}.button-group{display:flex;flex-direction:column;gap:12px;width:100%}.action-button.primary{background:#6366f1;color:#fff}.action-button.primary:hover{background:#5558e3;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.action-button.secondary{background:#fff;color:#6366f1;border:2px solid #e0e0e0}.action-button.secondary:hover{border-color:#6366f1;background:#f8f9ff}.camera-header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:1.5rem;z-index:10}.timer{background:#ffffffe6;color:#1f2937;padding:.5rem 1rem;border-radius:2rem;font-weight:700}.camera-content{text-align:center;color:#fff;z-index:5;padding:2rem}.camera-content h2{font-size:2rem;margin-bottom:.5rem;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.3)}.camera-content p{color:#ffffffe6;font-size:1rem;line-height:1.5;text-shadow:0 1px 5px rgba(0,0,0,.3)}.viewfinder-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none}.grid-cell{border:1px solid rgba(255,255,255,.2)}.recording-view{text-align:center;color:#fff}.recording-indicator{width:5rem;height:5rem;background:#ef4444;border-radius:50%;margin:0 auto 1rem;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}.recording-view h2{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.recording-view p{color:#9ca3af;font-size:.875rem}.success-view{text-align:center;color:#fff;animation:zoomIn .5s ease-out}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.success-icon{font-size:5rem;margin-bottom:1rem}.success-view h2{font-size:2rem;font-weight:700;margin-bottom:.5rem}.points-earned{font-size:1.125rem;color:#10b981;margin-bottom:.5rem}.success-message{color:#9ca3af;font-size:.875rem}.camera-controls{position:absolute;bottom:50%;left:50%;transform:translate(-50%,50%);display:flex;justify-content:center;align-items:center;z-index:10}.capture-buttons{display:flex;justify-content:center;align-items:center;gap:2rem;margin-bottom:1.5rem}.capture-btn{border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.capture-btn:hover{transform:scale(1.1)}.capture-button{width:90px;height:90px;min-width:90px;min-height:90px;border-radius:50%;background:transparent;border:6px solid rgba(255,255,255,.8);cursor:pointer;position:relative;transition:all .2s ease;padding:0;overflow:hidden}.capture-button:before{content:"";position:absolute;inset:3px;border-radius:50%;border:2px solid rgba(255,255,255,.5)}.capture-inner{width:70px;height:70px;border-radius:50%;background:#ffffffe6;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:all .2s ease}.capture-button:hover{border-color:#fff}.capture-button:hover .capture-inner{background:#fff;transform:translate(-50%,-50%) scale(.95)}.capture-button:active .capture-inner{transform:translate(-50%,-50%) scale(.85);background:#fffc}.submit-controls{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);z-index:10}.video-btn{width:6rem;height:6rem;background:#ef4444;box-shadow:0 10px 15px -3px #ef444466}.capture-btn .btn-icon{font-size:2rem}.video-btn .btn-icon{font-size:2.5rem}.capture-info{display:flex;justify-content:space-around;margin-bottom:1rem}.info-item{text-align:center;color:#fff;font-size:.875rem;display:flex;flex-direction:column;gap:.25rem}.info-icon{font-size:1.25rem;margin-bottom:.25rem}.info-item .points{color:#10b981;font-weight:500}.cancel-btn{width:100%;background:#374151;color:#fff;padding:.75rem;border:none;border-radius:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#4b5563}.capture-options{min-height:100vh;background:linear-gradient(to bottom,#111827,#000);padding:1.5rem;display:flex;flex-direction:column}.options-header{text-align:center;color:#fff;margin-bottom:3rem}.back-btn{background:none;border:none;color:#fff;font-size:1rem;margin-bottom:1rem;cursor:pointer;opacity:.9;transition:opacity .2s;display:block;text-align:left;width:100%;padding:0}.back-btn:hover{opacity:1}.options-header h2{font-size:2rem;font-weight:700;margin-bottom:.5rem}.options-header p{color:#9ca3af;font-size:1rem}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:900px;margin:0 auto;width:100%;flex:1;align-content:center}.option-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:1.5rem;padding:2.5rem;text-align:center;cursor:pointer;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff}.option-card:hover{background:#ffffff1a;border-color:#10b981;transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000004d}.option-icon{font-size:4rem;margin-bottom:1.5rem;display:block;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.option-card h3{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.option-card p{color:#9ca3af;margin-bottom:1.5rem;font-size:.875rem}.points-info{background:linear-gradient(to right,#10b981,#059669);color:#fff;padding:.5rem 1.5rem;border-radius:2rem;font-weight:600;display:inline-block}.upload-note{text-align:center;color:#9ca3af;font-size:.875rem;margin-top:2rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.note-icon{font-size:1rem}.dark-mode .capture-options{background:linear-gradient(to bottom,var(--bg-primary),var(--bg-secondary))}.dark-mode .option-card{background:#37415180;border-color:var(--border-color)}.dark-mode .option-card:hover{background:#4b5563b3}@media(max-width:768px){.capture-card{padding:32px 24px;margin:0 16px}.capture-title{font-size:24px}.capture-subtitle{font-size:16px}.camera-button{width:80px;height:80px;min-width:80px;min-height:80px}.action-button{font-size:16px;padding:16px 24px;min-height:48px}}@media(min-width:768px){.camera-page{max-width:1024px;margin:0 auto}.camera-controls{max-width:500px;margin:0 auto;padding:2rem}}@media(min-width:1024px){.camera-page{max-width:1024px;display:flex;align-items:center;justify-content:center;padding:2rem}.camera-view{width:100%;max-width:600px;height:600px}}@media(max-width:640px){.options-grid{grid-template-columns:1fr;gap:1rem}.option-card{padding:2rem}.option-icon{font-size:3rem;margin-bottom:1rem}.option-card h3{font-size:1.25rem}.step-indicator{background:#ffffffe6;color:#1f2937;padding:.5rem 1rem;border-radius:2rem;font-weight:700}.preview-container{text-align:center;color:#fff;padding:2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;margin:1rem}.preview-container h2{font-size:1.75rem;margin-bottom:2rem;font-weight:600}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:600px;margin:0 auto}@media(max-width:480px){.preview-grid{grid-template-columns:1fr;gap:.75rem}}.preview-image{position:relative}.preview-label{position:absolute;top:1rem;left:1rem;background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:2rem;font-size:.875rem;font-weight:600}.image-placeholder{width:100%;height:200px;min-height:150px;background:#ffffff1a;border:2px dashed rgba(255,255,255,.3);border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:3rem}.image-placeholder{height:150px;font-size:2.5rem}.video-mode{position:relative}.video-timeline{position:absolute;bottom:0;left:0;right:0;height:4px;background:#fff3}.timeline-progress{height:100%;background:#ef4444;transition:width .5s linear}.recording-controls{display:flex;gap:2rem;justify-content:center}.pause-btn,.stop-btn{width:3rem;height:3rem;min-width:48px;min-height:48px;border-radius:50%;border:none;background:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.pause-btn:hover,.stop-btn:hover{transform:scale(1.1)}.recording-indicator.paused{animation-play-state:paused}.submit-btn{background:linear-gradient(to right,#10b981,#059669);color:#fff;padding:1.25rem 3rem;border:none;border-radius:30px;font-weight:700;font-size:1.125rem;cursor:pointer;transition:all .2s;box-shadow:0 10px 30px #10b9814d}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 15px 40px #10b98166}.comparison-slider{width:100%;max-width:600px;margin:0 auto}.comparison-images{position:relative;width:100%;height:400px;max-height:50vh;border-radius:1rem;overflow:hidden;cursor:col-resize}.before-image,.after-image{position:absolute;top:0;left:0;width:100%;height:100%}.before-image{z-index:2}.after-image{z-index:1}.image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:600}.image-placeholder.before{background:linear-gradient(135deg,#6b7280,#374151)}.image-placeholder.after{background:linear-gradient(135deg,#10b981,#059669)}.placeholder-icon{font-size:5rem;margin-bottom:1rem;opacity:.8}.slider-handle{position:absolute;top:0;bottom:0;width:4px;background:#fff;cursor:col-resize;z-index:3;transition:opacity .2s}.slider-handle:hover{opacity:.8}.slider-line{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:4px;background:#fff;box-shadow:0 0 10px #00000080}.slider-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px;box-shadow:0 4px 6px -1px #0000001a;min-width:48px;min-height:48px}.slider-button span{font-size:.75rem;color:#374151}.comparison-hint{text-align:center;color:#9ca3af;margin-top:1rem;font-size:.875rem}.submit-form{padding:1.5rem;background:var(--bg-secondary);border-radius:1rem;margin-top:1.5rem}.input-group{margin-bottom:1rem}.input-group:last-child{margin-bottom:0}.input-group label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;text-align:left}.form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:.5rem;background:var(--bg-primary);color:var(--text-primary);font-size:1rem;transition:all .2s}.form-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form-input::placeholder{color:var(--text-secondary);opacity:.7}textarea.form-input{resize:vertical;min-height:80px}.submit-controls{display:flex;gap:1rem;padding:1.5rem}.submit-btn{flex:1;background:linear-gradient(to right,#10b981,#059669);color:#fff;padding:1rem 2rem;border:none;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px #10b9814d}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.comparison-images{height:300px;max-height:40vh}.placeholder-icon{font-size:3.5rem}.camera-capture-overlay{padding:0}.camera-controls,.preview-controls{padding:1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.camera-header{padding:1rem}.gps-badge{font-size:.75rem;padding:.375rem .75rem}.timer{font-size:.875rem;padding:.375rem .75rem}.camera-icon{font-size:4rem}.camera-content h2{font-size:1.125rem}.recording-indicator{width:4rem;height:4rem}.success-icon{font-size:4rem}.success-view h2{font-size:1.75rem}}@media(hover:none)and (pointer:coarse){.capture-btn{-webkit-tap-highlight-color:transparent}.capture-btn:active{transform:scale(.95)}.cancel-btn:active{transform:scale(.98)}}.comparison-slider{width:100%;max-width:800px;margin:0 auto}.comparison-container{position:relative;width:100%;height:500px;border-radius:12px;overflow:hidden;cursor:col-resize;user-select:none;-webkit-user-select:none;touch-action:none}.comparison-image{position:absolute;top:0;left:0;width:100%;height:100%}.comparison-image img{width:100%;height:100%;object-fit:cover;display:block}.before-image{z-index:2}.after-image{z-index:1}.image-label{position:absolute;top:16px;padding:8px 16px;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border-radius:20px;font-weight:600;font-size:14px;pointer-events:none}.before-label{left:16px}.after-label{right:16px}.slider-line{position:absolute;top:0;bottom:0;width:3px;background:#fff;z-index:3;cursor:col-resize;transform:translate(-50%);box-shadow:0 0 10px #00000080}.slider-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;transition:transform .2s ease}.slider-handle:hover{transform:translate(-50%,-50%) scale(1.1)}.comparison-hint{text-align:center;margin-top:16px;color:var(--text-secondary);font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}body.dark-mode .image-label{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body.dark-mode .slider-line{box-shadow:0 0 15px #fff3}@media(max-width:768px){.comparison-container{height:350px}.image-label{font-size:12px;padding:6px 12px}.slider-handle{width:36px;height:36px}}.comparison-slider img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;pointer-events:none}.camera-page{min-height:100vh;background:var(--background-color);display:flex;flex-direction:column;color:var(--text-color)}.camera-container{min-height:100vh;background:var(--background-color);display:flex;align-items:center;justify-content:center;padding:24px;color:var(--text-color)}.camera-card,.cleaning-card,.posting-card,.success-card{background:var(--card-background);border-radius:16px;box-shadow:var(--shadow-color) 0 4px 24px;padding:48px;width:100%;max-width:480px;text-align:center;border:1px solid var(--border-color)}.camera-title{font-size:28px;font-weight:700;color:var(--text-color);margin:0 0 8px}.camera-subtitle{font-size:16px;color:var(--text-secondary);margin:0 0 32px;line-height:1.5}.location-input-group{margin-bottom:32px}.location-input{width:100%;padding:14px 20px;font-size:16px;border:2px solid var(--border-color);border-radius:12px;background:var(--background-color);color:var(--text-color);transition:all .2s ease}.location-input:focus{outline:none;border-color:var(--primary-color)}.gps-status{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--secondary-color);font-size:14px}.camera-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--card-background);border-bottom:1px solid var(--border-color)}.camera-header h2{font-size:20px;font-weight:600;margin:0}.back-button{width:40px;height:40px;border-radius:20px;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-color)}.back-button:hover{background:var(--border-color)}.progress-indicator{background:var(--primary-color);color:#fff;padding:6px 16px;border-radius:16px;font-size:14px;font-weight:500}.capture-container{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.capture-card{background:var(--card-background);border-radius:16px;box-shadow:var(--shadow-color) 0 4px 24px;padding:48px;width:100%;max-width:480px;text-align:center;border:1px solid var(--border-color)}.capture-content{display:flex;flex-direction:column;align-items:center;gap:24px}.capture-title{font-size:28px;font-weight:700;color:var(--text-color);margin:0}.capture-subtitle{font-size:16px;color:var(--text-secondary);margin:0;line-height:1.5}.photo-counter{background:var(--secondary-color);color:#fff;padding:8px 20px;border-radius:20px;font-weight:600;font-size:14px}.thumbnail-strip{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;max-width:100%}.thumbnail{width:60px;height:60px;border-radius:8px;overflow:hidden;border:2px solid var(--border-color);position:relative}.thumbnail img{width:100%;height:100%;object-fit:cover}.camera-button{width:80px;height:80px;border-radius:50%;background:var(--primary-color);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #8b5cf64d;color:#fff}.camera-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 20px #8b5cf666}.camera-button:active:not(:disabled){transform:scale(.95)}.camera-button:disabled{opacity:.5;cursor:not-allowed}.capture-actions{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.primary-button{padding:14px 24px;border-radius:12px;font-size:16px;font-weight:600;border:none;background:var(--primary-color);color:#fff;cursor:pointer;transition:all .2s ease;width:100%;max-width:300px}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.primary-button:disabled{opacity:.6;cursor:not-allowed}.action-button{padding:14px 24px;border-radius:12px;font-size:16px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.action-button.secondary{background:var(--background-color);color:var(--primary-color);border:2px solid var(--border-color)}.action-button.secondary:hover{border-color:var(--primary-color);background:var(--card-background)}.text-button{background:none;border:none;color:var(--text-secondary);font-size:16px;font-weight:500;cursor:pointer;padding:12px 24px;transition:all .2s ease}.text-button:hover{color:var(--text-color)}.cleaning-icon{font-size:80px;margin-bottom:24px}.before-photos-reference{margin:32px 0;text-align:left}.before-photos-reference h3{font-size:18px;margin-bottom:16px;color:var(--text-color)}.reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.reference-photo{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1}.reference-photo img{width:100%;height:100%;object-fit:cover}.reference-photo span{position:absolute;bottom:4px;left:4px;background:#000000b3;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px}.split-view{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%;max-width:800px;margin:0 auto;background:var(--card-background);border-radius:16px;padding:24px;box-shadow:var(--shadow-color) 0 4px 24px}.before-reference,.after-capture{text-align:center}.before-reference h3,.after-capture h3{font-size:18px;margin-bottom:16px;color:var(--text-color)}.before-reference img{width:100%;height:300px;object-fit:cover;border-radius:8px;border:2px solid var(--border-color)}.after-preview{position:relative}.after-preview img{width:100%;height:300px;object-fit:cover;border-radius:8px;border:2px solid var(--secondary-color)}.retake-button{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#000c;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:14px;cursor:pointer;transition:all .2s ease}.retake-button:hover{background:#000000e6}.capture-placeholder{height:300px;background:var(--background-color);border:2px dashed var(--border-color);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.capture-placeholder p{color:var(--text-secondary)}.after-actions{margin-top:32px;display:flex;justify-content:center}.review-container{flex:1;display:flex;flex-direction:column;padding:24px;max-width:800px;margin:0 auto;width:100%}.comparison-viewer{flex:1;background:var(--card-background);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:var(--shadow-color) 0 4px 24px}.pair-selector{display:flex;justify-content:center;gap:12px;margin-bottom:24px}.pair-thumb{width:50px;height:50px;border-radius:8px;background:var(--card-background);border:2px solid var(--border-color);font-weight:600;cursor:pointer;transition:all .2s ease}.pair-thumb.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pair-thumb:hover:not(.active){border-color:var(--primary-color)}.review-actions{display:flex;justify-content:center}.posting-preview{margin:24px 0}.preview-grid{display:flex;justify-content:center;gap:12px}.preview-thumb{width:100px;height:100px;border-radius:8px;overflow:hidden;border:2px solid var(--border-color)}.preview-thumb img{width:100%;height:100%;object-fit:cover}.more-indicator{text-align:center;margin-top:8px;color:var(--text-secondary);font-size:14px}.caption-input{width:100%;padding:14px 20px;font-size:16px;border:2px solid var(--border-color);border-radius:12px;background:var(--background-color);color:var(--text-color);resize:none;font-family:inherit;transition:all .2s ease}.caption-input:focus{outline:none;border-color:var(--primary-color)}.posting-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px}.points-earned{font-size:24px;color:var(--secondary-color);font-weight:700;margin:16px 0}.success-message{color:var(--text-secondary);font-size:16px}.upload-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999}.upload-spinner{text-align:center;color:#fff}.spinner{width:50px;height:50px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.camera-card,.cleaning-card,.posting-card,.success-card{padding:32px 24px;margin:0 16px}.camera-title{font-size:24px}.split-view{grid-template-columns:1fr;gap:16px;padding:16px}.before-reference img,.after-preview img,.capture-placeholder{height:200px}.thumbnail{width:50px;height:50px}.reference-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}}button{min-height:44px;min-width:44px}@media(prefers-color-scheme:dark){.upload-overlay{background:#000000e6}.retake-button{background:#ffffff1a}.retake-button:hover{background:#fff3}}body.dark-mode .upload-overlay{background:#000000e6}body.dark-mode .retake-button{background:#ffffff1a}body.dark-mode .retake-button:hover{background:#fff3}.cleaning-camera-page{min-height:100vh;background:var(--background-color);color:var(--text-color);display:flex;flex-direction:column}.cleaning-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--card-background);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.cleaning-header h2{font-size:18px;font-weight:600;margin:0}.back-btn{width:40px;height:40px;border-radius:20px;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-color);transition:all .2s ease}.back-btn:hover{background:var(--background-color)}.spacer{width:40px}.cleaning-content{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}.location-card{background:var(--card-background);border-radius:20px;padding:48px 32px;width:100%;max-width:400px;text-align:center;box-shadow:0 4px 20px var(--shadow-color)}.location-icon{font-size:64px;margin-bottom:24px}.location-card h1{font-size:24px;font-weight:700;margin:0 0 8px}.location-card p{color:var(--text-secondary);margin:0 0 32px}.location-input{width:100%;padding:16px 20px;font-size:16px;border:2px solid var(--border-color);border-radius:12px;background:var(--background-color);color:var(--text-color);transition:all .2s ease;margin-bottom:24px}.location-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b5cf61a}.continue-btn{width:100%;padding:16px;font-size:16px;font-weight:600;border:none;border-radius:12px;background:var(--primary-color);color:#fff;cursor:pointer;transition:all .2s ease}.continue-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf64d}.continue-btn:disabled{background:var(--border-color);color:var(--text-secondary);cursor:not-allowed;transform:none}.capture-card{background:var(--card-background);border-radius:20px;padding:32px;width:100%;max-width:600px;box-shadow:0 4px 20px var(--shadow-color);overflow:hidden}.capture-info{text-align:center;margin-bottom:32px}.capture-info h1{font-size:24px;font-weight:700;margin:0 0 8px}.capture-info p{color:var(--text-secondary);margin:0}.capture-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.capture-option-btn{background:var(--background-color);border:2px solid var(--border-color);border-radius:16px;padding:32px 24px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-color)}.capture-option-btn:hover{border-color:var(--primary-color);background:var(--card-background);transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow-color)}.option-icon{font-size:48px}.capture-option-btn span{font-size:16px;font-weight:600}.camera-view{position:relative;width:100%;aspect-ratio:4/3;background:#000;border-radius:12px;overflow:hidden}.camera-video{width:100%;height:100%;object-fit:cover}.camera-overlay{position:absolute;inset:0;pointer-events:none}.camera-frame{position:absolute;inset:10%;border:2px dashed rgba(255,255,255,.3)}.corner{position:absolute;width:30px;height:30px;border:3px solid white}.corner.top-left{top:-2px;left:-2px;border-right:none;border-bottom:none}.corner.top-right{top:-2px;right:-2px;border-left:none;border-bottom:none}.corner.bottom-left{bottom:-2px;left:-2px;border-right:none;border-top:none}.corner.bottom-right{bottom:-2px;right:-2px;border-left:none;border-top:none}.camera-controls{position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);display:flex;align-items:center;justify-content:space-between;pointer-events:auto}.cancel-camera-btn{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;color:#fff;padding:12px 24px;border-radius:24px;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-camera-btn:hover{background:#ffffff4d}.capture-btn{width:72px;height:72px;border-radius:50%;background:#fff;border:4px solid rgba(255,255,255,.3);cursor:pointer;position:relative;transition:all .2s ease;padding:0}.capture-btn:hover{transform:scale(1.05)}.capture-btn:active{transform:scale(.95)}.capture-btn-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;background:#fff;border-radius:50%}.preview-card{background:var(--card-background);border-radius:20px;padding:32px;width:100%;max-width:800px;box-shadow:0 4px 20px var(--shadow-color)}.preview-card h1{font-size:24px;font-weight:700;text-align:center;margin:0 0 16px}.location-label{text-align:center;color:var(--text-secondary);margin:0 0 32px}.comparison-container{margin-bottom:32px}.comparison-slider{position:relative;width:100%;border-radius:12px;overflow:hidden;background:#000}.image-container{position:relative;width:100%;aspect-ratio:16/9}.after-image,.before-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.before-image-container{position:absolute;top:0;left:0;height:100%;overflow:hidden;z-index:2}.slider-handle{position:absolute;top:0;bottom:0;width:40px;transform:translate(-50%);cursor:col-resize;z-index:3}.slider-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translate(-50%);box-shadow:0 0 10px #00000080}.slider-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0000004d}.slider-icon svg{width:20px;height:20px;color:#333}.image-labels{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;pointer-events:none}.label{padding:6px 16px;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border-radius:20px;font-size:14px;font-weight:600}.slider-hint{text-align:center;color:var(--text-secondary);font-size:14px;margin:16px 0 0}.submit-btn{width:100%;padding:16px;font-size:16px;font-weight:600;border:none;border-radius:12px;background:var(--primary-color);color:#fff;cursor:pointer;transition:all .2s ease}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf64d}.success-content{background:var(--background-color)}.success-card{text-align:center;padding:48px;background:var(--card-background);border-radius:20px;box-shadow:0 4px 20px var(--shadow-color)}.success-icon{font-size:80px;margin-bottom:24px}.success-card h1{font-size:32px;font-weight:700;margin:0 0 16px}.points-text{font-size:24px;color:var(--secondary-color);font-weight:700;margin:0 0 8px}.success-message{color:var(--text-secondary);margin:0}@media(max-width:640px){.cleaning-header{padding:12px 16px}.location-card,.capture-card,.preview-card{padding:24px 20px}.capture-options{grid-template-columns:1fr}.comparison-slider{margin:0 -20px;border-radius:0}.image-container{aspect-ratio:1}}@media(prefers-color-scheme:dark){.capture-option-btn{background:#ffffff0d}.capture-option-btn:hover{background:#ffffff1a}.slider-icon{background:#ffffffe6}}body.dark-mode .capture-option-btn{background:#ffffff0d}body.dark-mode .capture-option-btn:hover{background:#ffffff1a}body.dark-mode .slider-icon{background:#ffffffe6}:root{--bac-bg-primary: #ffffff;--bac-bg-secondary: #f5f5f7;--bac-bg-card: #ffffff;--bac-text-primary: #1d1d1f;--bac-text-secondary: #86868b;--bac-accent: #8b5cf6;--bac-accent-hover: #7c3aed;--bac-success: #10b981;--bac-border: #e5e5e7;--bac-shadow: 0 2px 8px rgba(0,0,0,.08)}.dark-mode{--bac-bg-primary: #111827;--bac-bg-secondary: #1f2937;--bac-bg-card: #1f2937;--bac-text-primary: #f9fafb;--bac-text-secondary: #9ca3af;--bac-accent: #a78bfa;--bac-accent-hover: #9333ea;--bac-success: #34d399;--bac-border: #374151;--bac-shadow: 0 2px 8px rgba(0,0,0,.3)}.bac-container{max-width:600px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bac-bg-primary);color:var(--bac-text-primary);min-height:100vh}.bac-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding:16px 0}.bac-back-btn{width:40px;height:40px;border-radius:20px;background:var(--bac-bg-secondary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.bac-back-btn:hover{background:var(--bac-border)}.bac-mode-switcher{display:flex;background:var(--bac-bg-secondary);border-radius:12px;padding:4px;gap:4px}.bac-mode-btn{padding:8px 16px;border-radius:8px;border:none;background:transparent;color:var(--bac-text-secondary);font-weight:600;cursor:pointer;transition:all .2s}.bac-mode-btn.active{background:var(--bac-bg-card);color:var(--bac-accent);box-shadow:0 2px 4px #0000001a}.bac-camera-container{background:var(--bac-bg-card);border-radius:24px;padding:24px;box-shadow:var(--bac-shadow);margin-bottom:24px}.bac-camera-header{text-align:center;margin-bottom:32px}.bac-camera-title{font-size:28px;font-weight:600;margin-bottom:8px}.bac-camera-subtitle{color:var(--bac-text-secondary);font-size:16px}.bac-rank-bonus-indicator{margin-top:.75rem;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#8b5cf61a,#10b9811a);border-radius:1rem;border:1px solid rgba(139,92,246,.2);animation:pulse 2s infinite}@keyframes pulse{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}to{opacity:.8;transform:scale(1)}}.bac-rank-icon{font-size:1.25rem}.bac-rank-text{font-size:.875rem;font-weight:600;color:var(--bac-text-primary)}.bac-camera-view{position:relative;width:100%;aspect-ratio:4/3;background:var(--bac-bg-secondary);border-radius:16px;overflow:hidden;margin-bottom:32px}.bac-camera-view video{width:100%;height:100%;object-fit:cover}.bac-camera-overlay{position:absolute;inset:0;pointer-events:none}.bac-grid-overlay{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr}.bac-grid-line{border:.5px solid rgba(255,255,255,.3)}.bac-reference-photo{position:absolute;top:16px;left:16px;width:100px;height:75px;background:var(--bac-bg-card);border-radius:8px;overflow:hidden;box-shadow:var(--bac-shadow);opacity:.9}.bac-reference-photo img{width:100%;height:100%;object-fit:cover}.bac-reference-label{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;font-size:10px;padding:2px;text-align:center}.bac-camera-controls{display:flex;align-items:center;justify-content:space-around;padding:0 40px}.bac-thumbnail-btn{width:48px;height:48px;border-radius:8px;background:var(--bac-bg-secondary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.bac-thumbnail-count{position:absolute;top:-4px;right:-4px;background:var(--bac-accent);color:#fff;width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.bac-capture-btn{width:72px;height:72px;border-radius:36px;background:var(--bac-accent);border:4px solid var(--bac-bg-primary);box-shadow:0 4px 12px #8b5cf666;cursor:pointer;transition:all .2s;position:relative}.bac-capture-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #8b5cf680}.bac-capture-btn:active{transform:scale(.95)}.bac-capture-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #8b5cf633}.bac-capture-btn:disabled:hover{transform:none;box-shadow:0 2px 8px #8b5cf633}.bac-capture-btn-inner{position:absolute;inset:6px;background:#fff;border-radius:50%}.bac-gallery-btn{width:48px;height:48px;border-radius:8px;background:var(--bac-bg-secondary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.bac-gallery-btn:hover{background:var(--bac-border);transform:translateY(-1px)}.bac-upload-btn-secondary{width:48px;height:48px;border-radius:24px;background:var(--bac-bg-secondary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.bac-upload-btn-secondary:hover{background:var(--bac-border)}.bac-photo-preview{background:var(--bac-bg-card);border-radius:24px;padding:24px;box-shadow:var(--bac-shadow);margin-bottom:24px;position:relative}.bac-preview-image{width:100%;border-radius:16px;margin-bottom:24px}.bac-preview-actions{display:flex;gap:12px}.bac-btn{flex:1;padding:16px;border-radius:12px;border:none;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.bac-btn-primary{background:var(--bac-accent);color:#fff}.bac-btn-primary:hover{background:var(--bac-accent-hover)}.bac-btn-secondary{background:var(--bac-bg-secondary);color:var(--bac-text-primary)}.bac-btn-secondary:hover{background:var(--bac-border)}.bac-btn:disabled{opacity:.6;cursor:not-allowed}.bac-btn:disabled:hover{background:inherit}.bac-thumbnail-strip{display:flex;gap:12px;padding:16px;background:var(--bac-bg-card);border-radius:16px;overflow-x:auto;margin-bottom:24px}.bac-thumbnail{min-width:80px;height:80px;border-radius:8px;overflow:hidden;position:relative;border:2px solid transparent;cursor:pointer}.bac-thumbnail.before{border-color:var(--bac-accent)}.bac-thumbnail.after{border-color:var(--bac-success)}.bac-thumbnail img{width:100%;height:100%;object-fit:cover}.bac-thumbnail-label{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;font-size:10px;padding:2px;text-align:center}.bac-action-buttons{margin-bottom:16px}.bac-action-button{width:100%;padding:20px;background:var(--bac-accent);color:#fff;border:none;border-radius:16px;font-size:18px;font-weight:600;cursor:pointer;margin-bottom:16px;transition:all .2s}.bac-action-button:hover{background:var(--bac-accent-hover);transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf64d}.bac-action-button.secondary{background:var(--bac-bg-secondary);color:var(--bac-text-primary)}.bac-action-button.secondary:hover{background:var(--bac-border)}.bac-comparison-container{background:var(--bac-bg-card);border-radius:24px;padding:24px;box-shadow:var(--bac-shadow);margin-bottom:24px}.bac-comparison-header{text-align:center;margin-bottom:24px}.bac-comparison-title{font-size:24px;font-weight:600;margin-bottom:8px}.bac-photo-pairs{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}.bac-photo-pair{border:1px solid var(--bac-border);border-radius:16px;overflow:hidden}.bac-comparison-slider{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;cursor:ew-resize}.bac-comparison-slider img{position:absolute;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}.bac-comparison-slider .bac-before-image{z-index:1}.bac-comparison-slider .bac-after-image{z-index:2}.bac-before-label,.bac-after-label{position:absolute;top:16px;padding:6px 12px;background:#0009;color:#fff;font-size:12px;font-weight:600;border-radius:6px;z-index:5;text-transform:uppercase}.bac-before-label{left:16px}.bac-after-label{right:16px}.bac-slider-handle{position:absolute;top:0;width:4px;height:100%;background:#fff;cursor:ew-resize;z-index:10;transform:translate(-50%)}.bac-slider-handle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000004d}.bac-slider-handle:after{content:"◀ ▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;color:#333;font-weight:700;z-index:1}.bac-pair-label{padding:12px;background:var(--bac-bg-secondary);text-align:center;font-size:14px;color:var(--bac-text-secondary)}.bac-post-modal{display:none;position:fixed;inset:0;background:#00000080;z-index:1000;padding:20px}.bac-post-modal.active{display:flex;align-items:center;justify-content:center}.bac-modal-content{background:var(--bac-bg-card);border-radius:24px;padding:32px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.bac-modal-title{font-size:24px;font-weight:600;margin-bottom:24px;text-align:center}.bac-caption-input{width:100%;padding:16px;border-radius:12px;border:1px solid var(--bac-border);background:var(--bac-bg-secondary);color:var(--bac-text-primary);font-size:16px;margin-bottom:24px;resize:vertical;min-height:100px}.bac-modal-actions{display:flex;flex-direction:column;gap:12px}.bac-photo-counter{background:var(--bac-bg-secondary);padding:8px 16px;border-radius:20px;display:inline-block;margin-bottom:16px;font-size:14px;color:var(--bac-text-secondary)}.bac-loading-overlay{position:absolute;inset:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:10}.bac-loading-overlay p{color:#fff;font-size:16px;margin:0}.bac-loading-spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:bac-spin 1s linear infinite}@keyframes bac-spin{to{transform:rotate(360deg)}}.bac-no-camera{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:var(--bac-text-secondary);text-align:center;padding:40px 20px}.bac-no-camera h3{font-size:20px;font-weight:600;margin:0;color:var(--bac-text-primary)}.bac-no-camera p{font-size:16px;margin:0;max-width:300px}.bac-upload-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--bac-accent);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.bac-upload-btn:hover{background:var(--bac-accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}@media(max-width:768px){.bac-container{padding:12px;min-height:100svh}.bac-header{padding:12px 0;margin-bottom:16px}.bac-camera-container{padding:16px;border-radius:20px;margin-bottom:16px}.bac-camera-header{margin-bottom:20px}.bac-camera-title{font-size:24px}.bac-camera-subtitle{font-size:14px}.bac-camera-view{margin-bottom:20px;border-radius:12px}.bac-camera-controls{padding:0 20px}.bac-capture-btn{width:80px;height:80px;border-radius:40px}.bac-capture-btn-inner{inset:8px}.bac-thumbnail-strip{padding:12px;gap:8px}.bac-thumbnail{min-width:70px;height:70px}.bac-post-modal{padding:16px}.bac-modal-content{padding:24px;border-radius:20px}.bac-caption-input{font-size:16px;min-height:80px}.bac-action-button{padding:18px;font-size:16px;border-radius:12px}.bac-photo-preview{padding:16px;border-radius:20px}.bac-preview-image{border-radius:12px;margin-bottom:16px}.bac-comparison-container{padding:16px;border-radius:20px}.bac-comparison-title{font-size:20px}.bac-photo-pairs{gap:16px}.bac-photo-pair{border-radius:12px}.bac-slider-handle:before{width:48px;height:48px}}@supports (-webkit-touch-callout: none){.bac-container{padding-bottom:env(safe-area-inset-bottom)}input,textarea,select{font-size:16px!important}}.image-modal{position:fixed;inset:0;background:#000000e6;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;cursor:pointer}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;cursor:default}.image-modal-content img{width:100%;height:100%;object-fit:contain;border-radius:8px}.close-modal{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:36px;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.close-modal:hover{opacity:.7}.bac-no-camera{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;background:var(--bac-bg-secondary);border-radius:16px;color:var(--bac-text-primary)}.bac-no-camera h3{font-size:1.25rem;font-weight:600;margin:1rem 0 .5rem;color:var(--bac-text-primary)}.bac-no-camera p{color:var(--bac-text-secondary);margin-bottom:1.5rem}.dark-mode .bac-no-camera{background:var(--bac-bg-secondary);color:var(--bac-text-primary)}.dark-mode .bac-no-camera h3{color:var(--bac-text-primary)}.dark-mode .bac-no-camera p{color:var(--bac-text-secondary)}.dark-mode .bac-loading-overlay{background:#111827e6;color:var(--bac-text-primary)}.dark-mode .bac-error-message{background:#ef44441a;border-color:#ef44444d;color:#f87171}.dark-mode .bac-comparison-slider .bac-before-label,.dark-mode .bac-comparison-slider .bac-after-label{background:#000c}.dark-mode .bac-slider-handle:before{background:#f9fafb}.dark-mode .bac-capture-btn{border-color:var(--bac-bg-secondary)}.dark-mode .bac-btn-secondary{background:var(--bac-bg-secondary);color:var(--bac-text-primary)}.dark-mode .bac-btn-secondary:hover{background:#374151}}{}
