:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #00C853;--primary-dark: #00A040;--primary-gradient: linear-gradient(135deg, #00C853 0%, #00BFA5 100%);--glass-bg: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .2);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7)}html{width:100%;height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#000;color:var(--text-primary);width:100%;height:100%;height:100dvh;overflow:hidden;-webkit-font-smoothing:antialiased;position:fixed;inset:0}#root{width:100%;height:100%}.camera-app{display:flex;flex-direction:column;width:100%;height:100%;position:fixed;inset:0}.site-header{position:absolute;top:0;left:0;right:0;z-index:10;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);padding:16px 20px;padding-top:max(16px,env(safe-area-inset-top))}.header-content{display:flex;align-items:center;gap:16px}.site-icon{width:48px;height:48px;background:var(--primary-gradient);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px #0006}.mode-btn{width:120px!important;font-size:13px!important}.site-details{flex:1}.site-name{font-size:18px;font-weight:700;letter-spacing:-.02em;margin-bottom:2px}.site-meta{display:flex;gap:12px;font-size:13px;color:var(--text-secondary)}.close-btn{width:36px;height:36px;background:#ffffff26;border:none;border-radius:50%;color:var(--text-primary);font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-btn:active{transform:scale(.9);background:#ffffff40}.settings-btn{width:36px;height:36px;background:#ffffff26;border:none;border-radius:50%;font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.settings-btn:active{transform:scale(.9);background:#ffffff40}.settings-panel{position:absolute;top:90px;right:16px;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:12px;padding:12px;z-index:15;animation:fadeIn .2s ease}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px}.toggle-btn{padding:6px 14px;border:none;border-radius:20px;background:#fff3;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.toggle-btn.active{background:var(--primary);color:#000}.camera-view{flex:1;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}.video-preview{width:100%;height:100%;object-fit:cover}.preview-image{width:100%;height:100%;object-fit:contain;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.flash-overlay{position:absolute;inset:0;background:#fff;z-index:100;animation:flashFade .15s ease-out forwards;pointer-events:none}@keyframes flashFade{0%{opacity:1}to{opacity:0}}.mission-overlay{position:absolute;bottom:140px;left:16px;right:16px;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:16px;padding:16px 20px;box-shadow:var(--glass-shadow);animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mission-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);margin-bottom:6px}.mission-text{font-size:16px;font-weight:500;line-height:1.4}.mission-counter{margin-top:10px;display:flex;align-items:center;gap:8px}.counter-bar{flex:1;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.counter-fill{height:100%;background:var(--primary-gradient);border-radius:2px;transition:width .3s ease}.counter-text{font-size:13px;font-weight:600;color:var(--text-secondary)}.controls{position:absolute;bottom:0;left:0;right:0;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom));background:linear-gradient(to top,rgba(0,0,0,.9) 0%,transparent 100%);display:flex;justify-content:center;align-items:center;gap:24px}.btn-capture{width:80px;height:80px;background:var(--text-primary);border:none;border-radius:50%;position:relative;cursor:pointer;transition:transform .15s ease;box-shadow:0 4px 20px #ffffff4d}.btn-capture:before{content:"";position:absolute;inset:6px;background:var(--text-primary);border-radius:50%;border:3px solid #000}.btn-capture:active{transform:scale(.9)}.btn-capture.recording:before{background:#f44;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.btn{border:none;border-radius:50px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{padding:16px 28px;background:var(--primary-gradient);color:#000;font-weight:700;box-shadow:0 4px 16px #00c85366}.btn-secondary{padding:16px 28px;background:#ffffff26;color:var(--text-primary);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.success-container{display:flex;flex-direction:column;align-items:center;gap:20px;animation:fadeIn .4s ease}.success-icon{width:64px;height:64px;background:var(--primary-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;animation:successPop .5s ease}@keyframes successPop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.success-text{font-size:18px;font-weight:600}.success-buttons{display:flex;gap:12px}.success-icon.warning{background:linear-gradient(135deg,#ff9800,#ff5722);box-shadow:0 4px 12px #ff980066}.ai-result{max-width:280px;padding:12px 16px;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:12px;font-size:13px;line-height:1.5;color:var(--text-secondary);text-align:center}.loading,.error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;height:100dvh;padding:40px;text-align:center;background:linear-gradient(135deg,#1a1a2e,#16213e)}.loading-logo{width:120px;height:auto;margin-bottom:32px;animation:logoPulse 2s ease-in-out infinite}@keyframes logoPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.loading-bar{width:160px;height:4px;background:#fff3;border-radius:2px;overflow:hidden;margin-bottom:16px}.loading-bar-fill{height:100%;background:var(--primary-gradient);border-radius:2px;animation:loadingProgress 1.5s ease-in-out infinite}@keyframes loadingProgress{0%{width:0%;transform:translate(0)}50%{width:100%;transform:translate(0)}to{width:100%;transform:translate(100%)}}.loading-spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:14px;color:var(--text-secondary);letter-spacing:.05em}.error{color:var(--text-primary)}.error-icon{font-size:48px;margin-bottom:16px}.error-text{font-size:14px;line-height:1.6;color:var(--text-secondary)}.uploading-overlay{position:absolute;inset:0;background:#000c;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20;animation:fadeIn .3s ease}.uploading-text{margin-top:20px;font-size:16px;font-weight:500}
