.header{text-align:center;color:#424242;margin-bottom:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#2b2b2b,#515151);color:#fff;border:none;padding:10px 15px;font-size:.9rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #2c384133;position:relative;overflow:hidden;white-space:nowrap;text-decoration:none}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #2c38414d;background:linear-gradient(135deg,#515151,#2b2b2b);text-decoration:none;color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-enhance{background:linear-gradient(135deg,#572bcc,#7c3aed);font-size:1rem;padding:.85rem 2rem;border-radius:50px;box-shadow:0 4px 15px #572bcc59;min-width:200px}.btn-enhance:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#572bcc);box-shadow:0 6px 20px #572bcc73}.btn-download{background:linear-gradient(135deg,#2b2b2b,#515151)}.btn-secondary{background:transparent;border:2px solid #666;color:#555;box-shadow:none}.btn-secondary:before{display:none}.btn-secondary:hover:not(:disabled){background:#f1f5f9;border-color:#444;color:#222;transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.btn-cta-shopify{background:linear-gradient(135deg,#7ba038,#96bf48);border-radius:50px;padding:.75rem 1.5rem}.card{background:#f7f7f7;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 4px 20px #00000014,0 1px 3px #0000000d;border:1px solid rgba(124,58,237,.1)}.step-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#2c3841;margin-bottom:.75rem}.drop-zone{border:3px dashed #e0e0e0;border-radius:12px;background:#fff;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;text-align:center}.drop-zone:hover,.drop-zone.drag-over{border-color:#7c3aed;background:linear-gradient(135deg,#f8fdf8,#f5f3ff);transform:scale(1.01);box-shadow:0 4px 16px #7c3aed26}.drop-zone.drag-over{transform:scale(1.02);box-shadow:0 6px 20px #7c3aed40;border-style:solid}.drop-zone-inner{text-align:center;pointer-events:none;padding:0 .5rem .5rem}.drop-icon{font-size:2rem;margin-bottom:0;transition:all .4s cubic-bezier(.4,0,.2,1)}.drop-zone:hover .drop-icon{transform:scale(1.15) translateY(-2px)}.drop-zone.drag-over .drop-icon{transform:scale(1.2) translateY(-4px);animation:bounce .6s ease infinite}@keyframes bounce{0%,to{transform:scale(1.2) translateY(-4px)}50%{transform:scale(1.2) translateY(-8px)}}.drop-text{font-size:.95rem;color:#2c3841}.drop-hint{font-size:.8rem;color:#6b7280}.preview-wrap{width:100%;height:100%;min-height:180px;position:relative;display:flex;align-items:center;justify-content:center}.preview-img{max-height:260px;max-width:100%;object-fit:contain;border-radius:8px}.btn-remove-img{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;background:#0000008c;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.btn-remove-img:hover{background:#000000bf}.style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.style-card{display:flex;flex-direction:column;align-items:center;padding:.2rem .75rem;border:1px solid #4e4e4e;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:center}.style-card:hover,.style-card.active{border-color:#7c3aed;background:#f5f3ff}.style-icon{font-size:1.6rem;color:#4e4e4e}.style-name{font-size:.9rem;font-weight:700;color:#2c3841}.style-desc{font-size:.75rem;color:#4e4e4e}.sub-options{margin-top:.5rem}.sub-option{margin-top:.75rem}.sub-label{display:block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:.6rem}.color-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.color-swatch{width:40px;height:40px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:0;background:none}.color-hex{width:100px;padding:.45rem .6rem;border:1px solid #e0e0e0;border-radius:8px;font-family:monospace;font-size:.9rem;color:#2c3841}.color-hex:focus{outline:2px solid #7c3aed;border-color:transparent}.color-presets{display:flex;flex-wrap:wrap;gap:.4rem}.preset{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid #e0e0e0;transition:transform .2s ease,border-color .2s ease}.preset:hover,.preset.active{transform:scale(1.15);border-color:#7c3aed;outline-offset:1px}.scene-grid{display:flex;flex-wrap:wrap;gap:.5rem}.scene-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .85rem;border:2px solid #e0e0e0;border-radius:50px;font-size:.85rem;cursor:pointer;transition:all .2s ease;background:#f7f7f7;color:#2c3841}.scene-chip:hover{border-color:#7c3aed;background:#f5f3ff}.scene-chip.active{border-color:#7c3aed;background:#f5f3ff;font-weight:600}.sub-option-ratio{margin-top:.5rem;padding-top:1.25rem}.ratio-grid{display:flex;flex-wrap:wrap;gap:.5rem}.ratio-chip{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.3rem .5rem;border:1px solid #4e4e4e;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;min-width:72px;text-align:center}.ratio-chip:hover,.ratio-chip.active{border-color:#7c3aed;background:#f5f3ff}.ratio-name{font-size:.82rem;font-weight:700;color:#2c3841}.ratio-desc{font-size:.7rem;color:#4e4e4e;white-space:nowrap}.ratio-preview{background:#4e4e4e;border-radius:2px;display:block;flex-shrink:0}.ratio-original{width:20px;height:16px}.ratio-square{width:18px;height:18px}.ratio-portrait-tall{width:14px;height:18px}.ratio-portrait{width:15px;height:20px}.ratio-landscape{width:20px;height:15px}.ratio-wide{width:22px;height:12px}.ratio-chip.active .ratio-preview{background:#4f46e5}.ratio-chip:hover .ratio-preview{background:#7c3aed}.captcha-row{margin-bottom:1rem}.enhance-row{display:flex;align-items:center;flex-wrap:wrap;justify-content:end;margin-top:20px}.remaining-label{font-size:.85rem;color:#6b7280}.rate-limit-banner{color:#8b6300;background:#fff8e6;border:2px solid #f0a500;padding:7px 12px;border-radius:8px;margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.88rem}.rl-icon{font-size:1.1rem}.rl-link{color:#7c3aed;font-weight:600;white-space:nowrap}#rateLimitBanner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#eef2ff,#f5f3ff);border:1px solid #c7d2fe;border-radius:12px;padding:16px 20px;margin-bottom:16px}#rateLimitBanner1.hidden,#rateLimitBanner2.hidden{display:none!important}#rateLimitBanner #rateLimitMsg{font-size:.9rem;font-weight:600;color:#334155}.rl-cta-btn{flex-shrink:0;white-space:nowrap;margin-top:0!important;padding:10px 20px!important;font-size:.875rem!important}@media(max-width:540px){#rateLimitBanner{flex-direction:column;align-items:flex-start}.rl-cta-btn{width:100%;text-align:center}}.error-msg{background:#ffe6e6;border:2px solid #ff4444;color:#c00;padding:7px 12px;border-radius:8px;margin-top:.75rem;font-size:.9rem}.loading-card{text-align:center;padding:3rem 2rem}.loading-anim{display:flex;justify-content:center;margin-bottom:1.5rem}.loading-ring{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:1.1rem;font-weight:700;margin-bottom:.35rem}.loading-subtext{font-size:.88rem;color:#6b7280}.result-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.result-title{font-size:1.15rem;font-weight:700}.comparison-wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:static;overflow:visible;max-height:none;cursor:default}.comparison-wrap:after{display:none}.comparison-panel{position:relative;border-radius:12px;overflow:hidden;background:#f1f5f9;border:1.5px solid #e2e8f0}.comparison-img{display:block;position:static;width:100%;height:auto;clip-path:none;cursor:zoom-in}.comp-label{position:absolute;bottom:10px;left:10px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:5px;backdrop-filter:blur(6px)}.comp-label-before{background:#00000080;color:#fff}.comp-label-after{background:#6d28d9d9;color:#fff}@media(max-width:540px){.comparison-wrap{grid-template-columns:1fr;gap:10px}}#rateLimitUpgradeCta{display:none}#rateLimitUpgradeCta.active{display:block}.result-actions{display:flex;gap:12px;margin-top:14px}.result-actions .btn{flex:1;justify-content:center;text-align:center}@media(max-width:480px){.result-actions{flex-direction:column}}.alt-text-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding:.65rem .85rem;background:#f7f7f7;border:1px solid #e0e0e0;border-radius:12px;font-size:.87rem}.alt-text-value{flex:1;color:#2c3841;margin-bottom:0}.btn-copy-alt{background:none;border:1px solid #e0e0e0;border-radius:6px;padding:.25rem .65rem;font-size:.78rem;font-weight:600;cursor:pointer;color:#7c3aed;transition:all .2s ease;white-space:nowrap}.btn-copy-alt:hover{background:#f5f3ff}.btn-copy-alt.copied{background:#f5f3ff;border-color:#7c3aed;color:#7c3aed}.cta-section{margin-top:2rem}.cta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.cta-card{background:#fff;border:1px solid #e0e0e0;border-radius:16px;padding:1.75rem;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;display:flex;flex-direction:column;gap:.75rem}.cta-icon{font-size:2rem}.cta-title{font-size:1.1rem;font-weight:700}.cta-body{font-size:.9rem;color:#6b7280;flex:1}.cta-shopify{border-top:4px solid #96BF48}.lb-overlay{display:none;position:fixed;inset:0;z-index:9999;background:#000000d9;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}.lb-overlay.is-open{display:flex}.lb-overlay img{max-width:min(92vw,1000px);max-height:90vh;width:auto;height:auto;border-radius:10px;box-shadow:0 8px 40px #0009;cursor:default;object-fit:contain}.lb-close{position:fixed;top:16px;right:20px;color:#fff;font-size:28px;line-height:1;cursor:pointer;background:none;border:none;padding:4px 8px;opacity:.8}.lb-close:hover{opacity:1}@media(max-width:768px){.card{padding:15px;border-radius:17px;margin:2% 0}.style-grid{grid-template-columns:1fr 1fr}.result-header{flex-direction:column;align-items:flex-start}.btn{min-height:44px}.btn-enhance{width:100%}}.generator-hero{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;text-align:start;padding:3rem 0rem .5rem;-webkit-font-smoothing:antialiased}.generator-hero h1{font-size:clamp(2.4rem,5.5vw,4rem);font-weight:500;line-height:1.2;letter-spacing:-.04em;color:#0f172a;margin:0 0 1rem}.generator-hero p{font-size:clamp(1rem,2vw,1.15rem);color:#475569;max-width:100%;margin:0 0 1.5rem;line-height:1.75}.feature-chips{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.5rem;margin-bottom:1.5rem}.feature-chip{display:inline-flex;align-items:center;background:#f5f3ff;color:#7c3aed;border:1px solid #ddd6fe;border-radius:999px;padding:.3rem .85rem;font-size:.82rem;font-weight:600}@media(max-width:640px){.generator-hero{padding:1.5rem 0 .5rem}.generator-hero h1{font-size:clamp(1.7rem,8vw,2.4rem)}.generator-hero p{font-size:.95rem}}.form-step-divider{display:flex;align-items:center;gap:0;margin:0 0 15px;padding:0 4px}.form-step-divider:before,.form-step-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.drop-icon svg{display:block;width:2.2rem;height:2.2rem;stroke:#9ca3af;margin:0 auto .25rem}.style-icon svg{width:1.6rem;height:1.6rem}.scene-chip svg{width:.85rem;height:.85rem;vertical-align:-2px;flex-shrink:0}.feature-chip svg{width:.85rem;height:.85rem;vertical-align:-1px;flex-shrink:0}.cta-icon svg{width:1.75rem;height:1.75rem;stroke:#7c3aed}.result-title svg{width:1.1rem;height:1.1rem;vertical-align:-2px;stroke:#4ade80}.btn svg{width:1rem;height:1rem;vertical-align:-2px}
