.header{padding:calc(env(safe-area-inset-top,12px) + 12px) 20px 0;background:var(--navy);position:relative}.header-inner{text-align:center;padding-bottom:12px}.header-logo{font-family:var(--font-display);font-size:36px;letter-spacing:1px;line-height:1}.logo-paper{color:var(--cream)}.logo-amp{color:var(--gold);margin:0 3px}.logo-glow{color:var(--gold-light);text-shadow:0 0 20px rgba(226,201,126,.6)}.header-tagline{font-family:var(--font-body);font-size:11px;color:#fdf8f38c;letter-spacing:.8px;text-transform:uppercase;margin-top:4px}.header-divider{margin:0 -20px}.header-divider svg{width:100%;display:block;background:var(--navy)}.header-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.header-back-btn{font-family:var(--font-body);font-size:13px;color:#fdf8f3b3;background:none;border:none;cursor:pointer;padding:4px 0}.vibe-btn{width:36px;height:36px;border-radius:50%;background:#c9a84c33;border:1px solid rgba(201,168,76,.4);color:var(--gold-light);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.vibe-btn:active{background:#c9a84c59}.vibe-btn-name{font-family:var(--font-body);font-size:10px;font-weight:600;max-width:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe-btn-icon{font-size:14px}.style-dna-bar{display:flex;align-items:center;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:8px;background:none;border:none;cursor:pointer;padding:0 0 6px}.dna-tag{font-family:var(--font-body);font-size:10px;background:#c9a84c26;border:1px solid rgba(201,168,76,.3);color:var(--gold-light);border-radius:20px;padding:3px 8px;white-space:nowrap}.dna-edit{font-family:var(--font-body);font-size:10px;color:#fdf8f34d;padding:3px 4px;text-decoration:underline}.step-indicator{padding:14px 20px 10px;background:var(--navy)}.step-track{display:flex;align-items:center}.step-dot-wrap{display:flex;align-items:center;flex:1}.step-dot-wrap:last-child{flex:0}.step-dot{width:8px;height:8px;border-radius:50%;background:#fdf8f333;flex-shrink:0;transition:all .3s ease}.step-dot-wrap.done .step-dot{background:var(--gold)}.step-dot-wrap.active .step-dot{background:var(--gold-light);box-shadow:0 0 8px #e2c97e99;width:10px;height:10px}.step-line{flex:1;height:1px;background:#fdf8f31f;transition:background .3s}.step-dot-wrap.done .step-line{background:#c9a84c66}.step-label-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.step-label-current{font-family:var(--font-serif);font-size:13px;color:var(--gold-light);letter-spacing:.3px}.step-count{font-family:var(--font-body);font-size:11px;color:#fdf8f366;letter-spacing:.5px}.upload-zone{border:1.5px dashed rgba(201,168,76,.4);border-radius:20px;padding:32px 20px;background:linear-gradient(135deg,#c9a84c0a,#1a274408);cursor:pointer;transition:all .2s;margin-bottom:20px;text-align:center}.upload-zone.has-image{border-color:var(--gold);background:linear-gradient(135deg,#c9a84c14,#1a27440d);cursor:default;padding:24px}.upload-icon svg{width:64px;height:64px;margin:0 auto 12px;display:block}.upload-label{font-family:var(--font-serif);font-size:17px;color:var(--navy);margin-bottom:6px}.upload-hint{font-family:var(--font-body);font-size:12px;color:var(--text-light)}.portrait-preview{display:flex;flex-direction:column;align-items:center;gap:16px}.portrait-frame{position:relative;width:180px;height:180px;border-radius:50%;overflow:hidden;border:3px solid var(--gold)}.portrait-frame img{width:100%;height:100%;object-fit:cover}.portrait-glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:inset 0 0 20px #c9a84c33}.change-photo-btn{font-family:var(--font-body);font-size:13px;color:var(--navy);background:transparent;border:1px solid rgba(26,39,68,.25);border-radius:20px;padding:7px 16px;cursor:pointer;transition:all .2s}.change-photo-btn:active{background:var(--blush)}.upload-tips{display:flex;flex-direction:column;gap:8px}.tip{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:12px;color:var(--text-light)}.tip-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0}.audience-row{display:flex;gap:8px;margin-bottom:14px}.audience-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:1.5px solid rgba(26,39,68,.12);border-radius:14px;background:#fff;cursor:pointer;transition:all .2s;position:relative}.audience-btn.selected{border-color:var(--gold);background:linear-gradient(135deg,#c9a84c1a,#1a274408)}.audience-emoji{font-size:24px}.audience-label{font-family:var(--font-serif);font-size:13px;font-weight:600;color:var(--navy)}.audience-check{position:absolute;top:6px;right:8px;font-size:10px;font-weight:700;color:var(--gold)}.audience-note{font-family:var(--font-body);font-size:12px;line-height:1.5;padding:10px 14px;border-radius:12px;margin-bottom:12px}.audience-note.kids{background:#ffc8641f;border:1px solid rgba(255,180,50,.3);color:var(--navy)}.audience-note.teen{background:#9664dc14;border:1px solid rgba(150,100,220,.25);color:var(--navy)}.pt-group-label{font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-light);margin-bottom:10px}.pt-cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cover-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;border:1.5px solid rgba(26,39,68,.12);border-radius:16px;background:#fff;cursor:pointer;transition:all .2s;text-align:center}.cover-card.selected{border-color:var(--gold);background:linear-gradient(135deg,#c9a84c14,#1a27440a)}.cover-card-check{position:absolute;top:8px;right:10px;width:20px;height:20px;border-radius:50%;background:var(--gold);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.cover-card.selected .cover-card-check{opacity:1}.cover-card:not(.selected) .cover-card-check{background:#1a27441a;color:var(--text-light);opacity:1;font-size:14px}.cover-card .card-icon{font-size:24px}.cover-card .card-label{font-family:var(--font-serif);font-size:14px;font-weight:600;color:var(--navy)}.cover-card .card-desc{font-family:var(--font-body);font-size:11px;color:var(--text-light);line-height:1.3}.pt-interior-list{display:flex;flex-direction:column;gap:8px}.interior-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1.5px solid rgba(26,39,68,.1);border-radius:14px;background:#fff;transition:all .2s}.interior-row.selected{border-color:var(--navy);background:#1a274408}.interior-toggle{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;flex:1;text-align:left;padding:0}.interior-check{width:20px;height:20px;border-radius:6px;border:1.5px solid rgba(26,39,68,.25);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;transition:all .2s}.interior-check.checked{background:var(--navy);border-color:var(--navy)}.interior-icon{font-size:18px;flex-shrink:0}.interior-text{display:flex;flex-direction:column;gap:1px}.interior-label{font-family:var(--font-serif);font-size:14px;font-weight:600;color:var(--navy)}.interior-desc{font-family:var(--font-body);font-size:11px;color:var(--text-light)}.qty-control{display:flex;align-items:center;gap:8px;flex-shrink:0}.qty-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--navy);background:transparent;color:var(--navy);font-size:16px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1}.qty-btn:active{background:var(--navy);color:#fff}.qty-num{font-family:var(--font-serif);font-size:17px;font-weight:600;color:var(--navy);min-width:20px;text-align:center}.page-set-summary{margin-top:20px;background:var(--navy);border-radius:16px;padding:14px 16px}.pss-inner{display:flex;align-items:baseline;gap:6px;margin-bottom:10px}.pss-count{font-family:var(--font-display);font-size:36px;color:var(--gold-light);line-height:1}.pss-label{font-family:var(--font-body);font-size:13px;color:#fdf8f399}.pss-list{display:flex;flex-wrap:wrap;gap:6px}.pss-tag{font-family:var(--font-body);font-size:11px;background:#ffffff1a;color:#fdf8f3d9;border-radius:20px;padding:4px 10px;white-space:nowrap}.pt-group-note{font-size:10px;font-weight:400;color:var(--green);letter-spacing:.3px;text-transform:none}.pss-tag.lined{background:#3a8c5c26;color:var(--green)}.sticker-info-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--gold-pale);border:1px solid rgba(201,168,76,.3);border-radius:12px;margin-top:10px;font-size:16px}.sticker-info-title{font-family:var(--font-serif);font-size:14px;font-weight:600;color:var(--navy);margin-bottom:3px}.sticker-info-desc{font-family:var(--font-body);font-size:12px;color:var(--text-light);line-height:1.5}.theme-grid{display:flex;flex-wrap:wrap;gap:8px}.theme-pill{display:flex;align-items:center;gap:6px;padding:10px 16px;border:1.5px solid rgba(26,39,68,.14);border-radius:50px;background:#fff;cursor:pointer;transition:all .2s;font-family:var(--font-body)}.theme-pill:active{transform:scale(.97)}.theme-pill.selected{background:var(--navy);border-color:var(--navy);color:#fff}.theme-emoji{font-size:16px}.theme-label{font-size:13px;font-weight:500;color:var(--text-dark);white-space:nowrap}.theme-pill.selected .theme-label{color:#fff}.style-section{margin-bottom:28px}.style-section-label{font-family:var(--font-serif);font-size:16px;font-weight:600;color:var(--navy);margin-bottom:12px;display:flex;align-items:center;gap:8px}.optional-tag{font-family:var(--font-body);font-size:11px;font-weight:400;color:var(--text-light);background:var(--blush);padding:2px 8px;border-radius:20px;letter-spacing:.3px}.bg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.bg-swatch{display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:none;cursor:pointer;padding:0}.bg-preview{width:56px;height:56px;border-radius:12px;border:2px solid transparent;transition:all .2s}.bg-swatch.selected .bg-preview{border-color:var(--navy);box-shadow:0 0 0 2px #1a274426}.bg-label{font-family:var(--font-body);font-size:10px;color:var(--text-light);text-align:center;line-height:1.2}.decor-card{display:flex;align-items:center;gap:8px;padding:11px 14px;border:1.5px solid rgba(26,39,68,.12);border-radius:12px;background:#fff;cursor:pointer;transition:all .2s;text-align:left}.decor-card.selected{border-color:var(--navy);background:var(--navy)}.decor-icon{font-size:18px;width:24px;text-align:center}.decor-label{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-dark)}.decor-card.selected .decor-label{color:#fff}.words-wrap{position:relative;margin-bottom:8px}.custom-textarea{width:100%;padding:14px 16px;border:1.5px solid rgba(26,39,68,.18);border-radius:14px;font-family:var(--font-serif);font-size:15px;color:var(--text-dark);background:#fff;resize:none;outline:none;line-height:1.7;transition:border-color .2s;display:block}.custom-textarea:focus{border-color:var(--navy)}.custom-textarea::placeholder{color:var(--text-light);font-style:italic;font-size:13px;line-height:1.6}.clear-btn{position:absolute;top:10px;right:12px;background:var(--blush);border:none;border-radius:20px;padding:4px 10px;font-family:var(--font-body);font-size:11px;color:var(--text-mid);cursor:pointer}.words-hint{font-family:var(--font-body);font-size:12px;color:var(--text-light);line-height:1.4}.trial-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--gold-pale);border:1px solid rgba(201,168,76,.3);border-radius:12px;margin-bottom:16px;cursor:default}.trial-banner.exhausted{background:#fff0f0;border-color:#dc262633;cursor:pointer}.trial-icon{font-size:18px;flex-shrink:0}.trial-text{flex:1}.trial-label{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--navy);margin-bottom:4px}.trial-banner.exhausted .trial-label{color:#dc2626}.trial-sub{font-family:var(--font-body);font-size:11px;color:var(--text-light)}.trial-bar{height:4px;background:#c9a84c33;border-radius:2px;overflow:hidden}.trial-bar-fill{height:100%;background:var(--gold);border-radius:2px;transition:width .4s ease}.trial-upgrade-btn{font-family:var(--font-body);font-size:12px;font-weight:700;color:#dc2626;flex-shrink:0}.trial-upgrade-link{font-family:var(--font-body);font-size:11px;color:var(--gold);background:none;border:none;cursor:pointer;text-decoration:underline;flex-shrink:0}.generate-header{text-align:center;margin-bottom:24px}.generate-sparkle{font-size:36px;margin-bottom:8px;animation:glow 2s ease-in-out infinite}.summary-card{background:#fff;border-radius:18px;border:1px solid rgba(201,168,76,.25);overflow:hidden;margin-bottom:24px;box-shadow:0 4px 20px #1a27440f}.summary-portrait{height:120px;background:linear-gradient(135deg,var(--navy),var(--navy-mid));display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.summary-portrait:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.3))}.summary-portrait-img{width:100%;height:100%;object-fit:cover}.summary-rows{padding:16px;display:flex;flex-direction:column;gap:10px}.summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(26,39,68,.06)}.summary-row:last-child{border-bottom:none;padding-bottom:0}.summary-label{font-family:var(--font-body);font-size:12px;color:var(--text-light);text-transform:uppercase;letter-spacing:.6px;flex-shrink:0}.summary-value{font-family:var(--font-serif);font-size:14px;color:var(--navy);text-align:right}.summary-value.italic{font-style:italic;font-size:13px}.loading-state{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,var(--navy),var(--navy-mid));border-radius:16px;margin-bottom:16px}.loading-orb{width:36px;height:36px;border-radius:50%;border:2.5px solid rgba(201,168,76,.3);border-top-color:var(--gold-light);animation:spin .9s linear infinite;flex-shrink:0}.loading-text{flex:1}.loading-main{font-family:var(--font-serif);font-size:16px;color:var(--cream);margin-bottom:3px}.loading-sub{font-family:var(--font-body);font-size:12px;color:#fdf8f38c}.generate-note{font-family:var(--font-body);font-size:12px;color:var(--text-light);text-align:center;margin-top:14px;line-height:1.5}.queue-preview{background:#fff;border-radius:16px;border:1px solid rgba(201,168,76,.2);padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.queue-row{display:flex;align-items:center;gap:10px}.queue-icon{font-size:18px;flex-shrink:0}.queue-label{font-family:var(--font-serif);font-size:14px;color:var(--navy);flex:1}.queue-qty{font-family:var(--font-body);font-size:12px;font-weight:600;background:var(--navy);color:#fff;border-radius:20px;padding:2px 8px}.queue-divider{height:1px;background:#1a274414;margin:2px 0}.queue-summary-row{display:flex;justify-content:space-between;align-items:center}.queue-value{font-family:var(--font-serif);font-size:13px;color:var(--navy);text-align:right}.progress-bar-wrap{width:100%;height:4px;background:#fff3;border-radius:2px;margin-top:8px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--gold-light);border-radius:2px;transition:width .5s ease}.style-active-banner{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#c9a84c14;border:1px solid rgba(201,168,76,.25);border-radius:12px;margin-bottom:16px}.style-active-icon{font-size:16px;color:var(--gold);flex-shrink:0}.style-active-label{font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--gold);margin-bottom:2px}.style-active-tags{font-family:var(--font-serif);font-size:13px;color:var(--navy)}.queue-instant{font-size:12px;color:var(--green);margin-left:4px}.result-panel{display:flex;flex-direction:column;min-height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.result-header{background:var(--navy);padding:calc(env(safe-area-inset-top,12px) + 16px) 20px 20px}.result-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.result-title{font-family:var(--font-display);font-size:28px;color:var(--cream);line-height:1;margin-bottom:4px}.result-subtitle{font-family:var(--font-body);font-size:12px;color:#fdf8f380;letter-spacing:.4px}.new-page-btn{padding:8px 16px;background:transparent;border:1px solid rgba(201,168,76,.4);border-radius:20px;color:var(--gold-light);font-family:var(--font-body);font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}.new-page-btn:active{background:#c9a84c26}.page-quote-preview{background:#ffffff0f;border:1px solid rgba(201,168,76,.2);border-radius:12px;padding:14px 16px}.pqp-quote{font-family:var(--font-serif);font-size:14px;font-style:italic;color:#fdf8f3d9;line-height:1.5;margin-bottom:6px}.pqp-title{font-family:var(--font-display);font-size:18px;color:var(--gold-light)}.result-image-wrap{position:relative;background:#f0ebe3;min-height:300px;display:flex;align-items:center;justify-content:center}.result-image{width:100%;display:block;max-height:70vh;object-fit:contain}.image-badge{position:absolute;bottom:10px;right:12px;font-family:var(--font-body);font-size:10px;color:#1a274466;letter-spacing:.5px}.regenerating-overlay{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 20px}.regen-spinner{width:40px;height:40px;border:3px solid rgba(201,168,76,.2);border-top-color:var(--gold);border-radius:50%;animation:spin .9s linear infinite}.regenerating-overlay p{font-family:var(--font-serif);font-size:16px;color:var(--text-mid);font-style:italic}.download-section{padding:20px 20px 0}.download-label{font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);margin-bottom:10px}.download-buttons{display:flex;gap:8px;align-items:stretch}.download-buttons .btn-gold{padding:13px 16px;font-size:15px}.download-buttons .btn-outline-navy{padding:13px 12px;font-size:13px;font-weight:600}.regen-section{padding:14px 20px 0;display:flex;flex-direction:column;align-items:center;gap:6px}.regen-btn{width:100%;padding:13px 20px;background:transparent;border:1.5px solid rgba(26,39,68,.2);border-radius:12px;font-family:var(--font-body);font-size:14px;color:var(--navy);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.regen-btn:active{background:var(--blush)}.regen-btn:disabled{opacity:.5;cursor:not-allowed}.regen-note{font-family:var(--font-body);font-size:11px;color:var(--text-light)}.page-content-detail{margin:20px;background:#fff;border-radius:16px;border:1px solid rgba(201,168,76,.2);padding:18px}.pcd-title{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--navy);margin-bottom:14px}.pcd-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.pcd-section{background:var(--green-pale);border-radius:20px;padding:5px 12px}.pcd-label{font-family:var(--font-body);font-size:12px;color:var(--green);font-weight:500}.pcd-prompt{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--gold-pale);border-radius:10px;margin-bottom:12px}.pcd-prompt-label{font-family:var(--font-body);font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--gold)}.pcd-prompt-text{font-family:var(--font-serif);font-size:14px;font-style:italic;color:var(--navy);line-height:1.5}.pcd-footer{font-family:var(--font-display);font-size:18px;color:var(--navy);text-align:center;margin-bottom:12px}.pcd-credit{font-family:var(--font-body);font-size:11px;color:var(--text-light);text-align:center}.result-iframe{width:816px;height:1056px;border:none;display:block;transform-origin:top left;transform:scale(.44);margin-bottom:-591.36px}@media (max-width: 480px){.result-iframe{transform:scale(.38);margin-bottom:-654.72px}}.thumbnail-strip{display:flex;gap:8px;padding:16px 20px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid rgba(26,39,68,.08)}.thumbnail-strip::-webkit-scrollbar{display:none}.thumb-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:2px solid transparent;border-radius:10px;padding:4px;cursor:pointer;flex-shrink:0;transition:all .2s}.thumb-btn.active{border-color:var(--gold)}.thumb-img{width:56px;height:72px;object-fit:cover;border-radius:6px}.thumb-placeholder{width:56px;height:72px;border-radius:6px;background:var(--cream-warm);border:1px dashed rgba(26,39,68,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative}.thumb-icon{font-size:20px}.thumb-spinner{width:16px;height:16px;border:2px solid rgba(201,168,76,.3);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.thumb-error{font-size:16px;color:#dc2626;font-weight:700}.thumb-label{font-family:var(--font-body);font-size:9px;color:var(--text-light);text-align:center;max-width:60px;line-height:1.2}.active-page-view{padding-bottom:20px}.page-error-state,.page-loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;text-align:center}.error-icon{font-size:32px}.error-msg{font-family:var(--font-body);font-size:13px;color:#dc2626;max-width:280px;line-height:1.5}.page-loading-state p{font-family:var(--font-serif);font-size:16px;font-style:italic;color:var(--text-mid)}.download-all-section{padding:20px;display:flex;flex-direction:column;gap:6px;align-items:center;border-top:1px solid rgba(26,39,68,.08)}.lined-done{background:var(--green-pale)!important;border-color:#3a8c5c4d!important}.lined-badge{position:absolute;bottom:10px;left:12px;font-family:var(--font-body);font-size:10px;color:var(--green);background:var(--green-pale);border-radius:20px;padding:3px 8px;font-weight:600}.sticker-print-note{display:flex;align-items:flex-start;gap:10px;margin:0 20px 4px;padding:12px 14px;background:var(--gold-pale);border:1px solid rgba(201,168,76,.25);border-radius:12px;font-family:var(--font-body);font-size:12px;color:var(--navy);line-height:1.5}.sticker-print-note span{font-size:18px;flex-shrink:0}.vibe-panel{padding:20px 20px 120px}.vibe-header{text-align:center;margin-bottom:28px}.vibe-sparkle{font-size:32px;margin-bottom:8px;animation:glow 2s ease-in-out infinite}.vibe-title{font-family:var(--font-display);font-size:32px;color:var(--navy);margin-bottom:6px}.vibe-subtitle{font-family:var(--font-body);font-size:13px;color:var(--text-light);line-height:1.5;max-width:300px;margin:0 auto}.vibe-question{margin-bottom:24px}.vibe-q-label{display:block;font-family:var(--font-serif);font-size:17px;font-weight:600;color:var(--navy);margin-bottom:12px}.vibe-text-input{width:100%;padding:14px 16px;border:1.5px solid rgba(26,39,68,.18);border-radius:14px;font-family:var(--font-serif);font-size:16px;color:var(--navy);background:#fff;outline:none;transition:border-color .2s}.vibe-text-input:focus{border-color:var(--navy)}.vibe-text-input::placeholder{color:var(--text-light);font-style:italic;font-size:14px}.vibe-options{display:flex;flex-direction:column;gap:8px}.vibe-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid rgba(26,39,68,.1);border-radius:14px;background:#fff;cursor:pointer;transition:all .2s;text-align:left;position:relative}.vibe-option.selected{border-color:var(--gold);background:linear-gradient(135deg,#c9a84c14,#1a27440a)}.vibe-opt-emoji{font-size:22px;flex-shrink:0}.vibe-opt-text{display:flex;flex-direction:column;gap:2px;flex:1}.vibe-opt-label{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--navy)}.vibe-opt-desc{font-family:var(--font-body);font-size:12px;color:var(--text-light)}.vibe-check{font-size:14px;font-weight:700;color:var(--gold);flex-shrink:0}.vibe-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.vibe-skip{width:100%;text-align:center}.auth-page{min-height:100dvh;background:var(--navy);display:flex;align-items:center;justify-content:center;padding:24px;position:relative}.auth-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 20%,rgba(201,168,76,.1) 0%,transparent 70%)}.auth-card{background:var(--cream);border-radius:24px;padding:36px 28px 32px;width:100%;max-width:400px;position:relative;box-shadow:0 24px 60px #0000004d}.auth-logo{font-family:var(--font-display);font-size:36px;color:var(--navy);text-align:center;margin-bottom:20px;line-height:1}.auth-logo span{color:var(--gold)}.auth-success-badge{background:var(--green-pale);border:1px solid rgba(58,140,92,.3);border-radius:20px;padding:6px 14px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--green);text-align:center;margin-bottom:16px}.auth-title{font-family:var(--font-serif);font-size:24px;font-weight:600;color:var(--navy);text-align:center;margin-bottom:6px}.auth-sub{font-family:var(--font-body);font-size:13px;color:var(--text-light);text-align:center;line-height:1.5;margin-bottom:24px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--navy);letter-spacing:.3px}.auth-input{padding:13px 16px;border:1.5px solid rgba(26,39,68,.15);border-radius:12px;font-family:var(--font-body);font-size:15px;color:var(--navy);background:#fff;outline:none;transition:border-color .2s;width:100%}.auth-input:focus{border-color:var(--navy)}.auth-input::placeholder{color:var(--text-light);font-size:14px}.auth-error{background:#fff0f0;border:1px solid rgba(220,38,38,.2);border-radius:10px;padding:10px 14px;font-family:var(--font-body);font-size:12px;color:#dc2626;line-height:1.4}.auth-submit{padding:15px;background:var(--navy);color:#fff;border:none;border-radius:12px;font-family:var(--font-serif);font-size:17px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-submit:active{transform:scale(.99)}.auth-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0 14px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#1a27441a}.auth-divider span{font-family:var(--font-body);font-size:11px;color:var(--text-light);white-space:nowrap}.auth-cta-link{display:block;width:100%;padding:14px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy-deep);font-family:var(--font-serif);font-size:16px;font-weight:600;border-radius:12px;text-decoration:none;text-align:center;transition:all .2s}.auth-back{display:block;width:100%;margin-top:14px;padding:10px;background:none;border:none;font-family:var(--font-body);font-size:13px;color:var(--text-light);cursor:pointer;text-align:center}.auth-terms{margin-top:16px;font-family:var(--font-body);font-size:10px;color:var(--text-light);text-align:center;line-height:1.5}.sales-page{min-height:100dvh;background:var(--cream);overflow-x:hidden}.sales-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;background:#0f1829f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,168,76,.15)}.sales-nav-logo{font-family:var(--font-display);font-size:26px;color:var(--cream)}.sales-nav-logo span{color:var(--gold-light)}.sales-nav-actions{display:flex;gap:8px}.sales-nav-login{padding:8px 16px;background:transparent;border:1px solid rgba(201,168,76,.35);color:var(--gold-light);border-radius:20px;font-family:var(--font-body);font-size:13px;cursor:pointer;transition:all .2s}.sales-nav-cta{padding:8px 18px;background:var(--gold);color:var(--navy-deep);border:none;border-radius:20px;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.sales-hero{min-height:100dvh;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 24px 80px;position:relative;overflow:hidden}.sales-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 30%,rgba(201,168,76,.12),transparent 70%)}.sales-eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);opacity:.8;margin-bottom:20px;position:relative}.sales-logo{font-family:var(--font-display);font-size:clamp(56px,14vw,88px);color:var(--cream);line-height:1;margin-bottom:8px;position:relative;text-shadow:0 0 40px rgba(201,168,76,.3)}.sales-logo span{color:var(--gold-light)}.sales-tagline{font-family:var(--font-serif);font-size:clamp(17px,4vw,24px);color:#fdf8f3b3;font-style:italic;margin-bottom:16px;line-height:1.4;position:relative}.sales-divider{width:160px;height:1px;margin:0 auto 20px;background:linear-gradient(to right,transparent,var(--gold),transparent)}.sales-free-badge{display:inline-flex;align-items:center;gap:8px;background:#3a8c5c2e;border:1px solid rgba(58,140,92,.4);border-radius:30px;padding:7px 16px;margin-bottom:28px;position:relative}.sales-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse-green 2s infinite}@keyframes pulse-green{0%,to{opacity:1}50%{opacity:.4}}.sales-free-badge span:not(.sales-badge-dot){font-family:var(--font-body);font-size:12px;font-weight:600;color:#3a8c5cf2}.sales-hero-cta{padding:17px 40px;background:linear-gradient(135deg,var(--gold),var(--gold-light),var(--gold));background-size:200% auto;animation:shimmer 3s linear infinite;color:var(--navy-deep);font-family:var(--font-serif);font-size:18px;font-weight:600;border:none;border-radius:50px;cursor:pointer;box-shadow:0 8px 30px #c9a84c4d;position:relative;transition:transform .2s}.sales-hero-cta:active{transform:scale(.98)}.sales-hero-sub{margin-top:14px;font-family:var(--font-body);font-size:12px;color:#fdf8f366;position:relative}.sales-trial-section{background:var(--cream-warm);padding:60px 20px;text-align:center}.sales-features,.sales-pricing{background:var(--navy);padding:60px 20px}.sales-final{background:var(--navy);padding:60px 20px 100px}.sales-inner{max-width:480px;margin:0 auto}.sales-trial-inner{max-width:520px;margin:0 auto}.sales-section-eyebrow{font-family:var(--font-body);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--green);margin-bottom:10px}.sales-section-title{font-family:var(--font-serif);font-size:clamp(26px,6vw,38px);font-weight:400;color:var(--navy);line-height:1.2;margin-bottom:12px}.sales-section-title em{font-style:italic;color:var(--rose)}.sales-section-sub{font-family:var(--font-body);font-size:14px;color:#666;margin-bottom:28px;line-height:1.6}.sales-widget{background:#fff;border-radius:22px;border:1px solid rgba(201,168,76,.2);box-shadow:0 8px 40px #1a274414;overflow:hidden}.sales-widget-header{background:var(--navy);padding:14px 18px;display:flex;align-items:center;justify-content:space-between}.swh-logo{font-family:var(--font-display);font-size:22px;color:var(--cream)}.swh-logo span{color:var(--gold-light)}.swh-badge{font-family:var(--font-body);font-size:10px;font-weight:600;background:#3a8c5c38;border:1px solid rgba(58,140,92,.4);color:#3a8c5ce6;border-radius:20px;padding:3px 10px}.swh-badge.exhausted{background:#dc262626;border-color:#dc26264d;color:#f87171}.sales-widget-body{padding:20px 18px}.sw-upload-zone{border:1.5px dashed rgba(201,168,76,.4);border-radius:14px;padding:24px 16px;text-align:center;cursor:pointer;background:#c9a84c08;margin-bottom:14px;transition:all .2s}.sw-upload-zone.has-image{cursor:default;border-color:var(--gold)}.sw-upload-icon{font-size:30px;margin-bottom:6px}.sw-upload-label{font-family:var(--font-serif);font-size:15px;color:var(--navy);margin-bottom:3px}.sw-upload-hint{font-family:var(--font-body);font-size:11px;color:#999}.sw-preview{display:flex;flex-direction:column;align-items:center;gap:10px}.sw-preview-img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}.sw-change-btn{font-family:var(--font-body);font-size:12px;color:#999;background:none;border:1px solid #eee;border-radius:20px;padding:5px 14px;cursor:pointer}.sw-page-label{font-family:var(--font-serif);font-size:14px;font-weight:600;color:var(--navy);margin-bottom:8px;text-align:left}.sw-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.sw-page-btn{padding:10px 8px;border:1.5px solid rgba(26,39,68,.12);border-radius:11px;background:#fff;cursor:pointer;font-family:var(--font-serif);font-size:13px;color:var(--navy);display:flex;align-items:center;gap:6px;transition:all .2s}.sw-page-btn.selected{border-color:var(--navy);background:var(--navy);color:#fff}.sw-generate-btn{width:100%;padding:15px;background:linear-gradient(135deg,var(--gold),var(--gold-light),var(--gold));background-size:200% auto;animation:shimmer 3s linear infinite;color:var(--navy-deep);font-family:var(--font-serif);font-size:17px;font-weight:600;border:none;border-radius:12px;cursor:pointer}.sw-generate-btn:disabled{opacity:.45;cursor:not-allowed;animation:none}.sw-generating{text-align:center;padding:28px 0}.sw-spinner{width:44px;height:44px;border-radius:50%;border:3px solid rgba(201,168,76,.2);border-top-color:var(--gold);animation:spin .9s linear infinite;margin:0 auto 14px}.sw-gen-title{font-family:var(--font-serif);font-size:17px;color:var(--navy);font-style:italic;margin-bottom:4px}.sw-gen-sub{font-family:var(--font-body);font-size:12px;color:#999}.sw-result-img{width:100%;border-radius:10px;display:block;margin-bottom:10px;box-shadow:0 4px 16px #0000001a}.sw-result-actions{display:flex;gap:8px}.sw-download-btn{flex:1;padding:11px;background:var(--navy);color:#fff;font-family:var(--font-body);font-size:13px;font-weight:600;border:none;border-radius:10px;cursor:pointer}.sw-regen-btn{padding:11px 14px;background:transparent;border:1.5px solid rgba(26,39,68,.2);border-radius:10px;cursor:pointer;font-size:16px}.sw-error{background:#fff0f0;border:1px solid rgba(220,38,38,.2);border-radius:10px;padding:10px 14px;font-family:var(--font-body);font-size:12px;color:#dc2626;margin-bottom:12px}.sw-exhausted{background:linear-gradient(135deg,var(--navy),#243158);border-radius:14px;padding:24px 18px;text-align:center}.sw-ex-glow{font-size:32px;margin-bottom:10px}.sw-ex-title{font-family:var(--font-serif);font-size:20px;color:var(--cream);margin-bottom:6px}.sw-ex-sub{font-family:var(--font-body);font-size:12px;color:#fdf8f399;margin-bottom:16px;line-height:1.5}.sw-ex-cards{display:flex;gap:10px}.sw-ex-card{flex:1;background:#ffffff0f;border:1px solid rgba(201,168,76,.25);border-radius:12px;padding:14px 10px;text-align:center;cursor:pointer;transition:all .2s}.sw-ex-card.featured{border-color:var(--gold);background:#c9a84c1a}.sw-ex-price{font-family:var(--font-display);font-size:32px;color:var(--gold-light);line-height:1}.sw-ex-per{font-family:var(--font-body);font-size:10px;color:#fdf8f380;margin-bottom:6px}.sw-ex-cta{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--gold-light)}.sales-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.sales-feature-card{background:#ffffff0d;border:1px solid rgba(201,168,76,.15);border-radius:12px;padding:14px 10px;text-align:center}.sfc-icon{font-size:24px;margin-bottom:6px}.sfc-name{font-family:var(--font-serif);font-size:13px;font-weight:600;color:var(--gold-light);margin-bottom:3px}.sfc-desc{font-family:var(--font-body);font-size:11px;color:#fdf8f373;line-height:1.3}.sales-price-grid{display:flex;flex-direction:column;gap:12px;margin-top:24px}.sales-price-card{background:#ffffff0d;border:1px solid rgba(201,168,76,.18);border-radius:16px;padding:22px 18px;position:relative}.sales-price-card.featured{border-color:var(--gold);background:linear-gradient(135deg,#c9a84c1f,#1a274466)}.sales-price-card.green{border-color:#3a8c5c66;background:#3a8c5c0f}.spc-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--gold);color:var(--navy-deep);font-family:var(--font-body);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 12px;border-radius:20px;white-space:nowrap}.spc-plan{font-family:var(--font-body);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#fdf8f373;margin-bottom:6px}.sales-price-card.green .spc-plan{color:#3a8c5ccc}.spc-price{font-family:var(--font-display);font-size:44px;color:var(--gold-light);line-height:1;margin-bottom:3px}.sales-price-card.green .spc-price{color:#fdf8f3d9}.spc-per{font-family:var(--font-body);font-size:11px;color:#fdf8f366;margin-bottom:12px}.spc-features{list-style:none;text-align:left;margin-bottom:16px}.spc-features li{font-family:var(--font-body);font-size:12px;color:#fdf8f3a6;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:6px}.spc-features li:before{content:"✦";color:var(--gold);font-size:9px;flex-shrink:0}.spc-cta{width:100%;padding:12px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy-deep);font-family:var(--font-serif);font-size:15px;font-weight:600;border:none;border-radius:10px;cursor:pointer}.sales-price-card:not(.featured):not(.green) .spc-cta{background:transparent;border:1px solid rgba(201,168,76,.35);color:var(--gold-light)}.sales-price-card.green .spc-cta{background:#3a8c5cbf;color:#fff}.sales-final-title{font-family:var(--font-display);font-size:clamp(44px,11vw,72px);color:var(--gold-light);margin-bottom:12px;text-shadow:0 0 40px rgba(201,168,76,.3)}.sales-final-sub{font-family:var(--font-serif);font-size:17px;font-style:italic;color:#fdf8f399;margin-bottom:28px;line-height:1.5}.sales-final-note{margin-top:12px;font-family:var(--font-body);font-size:12px;color:#fdf8f34d}.sales-footer-brand{margin-top:48px;font-family:var(--font-display);font-size:28px;color:#fdf8f333;text-align:center}.app{display:flex;flex-direction:column;min-height:100dvh;max-width:480px;margin:0 auto;background:var(--cream);position:relative}.app-main{flex:1;padding:16px 20px 100px;overflow-y:auto}.step-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--cream) 80%,transparent);display:flex;gap:12px;z-index:100}.btn-primary{flex:1;padding:15px 24px;background:var(--navy);color:#fff;border:none;border-radius:14px;font-family:var(--font-body);font-size:15px;font-weight:500;letter-spacing:.3px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(201,168,76,.15) 0%,transparent 60%)}.btn-primary:active{transform:scale(.98)}.btn-primary.disabled{opacity:.4;cursor:not-allowed}.btn-secondary{padding:15px 20px;background:transparent;color:var(--navy);border:1.5px solid rgba(26,39,68,.25);border-radius:14px;font-family:var(--font-body);font-size:15px;font-weight:400;cursor:pointer;transition:all .2s}.btn-secondary:active{background:var(--blush)}.btn-gold{width:100%;padding:16px 24px;background:linear-gradient(135deg,var(--gold),var(--gold-light),var(--gold));background-size:200% auto;color:var(--navy-deep);border:none;border-radius:14px;font-family:var(--font-serif);font-size:17px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .3s;animation:shimmer 3s linear infinite}.btn-gold:active{transform:scale(.98)}.btn-gold:disabled{opacity:.5;cursor:not-allowed;animation:none}.btn-outline-navy{padding:13px 20px;background:transparent;color:var(--navy);border:1.5px solid var(--navy);border-radius:12px;font-family:var(--font-body);font-size:14px;cursor:pointer;transition:all .2s}.btn-outline-navy:hover{background:var(--navy);color:#fff}.section-title{font-family:var(--font-serif);font-size:26px;font-weight:500;color:var(--navy);line-height:1.25;margin-bottom:6px}.section-subtitle{font-family:var(--font-body);font-size:14px;color:var(--text-light);margin-bottom:24px;line-height:1.5}.option-grid{display:grid;gap:10px}.option-grid-2{grid-template-columns:1fr 1fr}.option-grid-3{grid-template-columns:1fr 1fr 1fr}.option-card{border:1.5px solid rgba(26,39,68,.12);border-radius:14px;padding:14px 12px;cursor:pointer;transition:all .2s;background:#fff;text-align:left;display:flex;flex-direction:column;gap:4px}.option-card:active{transform:scale(.98)}.option-card.selected{border-color:var(--navy);background:var(--navy);color:#fff}.option-card .card-icon{font-size:22px}.option-card .card-label{font-family:var(--font-serif);font-size:14px;font-weight:600;line-height:1.2}.option-card.selected .card-label{color:#fff}.option-card .card-desc{font-family:var(--font-body);font-size:11px;color:var(--text-light);line-height:1.3}.option-card.selected .card-desc{color:#ffffffb3}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;font-size:13px;color:#dc2626;margin-bottom:16px}.spinner{width:24px;height:24px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block;margin-right:8px;vertical-align:middle}:root{--navy: #1a2744;--navy-deep: #111b33;--navy-mid: #243158;--green: #3a8c5c;--green-light: #4aab72;--green-pale: #e8f5ee;--cream: #fdf8f3;--cream-warm: #f9f2e8;--ivory: #faf6ef;--gold: #c9a84c;--gold-light: #e2c97e;--gold-pale: #fdf3d8;--blush: #f0ddd5;--blush-deep: #e8c9be;--rose: #d4847a;--white: #ffffff;--text-dark: #1a1a1a;--text-mid: #4a4a4a;--text-light: #8a8a8a;--font-display: "Great Vibes", cursive;--font-serif: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--cream);color:var(--text-dark);min-height:100dvh;-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{min-height:100dvh;display:flex;flex-direction:column}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pulse-gold{0%,to{box-shadow:0 0 #c9a84c66}50%{box-shadow:0 0 0 8px #c9a84c00}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes glow{0%,to{opacity:.6}50%{opacity:1}}.fade-up{animation:fadeUp .5s ease forwards}
