@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;--page-bg: #f5f1ea;--page-bg-2: #eef4fb;--surface: rgba(255, 255, 255, .86);--surface-strong: rgba(255, 255, 255, .98);--surface-soft: rgba(255, 255, 255, .66);--surface-tint: rgba(241, 246, 255, .9);--surface-muted: rgba(243, 238, 230, .72);--accent: #2f6fed;--accent-hover: #2559bf;--accent-soft: rgba(47, 111, 237, .12);--accent-glow: rgba(47, 111, 237, .2);--accent-green: #1f9d61;--accent-green-soft: rgba(31, 157, 97, .12);--accent-yellow: #c98a12;--accent-yellow-soft: rgba(201, 138, 18, .14);--accent-red: #d14d4d;--accent-red-soft: rgba(209, 77, 77, .12);--text-primary: #122033;--text-secondary: #526277;--text-muted: #778699;--text-on-accent: #ffffff;--border: rgba(23, 35, 54, .08);--border-strong: rgba(23, 35, 54, .12);--border-focus: rgba(47, 111, 237, .26);--shadow-sm: 0 1px 2px rgba(18, 32, 51, .05);--shadow-md: 0 10px 26px rgba(18, 32, 51, .1);--shadow-lg: 0 22px 48px rgba(18, 32, 51, .12);--shadow-xl: 0 30px 72px rgba(18, 32, 51, .16);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 30px;--radius-full: 9999px;--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-14: 3.5rem;--space-16: 4rem;--font-family: "Manrope", "Segoe UI", system-ui, sans-serif;--font-size-xs: .78rem;--font-size-sm: .9rem;--font-size-base: 1rem;--font-size-lg: 1.08rem;--font-size-xl: 1.28rem;--font-size-2xl: 1.72rem;--font-size-3xl: 2.25rem;--font-size-4xl: 3rem;--transition-fast: .14s cubic-bezier(.2, .8, .2, 1);--transition-normal: .22s cubic-bezier(.2, .8, .2, 1);--transition-slow: .36s cubic-bezier(.2, .8, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-family);color:var(--text-primary);min-height:100vh;background:radial-gradient(circle at top left,rgba(255,255,255,.95) 0,transparent 36%),radial-gradient(circle at 90% 12%,rgba(47,111,237,.12) 0,transparent 28%),linear-gradient(180deg,var(--page-bg) 0%,var(--page-bg-2) 100%)}button,input,textarea,select{font:inherit}button,a{color:inherit}#root{min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.glass-card{background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}@keyframes fade-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fade-in .42s ease-out both}.animate-slide-up{animation:fade-in .52s ease-out both}.animate-scale-in{animation:pop-in .42s ease-out both}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#1220330f}::-webkit-scrollbar-thumb{background:#1220332e;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#12203347}@media(max-width:640px){html{font-size:15px}}.app-shell{min-height:100vh;position:relative;overflow-x:hidden}.app-shell:before,.app-shell:after{content:"";position:fixed;inset:auto;pointer-events:none;z-index:0}.app-shell:before{width:34rem;height:34rem;left:-10rem;top:-12rem;background:radial-gradient(circle,rgba(47,111,237,.12),transparent 70%)}.app-shell:after{width:28rem;height:28rem;right:-10rem;bottom:-10rem;background:radial-gradient(circle,rgba(31,157,97,.12),transparent 68%)}.app-header,.app-main{position:relative;z-index:1;width:min(1220px,calc(100% - 2rem));margin:0 auto}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0 0;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-header:before{content:"";position:absolute;inset:0 -1rem auto;height:100%;background:linear-gradient(180deg,#f5f1eaeb,#f5f1eab8);border-bottom:1px solid rgba(23,35,54,.06);z-index:-1}.brand{display:inline-flex;align-items:center;gap:.8rem;padding:0;border:0;background:transparent;cursor:pointer;text-decoration:none}.app-logo-icon{width:2.75rem;height:2.75rem;border-radius:14px;object-fit:cover;box-shadow:var(--shadow-sm)}.app-logo-text{font-size:var(--font-size-xl);font-weight:800;letter-spacing:-.03em;color:var(--text-primary)}.privacy-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-radius:var(--radius-full);background:#1f9d611a;border:1px solid rgba(31,157,97,.18);color:var(--accent-green);font-size:var(--font-size-sm);font-weight:700;white-space:nowrap}.app-main{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 0 4rem}.workflow-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.workflow-step{position:relative;display:flex;align-items:center;gap:.9rem;padding:.95rem 1rem;border-radius:20px;background:var(--surface-soft);border:1px solid var(--border);box-shadow:var(--shadow-sm);min-width:0}.workflow-step:not(:last-child):after{content:"";position:absolute;right:-.4rem;top:50%;width:.8rem;height:1px;background:#1723361f}.workflow-step-number{width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:999px;background:#1220330f;color:var(--text-secondary);font-size:.88rem;font-weight:800;flex:0 0 auto}.workflow-step-copy{min-width:0;display:flex;flex-direction:column;gap:.14rem}.workflow-step-label{font-size:.92rem;font-weight:800;color:var(--text-primary)}.workflow-step-description{font-size:var(--font-size-xs);color:var(--text-secondary)}.workflow-step.active{background:linear-gradient(180deg,#fffffffa,#f1f6fff5);border-color:#2f6fed2e;box-shadow:0 18px 36px #2f6fed14}.workflow-step.active .workflow-step-number{background:var(--accent);color:var(--text-on-accent)}.workflow-step.completed{background:#1f9d6112;border-color:#1f9d6129}.workflow-step.completed .workflow-step-number{background:var(--accent-green);color:var(--text-on-accent)}.step-frame{display:flex;flex-direction:column;gap:1.3rem}.step-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}.step-hero-copy{min-width:0}.step-eyebrow{margin:0 0 .45rem;color:var(--accent);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.step-title{margin:0;font-size:clamp(2rem,3vw,3.25rem);line-height:1.02;letter-spacing:-.05em}.step-subtitle{margin:.75rem 0 0;max-width:60ch;color:var(--text-secondary);font-size:var(--font-size-lg);line-height:1.55}.step-hero-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.workflow-grid{display:grid;gap:1.25rem}.workflow-grid-upload{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);align-items:start}.workflow-grid-background{grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr);align-items:start}.workflow-grid-crop{grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);align-items:start}.section-card{padding:1.45rem;border-radius:28px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md)}.section-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.section-card-title{margin:0;font-size:1.1rem;font-weight:800;letter-spacing:-.03em}.section-card-description{margin:.35rem 0 0;color:var(--text-secondary);line-height:1.5}.section-card-actions{display:flex;align-items:center;gap:.75rem}.upload-card{display:flex;flex-direction:column;gap:1rem}.upload-zone{position:relative;min-height:22rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;border-radius:26px;border:1.5px dashed rgba(47,111,237,.28);background:linear-gradient(180deg,#fffffff2,#f1f6ffdb),linear-gradient(135deg,rgba(47,111,237,.08),transparent 45%);padding:2rem;cursor:pointer;transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal);overflow:hidden}.upload-zone:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top,rgba(47,111,237,.1),transparent 42%);opacity:.7;pointer-events:none}.upload-zone>*{position:relative;z-index:1}.upload-zone:hover,.upload-zone.drag-over{transform:translateY(-2px);border-color:#2f6fed73;box-shadow:0 18px 42px #2f6fed14}.upload-icon{width:4.3rem;height:4.3rem;display:grid;place-items:center;border-radius:20px;background:#2f6fed1a;color:var(--accent);font-size:1rem;font-weight:800;letter-spacing:.04em}.upload-text{font-size:1.18rem;font-weight:800;letter-spacing:-.03em}.upload-subtext,.upload-formats{color:var(--text-secondary);text-align:center;line-height:1.5}.upload-formats{font-size:var(--font-size-sm)}.upload-actions{display:flex;align-items:center;justify-content:center;gap:.9rem;flex-wrap:wrap}.divider-chip{padding:.45rem .8rem;border-radius:var(--radius-full);background:#1220330d;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:700}.camera-container{display:flex;flex-direction:column;gap:1rem}.camera-handoff{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.1rem;border-radius:26px;border:1px solid rgba(47,111,237,.16);background:linear-gradient(180deg,#fffffffa,#f1f6fff0)}.camera-handoff-copy{display:flex;flex-direction:column;gap:.75rem}.handoff-steps{display:flex;flex-direction:column;gap:.55rem}.handoff-step{display:flex;align-items:center;gap:.65rem;color:var(--text-secondary);line-height:1.45}.handoff-step-number{width:1.7rem;height:1.7rem;display:grid;place-items:center;border-radius:999px;background:#2f6fed14;color:var(--accent);font-size:.78rem;font-weight:800;flex:0 0 auto}.handoff-url{padding:.7rem .85rem;border-radius:16px;background:#1220330a;border:1px solid rgba(18,32,51,.06);color:var(--text-muted);font-size:var(--font-size-xs);word-break:break-all}.camera-handoff-qr{width:15rem;padding:1rem;display:grid;place-items:center;border-radius:22px;background:#fff;border:1px solid rgba(18,32,51,.08);box-shadow:var(--shadow-md)}.camera-preview-wrapper{position:relative;overflow:hidden;border-radius:26px;border:1px solid var(--border);background:#1f2937;box-shadow:var(--shadow-lg)}.camera-video{display:block;width:100%;transform:scaleX(-1)}.camera-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;pointer-events:none}.camera-instruction{position:absolute;top:1rem;left:1rem;right:1rem;margin:0 auto;width:fit-content;padding:.55rem .9rem;border-radius:var(--radius-full);background:#ffffff29;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:var(--font-size-sm);font-weight:700;text-align:center}.face-outline{width:min(58%,18rem);aspect-ratio:.76;border-radius:999px;border:2px dashed rgba(255,255,255,.72)}.camera-tips{position:absolute;bottom:1rem;left:1rem;right:1rem;display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}.camera-tip{padding:.42rem .75rem;border-radius:var(--radius-full);background:#ffffff24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffeb;font-size:var(--font-size-xs);font-weight:600}.action-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.action-row-center{justify-content:center}.action-row-stretch{justify-content:flex-end}.action-flex{flex:1 1 16rem}.sidebar-stack{display:flex;flex-direction:column;gap:1rem}.tip-list{display:flex;flex-direction:column;gap:.75rem}.tip-item{padding:.9rem 1rem;border-radius:18px;background:#12203309;border:1px solid rgba(18,32,51,.06);color:var(--text-secondary);line-height:1.5}.bg-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.bg-option{appearance:none;border:1px solid var(--border);background:#ffffffe6;border-radius:22px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.55rem;cursor:pointer;transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.bg-option:hover{transform:translateY(-2px);border-color:#2f6fed33;box-shadow:var(--shadow-sm)}.bg-option.selected{border-color:#2f6fed5c;box-shadow:0 18px 32px #2f6fed14}.bg-swatch{width:4rem;height:4rem;border-radius:18px;border:1px solid rgba(18,32,51,.08);box-shadow:inset 0 0 0 1px #ffffff5c}.bg-label{font-weight:800;font-size:.98rem}.bg-hex{color:var(--text-muted);font-size:var(--font-size-xs);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.bg-description{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.45;text-align:center}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.comparison-panel{display:flex;flex-direction:column;gap:.6rem}.panel-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:700}.photo-preview-area{display:flex;flex-direction:column;gap:1rem}.photo-frame{position:relative;overflow:hidden;border-radius:24px;background:var(--surface-strong);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.preview-image{display:block;width:100%;height:auto;max-height:20rem;object-fit:contain}.empty-preview{min-height:16rem;display:grid;place-items:center;padding:1.5rem;text-align:center;color:var(--text-secondary);line-height:1.5}.callout{padding:.95rem 1rem;border-radius:18px;border:1px solid transparent;line-height:1.5}.callout-info{background:#2f6fed14;border-color:#2f6fed29;color:var(--text-primary)}.callout-success{background:var(--accent-green-soft);border-color:#1f9d6129;color:var(--text-primary)}.callout-warning{background:var(--accent-yellow-soft);border-color:#c98a122e;color:var(--text-primary)}.status-callout{margin-top:.25rem}.inline-status{display:inline-flex;align-items:center;gap:.7rem}.progress-container{display:flex;flex-direction:column;gap:.55rem}.progress-container-centered{max-width:28rem;margin:0 auto}.progress-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.progress-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:700}.progress-value{color:var(--accent-green);font-size:var(--font-size-sm);font-weight:800}.progress-bar-track{width:100%;height:.55rem;overflow:hidden;border-radius:var(--radius-full);background:#12203314}.progress-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#76a2ff);transition:width var(--transition-normal)}.progress-bar-fill.green{background:linear-gradient(90deg,var(--accent-green),#4dd18e)}.progress-text{color:var(--text-secondary);font-size:var(--font-size-sm)}.standard-selector{position:relative}.standard-selector-trigger{width:100%;display:flex;align-items:center;gap:.75rem;padding:1rem 1.1rem;border-radius:20px;border:1px solid var(--border-strong);background:var(--surface-strong);color:var(--text-primary);cursor:pointer;text-align:left;box-shadow:var(--shadow-sm)}.standard-selector-trigger:hover{border-color:#2f6fed38}.standard-selector-trigger .flag{font-size:1.3rem;flex:0 0 auto}.selected-standard-copy{flex:1;font-weight:800;letter-spacing:-.02em}.chevron{margin-left:auto;transition:transform var(--transition-fast);color:var(--text-muted)}.chevron.open{transform:rotate(180deg)}.standard-dropdown{position:absolute;z-index:15;top:calc(100% + .65rem);left:0;right:0;overflow:hidden;border-radius:22px;border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow-lg);max-height:20rem}.standard-search{padding:.85rem;border-bottom:1px solid var(--border)}.standard-search input{width:100%;padding:.8rem .95rem;border-radius:14px;border:1px solid var(--border);background:#12203308;color:var(--text-primary);outline:none}.standard-search input:focus{border-color:var(--border-focus);box-shadow:0 0 0 4px #2f6fed14}.standard-option{width:100%;display:flex;align-items:flex-start;gap:.9rem;padding:.9rem 1rem;border:0;border-top:1px solid rgba(18,32,51,.04);background:transparent;cursor:pointer;text-align:left}.standard-option:first-of-type{border-top:0}.standard-option:hover,.standard-option.selected{background:#2f6fed0f}.standard-option .details{display:flex;flex-direction:column;gap:.15rem}.country-name{font-weight:800;color:var(--text-primary)}.dimensions{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.4}.crop-stage-card,.export-preview,.background-card,.preview-card,.selector-card{min-width:0}.photo-frame-crop{overflow:visible}.preview-canvas,.export-preview-canvas{display:block;width:100%;max-width:100%;height:auto}.preview-canvas{max-height:31rem;object-fit:contain}.face-guide-overlay{position:absolute;inset:0;pointer-events:none}.guide-line{position:absolute;background:#2f6fed47}.guide-line-v{top:0;bottom:0;width:1px}.guide-line-h{left:0;right:0;height:1px}.dimensions-badge{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;align-self:center;padding:.55rem .9rem;border-radius:var(--radius-full);background:#1220330d;color:var(--text-secondary);border:1px solid rgba(18,32,51,.08);font-size:var(--font-size-sm);font-weight:700}.dimensions-badge-center{margin-inline:auto}.cropper-container{position:relative;width:100%;height:min(60vh,36rem);min-height:20rem;overflow:hidden;border-radius:24px;border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#0f172a}.error-stack{display:flex;flex-direction:column;gap:.85rem}.crop-fallback-card{width:100%;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.05rem;border-radius:22px;background:linear-gradient(180deg,#fffffffa,#fff8e7f5);border:1px solid rgba(201,138,18,.18);box-shadow:0 18px 32px #c98a1214}.crop-fallback-badge{display:inline-flex;align-self:flex-start;padding:.35rem .65rem;border-radius:var(--radius-full);background:#c98a121a;color:var(--accent-yellow);font-size:var(--font-size-xs);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.crop-fallback-title{font-size:1.05rem;font-weight:900;letter-spacing:-.03em}.crop-fallback-message{color:var(--text-secondary);line-height:1.55}.crop-fallback-actions{display:flex;gap:.75rem;flex-wrap:wrap}.export-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.2fr);gap:1.25rem;align-items:start}.export-preview{position:sticky;top:5.5rem}.export-preview-canvas{border-radius:24px;border:1px solid var(--border);box-shadow:var(--shadow-md);overflow:hidden}.export-options{display:flex;flex-direction:column;gap:1rem}.option-help{margin:.75rem 0 0;color:var(--text-secondary);line-height:1.55}.quality-slider-container{display:flex;flex-direction:column;gap:.7rem}.quality-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.quality-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:700}.quality-value{color:var(--accent);font-size:var(--font-size-sm);font-weight:800}.quality-slider{width:100%;appearance:none;height:.5rem;border-radius:var(--radius-full);background:#12203314;outline:none}.quality-slider::-webkit-slider-thumb{appearance:none;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #2f6fed1f;cursor:pointer}.quality-slider::-moz-range-thumb{width:1.15rem;height:1.15rem;border:0;border-radius:50%;background:var(--accent);cursor:pointer}.file-size-estimate{color:var(--text-secondary);font-size:var(--font-size-sm)}.quality-explanation{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.55}.preset-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.preset-btn{display:flex;flex-direction:column;gap:.25rem;align-items:center;padding:.95rem .75rem;border-radius:18px;border:1px solid var(--border);background:#12203308;cursor:pointer}.preset-btn:hover,.preset-btn.active{border-color:#2f6fed3d;background:#2f6fed12}.preset-btn .label{font-size:.92rem;font-weight:800}.preset-btn .desc{color:var(--text-secondary);font-size:.75rem;line-height:1.35;text-align:center}.format-toggles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.45rem;border-radius:18px;background:#1220330a}.format-toggles-secondary{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.9rem}.format-toggle{padding:.75rem .9rem;border:0;border-radius:14px;background:transparent;color:var(--text-secondary);font-weight:800;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.format-toggle.active{background:var(--surface-strong);color:var(--accent);box-shadow:var(--shadow-sm)}.format-toggle:hover:not(.active){color:var(--text-primary)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.option-toggle-copy{color:var(--text-primary);font-weight:700}.toggle-switch{position:relative;width:3.1rem;height:1.8rem;flex:0 0 auto}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:#1220331f;border-radius:var(--radius-full);transition:background var(--transition-fast),border-color var(--transition-fast);border:1px solid rgba(18,32,51,.08)}.toggle-slider:before{content:"";position:absolute;left:.18rem;top:.18rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.toggle-switch input:checked+.toggle-slider{background:var(--accent);border-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(1.3rem)}.complete-screen{display:flex;justify-content:center}.complete-card{width:100%;max-width:46rem;padding:2.2rem;border-radius:32px;background:var(--surface-strong);border:1px solid var(--border);box-shadow:var(--shadow-xl);text-align:center}.complete-icon{width:4.8rem;height:4.8rem;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:#1f9d611f;color:var(--accent-green);font-size:1rem;font-weight:900;letter-spacing:.04em}.complete-title{margin:0;font-size:clamp(1.8rem,2.5vw,2.6rem);letter-spacing:-.04em}.complete-message{max-width:42rem;margin:.8rem auto 0;color:var(--text-secondary);line-height:1.6}.complete-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1.6rem}.complete-privacy{margin-top:1rem;color:var(--accent-green);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.85rem 1.15rem;border-radius:16px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:var(--font-size-base);font-weight:800;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-lg{padding:1rem 1.35rem;border-radius:18px}.btn-primary{background:linear-gradient(180deg,#4c86ff 0%,var(--accent) 100%);color:var(--text-on-accent);box-shadow:0 12px 26px #2f6fed38}.btn-primary:hover:not(:disabled){box-shadow:0 16px 30px #2f6fed42}.btn-success{background:linear-gradient(180deg,#2ab574 0%,var(--accent-green) 100%);color:var(--text-on-accent);box-shadow:0 12px 24px #1f9d6133}.btn-outline{background:var(--surface-strong);border-color:var(--border-strong);color:var(--text-primary)}.btn-outline:hover:not(:disabled){border-color:#2f6fed38;background:#2f6fed0a}.btn-camera{background:linear-gradient(180deg,#2f6fed,#5d8eff);color:#fff;box-shadow:0 12px 24px #2f6fed2e}.capture-btn{min-width:8rem;padding:.95rem 1.15rem;border-radius:999px;border:0;background:linear-gradient(180deg,#ff8f66,#f06d44);color:#fff;font-size:.98rem;font-weight:900;box-shadow:0 14px 24px #f06d442e;cursor:pointer}.spinner{display:inline-block;width:1rem;height:1rem;border-radius:50%;border:2px solid rgba(255,255,255,.34);border-top-color:currentColor;animation:spin .72s linear infinite}.modal-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1.25rem;background:#1220336b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content{width:min(100%,32rem);padding:1.6rem;border-radius:28px;background:var(--surface-strong);border:1px solid var(--border);box-shadow:var(--shadow-xl)}.modal-icon{width:4rem;height:4rem;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:var(--accent-yellow-soft);color:var(--accent-yellow);font-size:.9rem;font-weight:900}.modal-title{margin:0;font-size:1.35rem;font-weight:900;letter-spacing:-.03em;text-align:center}.modal-message{margin:.8rem 0 0;color:var(--text-secondary);text-align:center;line-height:1.6}.modal-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.background-modal{width:min(100%,34rem);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.9rem}.background-modal-processing,.background-modal-success,.background-modal-error{padding-top:1.4rem}.background-modal-badge{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .85rem;border-radius:var(--radius-full);background:#2f6fed14;color:var(--accent);font-size:var(--font-size-xs);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.background-modal-badge.success{background:#1f9d611a;color:var(--accent-green)}.background-modal-badge.error{background:#d14d4d1a;color:var(--accent-red)}.background-modal-animation{display:flex;align-items:center;gap:.5rem;min-height:2.2rem}.background-modal-animation span{width:.7rem;height:.7rem;border-radius:50%;background:linear-gradient(180deg,#4c86ff 0%,var(--accent) 100%);animation:backgroundPulse 1.2s ease-in-out infinite}.background-modal-animation span:nth-child(2){animation-delay:.15s}.background-modal-animation span:nth-child(3){animation-delay:.3s}.background-modal-icon{width:4.25rem;height:4.25rem;display:grid;place-items:center;border-radius:50%;font-size:1.4rem;font-weight:900;box-shadow:var(--shadow-sm)}.background-modal-icon.success{color:var(--accent-green);background:#1f9d611f}.background-modal-icon.error{color:var(--accent-red);background:#d14d4d1f}.background-modal-progress{width:100%;display:flex;flex-direction:column;gap:.6rem;padding:.85rem;border-radius:22px;background:#12203308;border:1px solid rgba(18,32,51,.06)}.background-modal-preview{width:100%;max-width:16rem;padding:.65rem;border-radius:24px;background:var(--surface-strong);border:1px solid rgba(18,32,51,.08);box-shadow:var(--shadow-md)}.background-modal-preview img{display:block;width:100%;border-radius:18px}.background-modal-help{width:100%;padding:.9rem 1rem;border-radius:18px;background:#c98a121a;border:1px solid rgba(201,138,18,.16);color:var(--text-secondary);line-height:1.55}@keyframes backgroundPulse{0%,to{transform:translateY(0) scale(1);opacity:.55}50%{transform:translateY(-4px) scale(1.1);opacity:1}}@media(max-width:1100px){.workflow-grid-upload,.workflow-grid-background,.workflow-grid-crop,.export-layout{grid-template-columns:1fr}.export-preview{position:static}}@media(max-width:900px){.workflow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-step:not(:last-child):after{display:none}.step-hero{flex-direction:column;align-items:flex-start}.bg-options,.comparison-grid,.preset-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-handoff{grid-template-columns:1fr}.camera-handoff-qr{width:100%;max-width:18rem;justify-self:center}}@media(max-width:640px){.app-header,.app-main{width:min(100%,calc(100% - 1rem))}.app-header{padding-top:.75rem}.privacy-badge{padding-inline:.85rem}.workflow-steps{grid-template-columns:1fr}.workflow-step{padding:.9rem .95rem}.section-card,.complete-card{padding:1.15rem;border-radius:24px}.bg-options,.comparison-grid,.preset-buttons,.format-toggles,.format-toggles-secondary{grid-template-columns:1fr}.toggle-row,.quality-header,.progress-header{flex-direction:column;align-items:flex-start}.action-row-stretch{justify-content:stretch}.action-row-stretch .action-flex,.complete-actions .btn,.action-row .btn{width:100%;flex:1 1 100%}.action-row,.complete-actions{width:100%}.upload-zone{min-height:18rem;padding:1.4rem}.camera-preview-wrapper{border-radius:20px}.camera-handoff{padding:.95rem}.cropper-container{min-height:18rem}}
