.upload-zone[data-v-3814ecf4]{padding:52px 32px 40px;text-align:center;cursor:pointer;transition:all .35s ease;position:relative;overflow:hidden}.upload-zone[data-v-3814ecf4]:before{content:"";position:absolute;inset:-2px;border-radius:var(--radius-lg);padding:2px;background:linear-gradient(135deg,var(--ocean-400),var(--teal-400),var(--ocean-600));background-size:300% 300%;animation:shimmer 4s ease infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;transition:opacity .3s}.upload-zone[data-v-3814ecf4]:hover:before,.upload-zone.drag-over[data-v-3814ecf4]:before{opacity:1}.upload-zone[data-v-3814ecf4]:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.upload-zone.drag-over[data-v-3814ecf4]{transform:scale(1.01);box-shadow:0 0 60px #0ea5e940}.upload-icon-wrap[data-v-3814ecf4]{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#0ea5e91a;margin-bottom:20px;animation:float 5s ease-in-out infinite}.upload-icon[data-v-3814ecf4]{width:36px;height:36px}.upload-title[data-v-3814ecf4]{font-size:20px;font-weight:700;margin-bottom:6px}.upload-hint[data-v-3814ecf4]{font-size:14px;color:var(--text-secondary)}.upload-link[data-v-3814ecf4]{color:var(--ocean-400);text-decoration:underline;text-underline-offset:3px}.upload-meta[data-v-3814ecf4]{font-size:12px;color:var(--text-muted);margin-top:10px}.camera-btn[data-v-3814ecf4]{display:inline-flex;align-items:center;gap:6px;margin-top:22px;padding:10px 22px;border:1px solid var(--border-glass);border-radius:var(--radius-md);background:#0ea5e91a;color:var(--ocean-300);font-family:var(--font-main);font-size:14px;font-weight:500;cursor:pointer;transition:all .25s ease}.camera-btn[data-v-3814ecf4]:hover{background:#0ea5e933;border-color:var(--ocean-400)}.upload-error[data-v-3814ecf4]{margin-top:18px;padding:10px 16px;border-radius:var(--radius-sm);background:#f43f5e1f;color:var(--coral-400);font-size:13px;font-weight:500;border:1px solid rgba(244,63,94,.25)}.back-btn[data-v-5e7283a8]{display:inline-flex;align-items:center;gap:4px;margin-bottom:28px;padding:8px 18px;border-radius:var(--radius-md);border:1px solid var(--border-glass);background:transparent;color:var(--ocean-300);font-family:var(--font-main);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.back-btn[data-v-5e7283a8]:hover{background:#0ea5e91a;border-color:var(--ocean-400)}.metrics-row[data-v-5e7283a8]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px}.metric-card[data-v-5e7283a8]{padding:22px 20px;display:flex;flex-direction:column;gap:4px;animation:fadeInUp .5s ease-out both}.metric-card.accent[data-v-5e7283a8]{border-color:#0ea5e959;background:#0ea5e914}.metric-icon[data-v-5e7283a8]{font-size:22px;margin-bottom:4px}.metric-label[data-v-5e7283a8]{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-weight:600}.metric-value[data-v-5e7283a8]{font-size:24px;font-weight:800;letter-spacing:-.3px}.metric-value.highlight[data-v-5e7283a8]{background:linear-gradient(135deg,var(--ocean-300),var(--teal-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.metric-sub[data-v-5e7283a8]{font-size:12px;color:var(--text-muted)}.source-badge[data-v-5e7283a8]{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-sm);background:#0ea5e90f;border:1px solid rgba(14,165,233,.12);font-size:12px;color:var(--text-secondary);margin-bottom:32px}.source-badge a[data-v-5e7283a8]{color:var(--ocean-400);text-decoration:none}.source-badge a[data-v-5e7283a8]:hover{text-decoration:underline}.section-title[data-v-5e7283a8]{font-size:20px;font-weight:700;margin-bottom:18px;letter-spacing:-.2px}.images-section[data-v-5e7283a8]{margin-bottom:36px}.images-grid[data-v-5e7283a8]{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}@media(max-width:768px){.images-grid[data-v-5e7283a8]{grid-template-columns:1fr}.arrow-col[data-v-5e7283a8]{transform:rotate(90deg)}}.image-card[data-v-5e7283a8]{overflow:hidden;padding:0}.image-label[data-v-5e7283a8]{display:flex;align-items:center;gap:8px;padding:14px 18px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.label-dot[data-v-5e7283a8]{width:8px;height:8px;border-radius:50%}.original-dot[data-v-5e7283a8]{background:var(--ocean-400)}.generated-dot[data-v-5e7283a8]{background:var(--coral-400)}.image-wrap[data-v-5e7283a8]{position:relative;width:100%;overflow:hidden}.image-wrap img[data-v-5e7283a8]{width:100%;height:auto;display:block;object-fit:cover}.image-placeholder[data-v-5e7283a8]{min-height:240px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.image-placeholder.no-risk[data-v-5e7283a8]{flex-direction:column;gap:12px;padding:24px;color:#4ade80;font-size:16px;font-weight:700}.no-risk-sub[data-v-5e7283a8]{font-size:13px;font-weight:400;color:var(--text-secondary);text-align:center;max-width:260px}.arrow-col[data-v-5e7283a8]{display:flex;flex-direction:column;align-items:center;gap:6px}.arrow-circle[data-v-5e7283a8]{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--ocean-500),var(--teal-500));display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;box-shadow:0 0 24px #0ea5e94d}.arrow-year[data-v-5e7283a8]{font-size:12px;font-weight:700;color:var(--ocean-400)}.chart-section[data-v-5e7283a8]{margin-bottom:28px}.chart-card[data-v-5e7283a8]{padding:16px}.chart-img[data-v-5e7283a8]{width:100%;height:auto;border-radius:var(--radius-md)}.warning-bar[data-v-5e7283a8]{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;border-radius:var(--radius-md);background:#fbbf2414;border:1px solid rgba(251,191,36,.2);font-size:13px;color:var(--amber-400);line-height:1.6;margin-bottom:20px}.loading-overlay[data-v-cb9cab29]{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0a0e1aeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.wave-container[data-v-cb9cab29]{position:absolute;bottom:0;left:0;width:100%;height:200px;overflow:hidden}.wave[data-v-cb9cab29]{position:absolute;bottom:0;left:0;width:200%;height:100%;background:repeat-x;animation:wave 8s linear infinite}.wave-1[data-v-cb9cab29]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100'%3E%3Cpath fill='%230ea5e9' fill-opacity='0.08' d='M0,40 C360,100 720,0 1080,60 C1260,80 1440,40 1440,40 L1440,100 L0,100 Z'/%3E%3C/svg%3E");background-size:50% 100%;animation-duration:8s}.wave-2[data-v-cb9cab29]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100'%3E%3Cpath fill='%2314b8a6' fill-opacity='0.06' d='M0,60 C360,10 720,90 1080,30 C1260,10 1440,60 1440,60 L1440,100 L0,100 Z'/%3E%3C/svg%3E");background-size:50% 100%;animation-duration:11s;animation-delay:-2s}.wave-3[data-v-cb9cab29]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100'%3E%3Cpath fill='%230284c7' fill-opacity='0.05' d='M0,50 C360,80 720,20 1080,70 C1260,90 1440,50 1440,50 L1440,100 L0,100 Z'/%3E%3C/svg%3E");background-size:50% 100%;animation-duration:14s;animation-delay:-4s}.loading-content[data-v-cb9cab29]{text-align:center;z-index:1;padding:0 24px}.spinner-ring[data-v-cb9cab29]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:90px;height:90px;margin-bottom:28px}.ring[data-v-cb9cab29]{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;border-top-color:var(--ocean-400);border-right-color:var(--teal-400);animation:spin-cb9cab29 1.2s linear infinite}@keyframes spin-cb9cab29{to{transform:rotate(360deg)}}.spinner-emoji[data-v-cb9cab29]{font-size:36px;animation:pulse-ring 2s ease-in-out infinite}.loading-title[data-v-cb9cab29]{font-size:22px;font-weight:700;margin-bottom:10px}.loading-step[data-v-cb9cab29]{font-size:14px;color:var(--text-secondary);margin-bottom:24px;min-height:20px;transition:opacity .3s}.progress-bar[data-v-cb9cab29]{width:280px;height:4px;border-radius:2px;background:#ffffff14;margin:0 auto;overflow:hidden}.progress-fill[data-v-cb9cab29]{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--ocean-500),var(--teal-400));transition:width .6s ease}.app-header[data-v-96c18d30]{position:sticky;top:0;z-index:50;background:#0a0e1ad1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-subtle)}.header-inner[data-v-96c18d30]{max-width:1100px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.logo-group[data-v-96c18d30]{display:flex;align-items:center;gap:12px}.logo-icon[data-v-96c18d30]{font-size:30px;animation:float 4s ease-in-out infinite}.logo-title[data-v-96c18d30]{font-size:20px;font-weight:700;letter-spacing:-.3px}.logo-sub[data-v-96c18d30]{font-size:12px;color:var(--text-muted);font-weight:400}.badge-pill[data-v-96c18d30]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;padding:5px 12px;border-radius:100px;background:#0ea5e926;color:var(--ocean-400);border:1px solid rgba(14,165,233,.25)}.hero[data-v-96c18d30]{text-align:center;padding:60px 24px 10px}.hero-inner[data-v-96c18d30]{max-width:640px;margin:0 auto}.hero-title[data-v-96c18d30]{font-size:clamp(28px,5vw,44px);font-weight:800;line-height:1.15;letter-spacing:-.5px;margin-bottom:16px}.gradient-text[data-v-96c18d30]{background:linear-gradient(135deg,var(--ocean-400),var(--teal-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-desc[data-v-96c18d30]{font-size:16px;color:var(--text-secondary);max-width:480px;margin:0 auto;line-height:1.7}.section-upload[data-v-96c18d30]{max-width:680px;margin:32px auto 0;padding:0 24px}.section-results[data-v-96c18d30]{max-width:1100px;margin:0 auto;padding:24px}.app-footer[data-v-96c18d30]{text-align:center;padding:40px 24px 28px;color:var(--text-muted);font-size:13px}.app-footer strong[data-v-96c18d30]{color:var(--text-secondary)}:root{--bg-deep: #0a0e1a;--bg-surface: #111827;--bg-card: rgba(17, 24, 39, .65);--bg-glass: rgba(30, 58, 95, .35);--border-glass: rgba(56, 189, 248, .18);--border-subtle: rgba(255, 255, 255, .06);--ocean-100: #e0f2fe;--ocean-200: #bae6fd;--ocean-300: #7dd3fc;--ocean-400: #38bdf8;--ocean-500: #0ea5e9;--ocean-600: #0284c7;--ocean-700: #0369a1;--teal-400: #2dd4bf;--teal-500: #14b8a6;--coral-400: #fb7185;--coral-500: #f43f5e;--amber-400: #fbbf24;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-xl: 28px;--shadow-glow: 0 0 40px rgba(14, 165, 233, .15);--shadow-card: 0 8px 32px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-main);background:var(--bg-deep);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.6}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 120% 80% at 20% 0%,rgba(14,165,233,.12) 0%,transparent 60%),radial-gradient(ellipse 100% 70% at 80% 100%,rgba(45,212,191,.08) 0%,transparent 50%);pointer-events:none;z-index:0}#app{position:relative;z-index:1}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--ocean-700);border-radius:3px}.glass-card{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-ring{0%{transform:scale(.9);opacity:.6}50%{transform:scale(1.05);opacity:1}to{transform:scale(.9);opacity:.6}}@keyframes wave{0%{transform:translate(0) translateZ(0) scaleY(1)}50%{transform:translate(-25%) translateZ(0) scaleY(.55)}to{transform:translate(-50%) translateZ(0) scaleY(1)}}.fade-in-up{animation:fadeInUp .6s ease-out both}
