:root{--bg:#f6f4fb;--surface:#fff;--surface-2:#f2eefb;--border:#e7e2f2;--text:#211d33;--muted:#6b6880;--primary:#6d5efc;--primary-hover:#5b4ce0;--accent:#ff6f91;--danger:#e5484d;--ok:#1f9d61;--radius:16px;--shadow-sm:0 1px 2px #201c330d, 0 4px 14px #201c330f;--shadow-md:0 10px 30px #6d5efc2e;--bg-gradient:radial-gradient(1100px 560px at 50% -12%, #efe9ff 0%, var(--bg) 62%);--overlay:#f6f4fb99;--scrim:#211d338c;--video-bg:#0e0c16}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-gradient);color:var(--text);background-attachment:fixed;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}h1{margin:0 0 .5rem;font-size:1.5rem}h2{margin:0 0 .75rem;font-size:1.05rem}.muted{color:var(--muted)}.small{font-size:.85rem}.app{max-width:900px;margin:0 auto;padding:0 16px 64px}.topbar{z-index:5;background:linear-gradient(var(--bg), var(--overlay));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;padding:18px 4px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:10px;font-size:1.2rem;font-weight:700;display:flex}.brand-lg{justify-content:center;font-size:2rem}.brand-sub{color:var(--muted);font-size:.8rem;font-weight:400}.topbar-actions{gap:16px;display:flex}.content{animation:.3s fade}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1}}.centered{min-height:50vh;color:var(--muted);place-items:center;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px}.btn{appearance:none;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 18px;font-size:.95rem;text-decoration:none;transition:all .15s;display:inline-block}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:#0000;font-weight:600}.btn-primary:hover{background:var(--primary-hover);border-color:#0000}.btn-lg{padding:14px 28px;font-size:1.05rem}.link{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.9rem}.link:hover{color:var(--text)}.login-wrap{place-items:center;min-height:80vh;display:grid}.login-card{text-align:center;width:100%;max-width:360px}.field{text-align:left;margin:18px 0;display:block}.field span{color:var(--muted);margin-bottom:6px;font-size:.85rem;display:block}input[type=password],input[type=text],textarea{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:11px 13px}input:focus,textarea:focus{border-color:var(--primary);outline:none}.login-card .btn{width:100%}.landing{flex-direction:column;gap:44px;padding-top:4px;display:flex}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:28px;display:grid}.hero-title{background:linear-gradient(90deg, var(--primary), var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 14px;font-size:2.5rem;line-height:1.08}.hero-sub{margin:0 0 16px;font-size:1.12rem}.hero-facts{letter-spacing:.01em}.hero-art{grid-template-columns:1fr 1fr;gap:14px;display:grid}.hero-art img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);width:100%;box-shadow:var(--shadow-md);background:var(--surface-2)}.audiences{grid-template-columns:1fr 1fr;gap:20px;display:grid}.aud-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.aud-emoji{margin-bottom:8px;font-size:2.1rem;line-height:1}.aud-card h2{margin:0 0 10px;font-size:1.2rem}.aud-card p{margin:0}.section-h{margin:0 0 4px;font-size:1.4rem}.styles-teaser .style-strip{grid-template-columns:repeat(6,1fr);gap:12px;margin-top:16px;display:grid}.style-preview{margin:0}.style-preview img{aspect-ratio:16/9;object-fit:cover;width:100%;box-shadow:var(--shadow-sm);background:var(--surface-2);border-radius:12px;display:block}.style-preview figcaption{color:var(--muted);text-align:center;margin-top:6px;font-size:.8rem}.how-steps{grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0 0;padding:0;list-style:none;display:grid}.how-steps li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;gap:10px;padding:20px;display:flex}.how-num{color:#fff;background:linear-gradient(135deg, var(--primary), var(--accent));border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.mode-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px;display:grid}.mode-card{border-radius:var(--radius);cursor:pointer;text-align:center;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:10px;padding:28px 20px;transition:all .15s;display:flex}.mode-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.mode-emoji{font-size:2.4rem;line-height:1}.mode-title{font-size:1.1rem;font-weight:600}.mode-desc{font-size:.9rem}.create h1{margin-bottom:16px}.back-link{margin-bottom:8px;padding:0;display:inline-block}.dropzone{cursor:pointer;border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface-2);place-items:center;min-height:180px;transition:all .15s;display:grid;overflow:hidden}.dropzone:hover{border-color:var(--primary)}.dropzone input{display:none}.dropzone-hint{color:var(--muted)}.dropzone-sm{min-height:128px}.preview{border-radius:10px;max-width:100%;max-height:260px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.photo-thumb{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:128px;display:block}.thumb-remove{background:var(--scrim);color:#fff;cursor:pointer;border:none;border-radius:999px;place-items:center;width:26px;height:26px;font-size:1.1rem;line-height:1;display:grid;position:absolute;top:6px;right:6px}.thumb-remove:hover{background:var(--danger)}.concept h1{margin-bottom:6px}.idea-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:16px 0;display:grid}.idea-card{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:12px;flex-direction:column;gap:8px;padding:16px;transition:all .15s;display:flex}.idea-card:hover{border-color:var(--muted)}.idea-card.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.idea-title{font-weight:600}.idea-synopsis{color:var(--muted);font-size:.9rem}.style-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.style-card{cursor:pointer;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;align-items:stretch;gap:10px;padding:10px;transition:all .15s;display:flex}.style-card:hover{border-color:var(--muted);transform:translateY(-2px)}.style-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary) inset}.style-thumb{aspect-ratio:16/9;object-fit:cover;background:var(--surface-2);border-radius:10px;width:100%;display:block}.style-card-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.style-title{font-weight:600}.chip{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.72rem}.chip-high{color:var(--ok)}.chip-medium{color:#b8860b}.row{margin-bottom:14px}.segmented,.tier-row{flex-wrap:wrap;gap:10px;display:flex}.seg{cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:10px;padding:10px 20px;transition:all .15s}.seg.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.tier-card{cursor:pointer;text-align:left;border:1px solid var(--border);background:var(--surface-2);min-width:160px;color:var(--text);border-radius:12px;flex-direction:column;flex:1;gap:4px;padding:14px;transition:all .15s;display:flex}.tier-card.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.tier-title{font-weight:600}.scenario{resize:vertical;min-height:64px}.voice-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.voice-card{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:stretch;gap:8px;padding:4px;transition:all .15s;display:flex}.voice-card.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.voice-select{color:var(--text);cursor:pointer;text-align:left;font:inherit;background:0 0;border:none;border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.voice-title{font-weight:600}.voice-check{color:var(--primary);font-weight:700}.voice-play{background:var(--surface);width:44px;color:var(--text);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;font-size:1rem;transition:all .15s}.voice-play:hover{background:var(--primary);color:#fff}.submit-bar{text-align:center;margin-top:8px;position:sticky;bottom:16px}.submit-bar .btn{box-shadow:var(--shadow-md)}.progress-card{text-align:center}.progress-orb{place-items:center;width:76px;height:76px;margin:0 auto 14px;display:grid;position:relative}.progress-orb:before{content:"";background:conic-gradient(from 0deg, var(--primary), #cabfff, var(--accent), var(--primary));border-radius:50%;animation:2.2s linear infinite spin;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 7px),#000 calc(100% - 6px));mask:radial-gradient(farthest-side,#0000 calc(100% - 7px),#000 calc(100% - 6px))}.progress-orb-emoji{font-size:2rem;animation:2.4s ease-in-out infinite bob}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.progressbar{background:var(--surface-2);border-radius:999px;height:12px;margin:18px 0 8px;overflow:hidden}.progressbar-fill{background:linear-gradient(90deg, var(--primary), #9b8bff, var(--primary));background-size:200% 100%;border-radius:999px;height:100%;transition:width .6s;animation:1.6s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:0 0}}.progress-pct{color:var(--muted);margin-bottom:14px;font-size:.9rem}.progress-pct b{color:var(--text)}.eta{color:var(--primary);font-weight:600}.sub-step{color:var(--text);margin:2px 0 6px;font-weight:600}.save-hint{margin-top:4px}.steps{text-align:left;max-width:340px;margin:8px auto 0;padding:0;list-style:none}.step{color:var(--muted);align-items:center;gap:10px;padding:5px 0;display:flex}.step-mark{text-align:center;width:18px}.step-done{color:var(--ok)}.step-active{color:var(--text);font-weight:600}.step-active .step-mark{color:var(--primary);animation:1.2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.approve h1{margin-bottom:6px}.variant-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:18px;display:grid}.variant-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:12px;display:flex}.variant-card img{background:var(--video-bg);aspect-ratio:16/9;object-fit:cover;border-radius:10px;width:100%}.variant-card .btn{width:100%}.result-card{text-align:center}.result-video{border-radius:var(--radius);background:var(--video-bg);width:100%;margin:8px 0 16px}.result-meta{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-bottom:18px;font-size:.9rem;display:flex}.result-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.error-box{color:#b42318;background:#e5484d14;border:1px solid #e5484d59;border-radius:10px;margin:12px 0;padding:10px 14px;font-size:.9rem}.failed-card{text-align:center}@media (width<=720px){.styles-teaser .style-strip{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.hero{grid-template-columns:1fr}.hero-title{font-size:2rem}.audiences,.how-steps{grid-template-columns:1fr}}@media (width<=560px){.style-grid{grid-template-columns:repeat(2,1fr)}.mode-grid,.voice-grid{grid-template-columns:1fr}.styles-teaser .style-strip{grid-template-columns:repeat(2,1fr)}}
