@import url('https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&f[]=cabinet-grotesk@500,700,800&display=swap');:root,[data-theme="light"]{--font-body:'General Sans','Inter',sans-serif;--font-display:'Cabinet Grotesk','General Sans',sans-serif;--text-xs:clamp(0.75rem,0.7rem+0.25vw,0.875rem);--text-sm:clamp(0.875rem,0.8rem+0.35vw,1rem);--text-base:clamp(1rem,0.95rem+0.25vw,1.125rem);--text-lg:clamp(1.125rem,1rem+0.75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem+1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem+2.5vw,3.5rem);--text-3xl:clamp(2.5rem,1rem+4vw,5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--color-bg:#f8f9fc;--color-surface:#fff;--color-surface-2:#f3f4f8;--color-surface-offset:#edeef3;--color-divider:#e2e4eb;--color-border:#d5d7e0;--color-text:#1a1a2e;--color-text-muted:#6b6d7b;--color-text-faint:#a0a2ad;--color-text-inverse:#fff;--color-primary:#6c5ce7;--color-primary-hover:#5a4bd4;--color-primary-active:#4a3cc2;--color-primary-light:#e8e5fd;--color-primary-glow:rgba(108,92,231,0.12);--color-success:#00b894;--color-success-hover:#00a382;--color-success-light:#e0f8f1;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-error:#ef4444;--color-error-hover:#dc2626;--color-error-light:#fee2e2;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-full:9999px;--transition-interactive:180ms cubic-bezier(0.16,1,0.3,1);--transition-slow:300ms cubic-bezier(0.16,1,0.3,1);--shadow-sm:0 1px 3px rgba(26,26,46,0.06);--shadow-md:0 4px 16px rgba(26,26,46,0.08);--shadow-lg:0 12px 40px rgba(26,26,46,0.12);--shadow-primary:0 4px 20px rgba(108,92,231,0.25);--content-narrow:640px;--content-default:960px;--content-wide:1200px}[data-theme="dark"]{--color-bg:#0f0f1a;--color-surface:#1a1a2e;--color-surface-2:#16162b;--color-surface-offset:#1e1e36;--color-divider:#2a2a45;--color-border:#35355a;--color-text:#e4e4ee;--color-text-muted:#9595a8;--color-text-faint:#5c5c72;--color-text-inverse:#0f0f1a;--color-primary:#8b7ff0;--color-primary-hover:#a09af5;--color-primary-active:#6c5ce7;--color-primary-light:#1e1a3a;--color-primary-glow:rgba(139,127,240,0.15);--color-success:#34d399;--color-success-hover:#10b981;--color-success-light:#0f2a22;--color-warning:#fbbf24;--color-warning-light:#2a2410;--color-error:#f87171;--color-error-hover:#ef4444;--color-error-light:#2a1010;--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 4px 16px rgba(0,0,0,0.4);--shadow-lg:0 12px 40px rgba(0,0,0,0.5);--shadow-primary:0 4px 20px rgba(139,127,240,0.3)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#0f0f1a;--color-surface:#1a1a2e;--color-surface-2:#16162b;--color-surface-offset:#1e1e36;--color-divider:#2a2a45;--color-border:#35355a;--color-text:#e4e4ee;--color-text-muted:#9595a8;--color-text-faint:#5c5c72;--color-text-inverse:#0f0f1a;--color-primary:#8b7ff0;--color-primary-hover:#a09af5;--color-primary-active:#6c5ce7;--color-primary-light:#1e1a3a;--color-primary-glow:rgba(139,127,240,0.15);--color-success:#34d399;--color-success-hover:#10b981;--color-success-light:#0f2a22;--color-warning:#fbbf24;--color-warning-light:#2a2410;--color-error:#f87171;--color-error-hover:#ef4444;--color-error-light:#2a1010;--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 4px 16px rgba(0,0,0,0.4);--shadow-lg:0 12px 40px rgba(0,0,0,0.5);--shadow-primary:0 4px 20px rgba(139,127,240,0.3)}}body{display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--color-bg) 85%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-divider);padding:var(--space-3) var(--space-6)}.nav-container{max-width:var(--content-wide);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.nav-logo{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--color-text);font-family:var(--font-display);font-weight:700;font-size:var(--text-lg)}.nav-logo svg{flex-shrink:0}.nav-links{display:flex;align-items:center;gap:var(--space-4);list-style:none}.nav-links a{color:var(--color-text-muted);text-decoration:none;font-size:var(--text-sm);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.nav-links a:hover{color:var(--color-text)}.nav-links a.active{color:var(--color-primary)}.nav-right{display:flex;align-items:center;gap:var(--space-3)}.mobile-menu-btn{display:none;color:var(--color-text);padding:var(--space-1)}@media(max-width:768px){.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border-bottom:1px solid var(--color-divider);padding:var(--space-4);box-shadow:var(--shadow-md)}.mobile-menu-btn{display:flex}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;border:0;text-decoration:none;white-space:nowrap;line-height:1.4;min-height:44px}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-primary)}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 6px 24px rgba(108,92,231,0.35)}.btn-primary:active{background:var(--color-primary-active);transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-2);border-color:var(--color-primary)}.btn-success{background:var(--color-success);color:white}.btn-success:hover{background:var(--color-success-hover)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);min-height:36px}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--radius-xl)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none !important}.card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card-elevated{box-shadow:var(--shadow-md);border-color:transparent}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-xl);padding:var(--space-12) var(--space-8);text-align:center;cursor:pointer;transition:all var(--transition-slow);background:var(--color-surface-2)}.upload-zone:hover,.upload-zone.dragover{border-color:var(--color-primary);background:var(--color-primary-light)}.upload-zone-icon{width:56px;height:56px;margin:0 auto var(--space-4);color:var(--color-primary)}.upload-zone-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-2)}.upload-zone-subtitle{color:var(--color-text-muted);font-size:var(--text-sm)}.result-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-xl);padding:var(--space-8);margin-top:var(--space-6)}.probability-display{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-2)}.probability-circle{position:relative;width:140px;height:140px}.probability-circle svg{transform:rotate(-90deg)}.probability-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);color:var(--color-text)}.probability-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-top:var(--space-6)}.result-item{background:var(--color-surface-2);border-radius:var(--radius-lg);padding:var(--space-4)}.result-item-label{font-size:var(--text-xs);color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.result-item-value{font-weight:600;font-size:var(--text-base);color:var(--color-text)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.form-input{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);font-size:var(--text-base);color:var(--color-text);outline:0;min-height:44px}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.form-input::placeholder{color:var(--color-text-faint)}.form-error{color:var(--color-error);font-size:var(--text-xs)}.hero{padding:clamp(var(--space-12),8vw,var(--space-32)) var(--space-6);text-align:center;position:relative;overflow:hidden}.hero-content{max-width:var(--content-default);margin:0 auto;position:relative;z-index:1}.hero h1{font-family:var(--font-display);font-weight:800;font-size:var(--text-3xl);color:var(--color-text);margin-bottom:var(--space-4);letter-spacing:-.02em}.hero h1 .accent{color:var(--color-primary)}.hero-subtitle{font-size:var(--text-lg);color:var(--color-text-muted);max-width:600px;margin:0 auto var(--space-8);line-height:1.6}.hero-ctas{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.hero::before{content:'';position:absolute;top:-50%;left:-20%;width:140%;height:200%;background:radial-gradient(ellipse at 50% 0,var(--color-primary-glow) 0,transparent 60%);pointer-events:none}.section{padding:clamp(var(--space-12),6vw,var(--space-24)) var(--space-6)}.section-inner{max-width:var(--content-wide);margin:0 auto}.section-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);text-align:center;margin-bottom:var(--space-3);color:var(--color-text)}.section-subtitle{text-align:center;color:var(--color-text-muted);font-size:var(--text-base);max-width:550px;margin:0 auto var(--space-10)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}@media(max-width:768px){.steps-grid{grid-template-columns:1fr;gap:var(--space-4)}}.step-card{text-align:center;padding:var(--space-8) var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-divider);position:relative}.step-number{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);font-family:var(--font-display);font-weight:700;font-size:var(--text-base);display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.step-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);margin-bottom:var(--space-2);color:var(--color-text)}.step-description{color:var(--color-text-muted);font-size:var(--text-sm)}.faq-list{max-width:var(--content-narrow);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-3)}.faq-item{border:1px solid var(--color-divider);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);font-weight:600;font-size:var(--text-sm);color:var(--color-text);cursor:pointer;text-align:left;background:0;border:0;min-height:44px}.faq-question:hover{background:var(--color-surface-2)}.faq-icon{flex-shrink:0;width:20px;height:20px;color:var(--color-text-muted);transition:transform var(--transition-interactive)}.faq-item.open .faq-icon{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-slow)}.faq-item.open .faq-answer{max-height:500px}.faq-answer-inner{padding:0 var(--space-5) var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.7}.site-footer{margin-top:auto;border-top:1px solid var(--color-divider);padding:var(--space-8) var(--space-6);background:var(--color-surface-2)}.footer-inner{max-width:var(--content-wide);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.footer-text{color:var(--color-text-muted);font-size:var(--text-xs)}.footer-links{display:flex;gap:var(--space-4)}.footer-links a{color:var(--color-text-faint);font-size:var(--text-xs);text-decoration:none}.footer-links a:hover{color:var(--color-text-muted)}.page-container{max-width:var(--content-default);margin:0 auto;padding:var(--space-8) var(--space-6)}.page-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);margin-bottom:var(--space-2);text-align:center;color:var(--color-text)}.page-subtitle{color:var(--color-text-muted);font-size:var(--text-base);text-align:center;margin-bottom:var(--space-8)}.spinner{width:40px;height:40px;border:3px solid var(--color-divider);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12)}.loading-text{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500}.progress-bar{width:100%;height:6px;background:var(--color-surface-2);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-primary),var(--color-success));transition:width .5s ease}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.badge-free{background:var(--color-success-light);color:var(--color-success)}.badge-pro{background:var(--color-primary-light);color:var(--color-primary)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.comparison-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-4);align-items:center;margin:var(--space-6) 0}@media(max-width:640px){.comparison-grid{grid-template-columns:1fr;gap:var(--space-4)}.comparison-arrow{transform:rotate(90deg)}}.comparison-arrow{color:var(--color-primary);display:flex;align-items:center;justify-content:center}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer}.theme-toggle:hover{background:var(--color-surface-2);color:var(--color-text)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100dvh - 80px);padding:var(--space-6)}.auth-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg)}.auth-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);text-align:center;margin-bottom:var(--space-6);color:var(--color-text)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-footer{text-align:center;margin-top:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted)}.auth-footer a{color:var(--color-primary);font-weight:600}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);display:none}.alert.show{display:block}.alert-error{background:var(--color-error-light);color:var(--color-error);border:1px solid color-mix(in srgb,var(--color-error) 20%,transparent)}.alert-success{background:var(--color-success-light);color:var(--color-success);border:1px solid color-mix(in srgb,var(--color-success) 20%,transparent)}.cleanings-counter{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-primary-light);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;color:var(--color-primary)}.waveform{display:flex;align-items:center;gap:3px;height:40px}.waveform-bar{width:4px;background:var(--color-primary);border-radius:2px;animation:waveform 1.2s ease-in-out infinite}.waveform-bar:nth-child(1){animation-delay:0s;height:40%}.waveform-bar:nth-child(2){animation-delay:.1s;height:70%}.waveform-bar:nth-child(3){animation-delay:.2s;height:50%}.waveform-bar:nth-child(4){animation-delay:.3s;height:90%}.waveform-bar:nth-child(5){animation-delay:.4s;height:60%}.waveform-bar:nth-child(6){animation-delay:.5s;height:80%}.waveform-bar:nth-child(7){animation-delay:.6s;height:45%}.waveform-bar:nth-child(8){animation-delay:.7s;height:65%}@keyframes waveform{0%,100%{transform:scaleY(0.5)}50%{transform:scaleY(1)}}.hidden{display:none !important}.text-center{text-align:center}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.gap-4{gap:var(--space-4)}.flex-col{display:flex;flex-direction:column}