:root{--apple-blue:var(--ns-accent);--apple-bg:var(--ns-surface);--apple-card-bg:var(--ns-surface-2);--apple-text-primary:var(--ns-text);--apple-text-secondary:var(--ns-text-2);--apple-radius:20px;--apple-input-bg:var(--ns-input);--apple-btn-radius:980px}:root .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}:root{--mw-badge:#000;--mw-badge-ink:#fff;--mw-hover:#fafafa;--mw-on-accent:white;--mw-result-shadow:0 20px 40px rgba(0,0,0,0.1);--mw-btn-shadow:0 2px 10px rgba(0,0,0,0.05);--mw-progress-track:#e2e8f0;--mw-progress-inset:inset 0 2px 4px rgba(0,0,0,0.1);--mw-progress-text:#4a5568;--mw-faq-text:#6c6074;--mw-upload-border:#ebebeb;--mw-checker-a:#f0f0f087;--mw-checker-b:#ffffff;--mw-upload-glow:inset 0 0 50px 50px rgba(255,255,255,0.22);--mw-rule:#e5e5e7;--mw-accent-glow:0 4px 12px rgba(0,113,227,0.3);--mw-icon-shadow:0 2px 8px rgba(0,0,0,0.1);--mw-sample-label:#efefef;--mw-error:#e74c3c}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--mw-badge:#e8e8ea;--mw-badge-ink:#141416;--mw-hover:var(--ns-surface-2);--mw-on-accent:#141416;--mw-result-shadow:0 20px 40px rgba(0,0,0,0.6);--mw-btn-shadow:0 2px 10px rgba(0,0,0,0.4);--mw-progress-track:#2a2a30;--mw-progress-inset:inset 0 2px 4px rgba(0,0,0,0.5);--mw-progress-text:var(--ns-text-2);--mw-faq-text:var(--ns-text-2);--mw-upload-border:var(--ns-line);--mw-checker-a:var(--ns-checker-a);--mw-checker-b:var(--ns-checker-b);--mw-upload-glow:none;--mw-rule:var(--ns-line);--mw-accent-glow:0 4px 12px rgba(90,200,250,0.3);--mw-icon-shadow:0 2px 8px rgba(0,0,0,0.5);--mw-sample-label:var(--ns-surface-2);--mw-error:#ff6b5e}}:root[data-theme="dark"]{--mw-badge:#e8e8ea;--mw-badge-ink:#141416;--mw-hover:var(--ns-surface-2);--mw-on-accent:#141416;--mw-result-shadow:0 20px 40px rgba(0,0,0,0.6);--mw-btn-shadow:0 2px 10px rgba(0,0,0,0.4);--mw-progress-track:#2a2a30;--mw-progress-inset:inset 0 2px 4px rgba(0,0,0,0.5);--mw-progress-text:var(--ns-text-2);--mw-faq-text:var(--ns-text-2);--mw-upload-border:var(--ns-line);--mw-checker-a:var(--ns-checker-a);--mw-checker-b:var(--ns-checker-b);--mw-upload-glow:none;--mw-rule:var(--ns-line);--mw-accent-glow:0 4px 12px rgba(90,200,250,0.3);--mw-icon-shadow:0 2px 8px rgba(0,0,0,0.5);--mw-sample-label:var(--ns-surface-2);--mw-error:#ff6b5e}.benefit-icon img,.parent span img{filter:invert(var(--ns-ink-invert))}body{background-color:var(--apple-bg);color:var(--apple-text-primary);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;margin:0}.my-wedding-container{max-width:900px;margin:0 auto;padding:60px 20px}.page-header{text-align:center;margin-bottom:60px}.page-header h1{font-size:56px;line-height:1.07;font-weight:600;letter-spacing:-0.005em;margin:0 0 12px;color:var(--apple-text-primary)}.page-header .subtitle{font-size:28px;line-height:1.1;font-weight:400;color:var(--apple-text-secondary);margin:0 0 20px}.page-header .description{font-size:19px;line-height:1.4;font-weight:400;color:var(--apple-text-primary);max-width:600px;margin:0 auto}.upload-and-result-section{display:grid;grid-template-columns:repeat(2, 1fr);gap:30px;margin-bottom:60px}@media (max-width:1024px){.upload-and-result-section{grid-template-columns:1fr;max-width:400px;margin:0 auto 40px}}.upload-card{background:transparent;height:260px}.upload-boxes{display:flex;flex-direction:column;gap:3px}.upload-area{position:relative;width:100%;height:100%;background:linear-gradient(87deg, #ff82c714, #ff85fb14, #4444ff14);border-radius:var(--apple-radius);display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.2, .8, .2, 1);overflow:hidden;cursor:pointer}.upload-area.has-image{background:black}.upload-area.solo-partner-note{cursor:default}.upload-area input[type="file"]{display:none}.upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:var(--apple-blue);cursor:pointer;gap:10px}.upload-label .upload-icon{font-size:48px;opacity:.8}.upload-label .parent{display:flex;align-items:center;font-size:17px;font-weight:600;color:var(--apple-text-primary)}.upload-label .parent span{background-color:var(--mw-badge);color:var(--mw-badge-ink);width:24px;height:24px;line-height:0;display:flex;align-items:center;justify-content:center;margin-left:5px;border-radius:30px}.upload-label .upload-hint{font-size:20px;color:#fff;background:linear-gradient(45deg, #008fff, #46baff);padding:14px 36px;border-radius:50px}.upload-label .solo-hint{font-size:17px;color:var(--apple-text-secondary)}a.upload-label{text-decoration:none}.solo-partner-note .upload-label{cursor:default}.preview-image{max-width:100%;max-height:100%;object-fit:cover}.remove-btn{position:absolute;top:16px;right:16px;background:rgba(255,255,255,0.9);color:#1d1d1f;border:none;border-radius:50%;width:36px;height:36px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 10px rgba(0,0,0,0.1)}.remove-btn:hover{background:#fff;transform:scale(1.1)}.setting-card{background:var(--apple-card-bg);border-radius:var(--apple-radius);padding:32px;display:flex;flex-direction:column}.setting-card h3{margin:0 0 20px 0;font-size:20px;font-weight:600;letter-spacing:-0.003em;color:var(--apple-text-primary)}.setting-card .partner-title,.setting-card .theme-title{margin-top:32px;padding-top:32px;border-top:1px solid var(--ns-line)}.mode-toggle{display:flex;gap:10px}.mode-toggle .mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;background:var(--ns-surface);border:2px solid transparent;border-radius:12px;font-size:15px;font-weight:600;color:var(--apple-text-primary);cursor:pointer;transition:all .2s ease}.mode-toggle .mode-btn .material-symbols-outlined{font-size:28px;color:var(--ns-grey-888)}.mode-toggle .mode-btn:hover{background:var(--mw-hover)}.mode-toggle .mode-btn.selected{border-color:var(--apple-blue)}.mode-toggle .mode-btn.selected .material-symbols-outlined{color:var(--apple-blue)}.theme-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:12px}.theme-grid .theme-option{position:relative;padding:0;background:var(--ns-surface);border:2px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s ease}.theme-grid .theme-option img{display:block;width:100%;object-fit:cover;background:linear-gradient(87deg, #ff82c714, #ff85fb14, #4444ff14)}.theme-grid .theme-option .theme-label{display:block;padding:8px 4px;font-size:14px;font-weight:600;color:var(--apple-text-primary);text-align:center}.theme-grid .theme-option:hover{transform:scale(1.02)}.theme-grid .theme-option.selected{border-color:var(--apple-blue);box-shadow:0 0 0 4px var(--ns-accent-soft)}.theme-grid .theme-option.selected .theme-label{color:var(--apple-blue)}.radio-group{display:flex;flex-direction:column;gap:16px}.radio-option{display:flex;align-items:center;padding:18px 20px;border-radius:12px;cursor:pointer;background:var(--ns-surface);transition:all .2s ease}.radio-option:hover{background:var(--mw-hover)}.radio-option input[type="radio"]{margin-right:16px;appearance:none;width:22px;height:22px;border:1px solid var(--ns-line);border-radius:50%;outline:none;position:relative;cursor:pointer}.radio-option input[type="radio"]:checked{border-color:var(--apple-blue);background:var(--apple-blue)}.radio-option input[type="radio"]:checked::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:8px;height:8px;background:white;border-radius:50%}.radio-option span{font-size:30px;color:var(--ns-grey-888);font-weight:400;margin-right:10px}.generate-section{display:flex;justify-content:center;margin:60px 0;flex-direction:column;align-items:center}.generate-row{display:flex;align-items:center;gap:16px}.login-to-use{display:inline-flex;align-items:center;gap:4px;font-size:15px;color:var(--apple-blue);text-decoration:none;white-space:nowrap}.login-to-use .material-symbols-outlined{font-size:18px}.login-to-use:hover{text-decoration:underline}.generate-btn{padding:18px 40px;min-width:200px;background:var(--apple-blue);color:var(--mw-on-accent);border:none;border-radius:980px;font-size:17px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:12px}.generate-btn:hover:not(:disabled){background:var(--ns-accent-hover);transform:scale(1.02)}.generate-btn:disabled{opacity:.3;cursor:not-allowed}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result-display{background:var(--apple-card-bg);border-radius:var(--apple-radius);padding:40px;text-align:center;margin-top:40px;animation:fadeIn .6s ease-out}.result-display h3{margin:0 0 30px;font-size:32px;font-weight:600;letter-spacing:-0.005em}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.result-image{max-width:100%;border-radius:12px;box-shadow:var(--mw-result-shadow);margin-bottom:30px}.result-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.action-btn{padding:12px 24px;background:var(--ns-surface);color:var(--ns-grey-555);border:none;border-radius:980px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--mw-btn-shadow);display:flex;align-items:center}.action-btn:hover{background:var(--mw-hover);transform:scale(1.02)}.action-btn span{margin-right:3px}a.action-btn{text-decoration:none}.progress-container{position:relative;width:100%;height:10px}.progress-bar{width:100%;height:10px;background-color:var(--mw-progress-track);border-radius:12px;overflow:hidden;box-shadow:var(--mw-progress-inset)}.progress-fill{height:100%;background:linear-gradient(90deg, #4299e1, #3182ce);transition:width .3s ease;border-radius:12px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px}.disclaimer-container{text-align:center;padding-bottom:20px}.disclaimer-text{color:var(--ns-grey-555);font-size:.85rem;line-height:1.4;margin:0}.neon-badge{color:var(--ns-grey-555);font-weight:bold;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;margin-right:8px;display:block}.top-section{text-align:center;padding:50px 0 50px;background-color:var(--ns-surface-2)}.top-section>div{max-width:1200px;margin:auto}.top-section.ns-lite__header h2{font-size:40px;line-height:1.08349;font-weight:600;margin-bottom:24px;color:var(--ns-text)}.top-section.ns-lite__header .ns-lite__intro{font-size:21px;line-height:1.381;font-weight:400;color:var(--ns-text-2);max-width:700px;margin:0 auto}.top-section h2{font-size:34px;font-weight:400}.top-section p{line-height:28px;letter-spacing:.8px;color:var(--ns-grey-666)}.benefits{padding:50px 0 30px}.benefits>div{display:flex;justify-content:center}.benefits>div>div{width:230px;border:solid 1px var(--ns-grey-333);margin:0 10px;padding:20px;border-radius:10px}.benefits>div>div b{display:block;line-height:30px}.benefit-icon{background-color:var(--mw-badge);color:var(--mw-badge-ink);padding:7px;border-radius:7px;font-size:26px}.home-faq{margin-top:2.5rem;margin:auto;max-width:1200px;padding:60px 0}.home-faq h2{margin-bottom:0;padding-left:15px;font-weight:500}.faq-list{display:grid;grid-template-columns:minmax(0, 1fr);gap:1rem}.faq-item{padding:.95rem 1rem;border-bottom:solid 1px var(--ns-grey-ccc)}.faq-item:last-child{border-bottom:0}.faq-item h3{margin-bottom:.35rem;font-weight:500}.faq-item p{color:var(--mw-faq-text)}.upload-box{width:100%;min-height:200px;border-radius:12px;border:1px solid var(--mw-upload-border);background:conic-gradient(var(--mw-checker-a) 0 90deg, var(--mw-checker-b) 0 180deg, var(--mw-checker-a) 0 270deg, var(--mw-checker-b) 0 360deg);background-size:62px 62px;box-shadow:var(--mw-upload-glow)}.change-steps{margin:40px auto;max-width:800px;padding:0 20px}.change-steps>div{display:flex;flex-direction:column;text-align:left;align-items:flex-start;padding:24px 0 24px 60px;border-left:2px solid var(--mw-rule);position:relative;font-size:17px;line-height:1.5;color:var(--apple-text-primary);transition:all .3s ease}.change-steps>div:hover .step-icon{background:var(--apple-blue);color:var(--mw-on-accent);transform:scale(1.1);box-shadow:var(--mw-accent-glow)}.change-steps>div:last-child{border-left:2px solid transparent;padding-bottom:0}.change-steps>div strong{font-weight:600;color:var(--apple-text-primary);display:block;margin-bottom:4px}.step-icon{position:absolute;left:-20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--ns-surface);border:2px solid var(--apple-blue);border-radius:50%;color:var(--apple-blue);font-size:20px !important;transition:all .3s cubic-bezier(.4, 0, .2, 1);box-shadow:var(--mw-icon-shadow)}.sample-images{display:flex;gap:10px;margin-bottom:20px}.sample-images div{flex:1}.sample-images .sample-label{padding:10px;background-color:var(--mw-sample-label);text-align:center;font-size:16px;font-weight:500}.sample-images img{max-width:100%}@media (max-width:1100px){.benefits{padding:0;padding-top:50px}.benefits>div{display:grid;grid-template-columns:1fr 1fr;gap:20px}.benefits>div>div{width:auto;border:solid 1px var(--ns-grey-333);padding:20px;border-radius:10px}.benefits>div>div b{display:block;line-height:30px}}@media (max-width:800px){.result-display{padding:40px 0}.top-section{padding:50px 20px}.disclaimer-container{padding-top:20px}}@media (max-width:768px){.page-header h1{font-size:40px}.generate-section{margin:0}.sample-images{padding-top:30px;display:grid;grid-template-columns:repeat(2, 1fr);justify-items:center}.sample-images div:last-child{grid-column:span 2;max-width:400px}}@media (max-width:500px){.benefits>div{grid-template-columns:1fr}.mode-toggle{flex-direction:column}}.upload-error{color:var(--mw-error);text-align:center;margin:10px auto 0;font-size:15px}.progress-text{text-align:center;margin-top:8px;color:var(--mw-progress-text);font-weight:600;font-size:14px}