.product{position:relative;display:grid;gap:1.75rem;padding:1.5rem 1rem 3.5rem;max-width:1180px;margin:0 auto;width:100%;box-sizing:border-box;isolation:isolate}.product:before{content:"";position:absolute;inset:1.8rem 0 auto 30%;height:11rem;z-index:-1;background:radial-gradient(circle at 22% 50%,color-mix(in oklch,var(--acid) 48%,transparent),transparent 34%),radial-gradient(circle at 72% 42%,color-mix(in oklch,var(--toy-blue) 34%,transparent),transparent 32%);filter:blur(42px);opacity:.68}.product-story{display:grid;gap:1.5rem;min-width:0}.product-hero{display:grid;gap:.75rem}.section-label{margin:0;color:var(--muted);font-family:var(--font-ui);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.product-kicker{width:fit-content;margin:0;padding:.34rem .54rem;color:var(--accent-dark);background:var(--accent-soft);border:1px solid color-mix(in oklch,var(--accent) 35%,var(--line));border-radius:.22rem;font-family:var(--font-ui);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-1.5deg);box-shadow:.16rem .16rem 0 var(--toy-blue)}.product-title{margin:0;font-family:var(--font-display);font-size:clamp(2.65rem,6vw,5.25rem);font-weight:760;letter-spacing:-.035em;line-height:.88;max-width:12ch;overflow-wrap:break-word}:lang(zh-CN) .product-title{max-width:min(100%,14em);font-family:var(--font-zh-display);font-size:clamp(2.08rem,4.2vw,3.9rem);font-weight:800;letter-spacing:-.018em;line-height:1.08}.product-tagline{margin:0;max-width:36ch;color:var(--muted);font-family:var(--font-body);font-size:1.05rem;line-height:1.65;overflow-wrap:break-word}.product-done .product-title{max-width:16ch}:lang(zh-CN) .product-done .product-title{max-width:min(100%,16em);font-size:clamp(1.86rem,3.15vw,3rem);line-height:1.12}.product-done .product-tagline{max-width:42ch}.demo-section{display:grid;gap:.8rem;width:100%;max-width:820px;min-width:0}.canvas{margin:0;display:grid;min-width:0}.canvas-frame{position:relative;border-radius:.55rem;overflow:hidden;box-shadow:.34rem .34rem 0 var(--toy-blue),0 22px 58px -36px var(--shadow);background:linear-gradient(135deg,color-mix(in oklch,var(--control) 72%,transparent),var(--surface-soft)),var(--paper-grain);border:1px solid color-mix(in oklch,var(--ink) 26%,var(--line));aspect-ratio:var(--showcase-ratio, 1);min-height:0;min-width:0;max-width:100%;box-sizing:border-box;contain:paint;display:grid;place-items:center;padding:clamp(.55rem,1.6vw,1rem)}.canvas-after{width:100%;height:100%;display:block;object-fit:contain;border-radius:.32rem;transition:opacity .2s ease}.samples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:.35rem;width:100%;min-width:0}.sample{display:block;min-width:0;min-height:44px;padding:0;border:1px solid var(--line);border-radius:.32rem;background:var(--surface-soft);cursor:pointer;overflow:hidden;box-shadow:.1rem .1rem color-mix(in oklch,var(--ink) 18%,transparent);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.sample:hover{border-color:var(--ink);transform:translateY(-3px) rotate(-1deg)}.sample-active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklch,var(--accent) 22%,transparent),.14rem .14rem 0 var(--acid)}.sample img{width:100%;aspect-ratio:1;object-fit:contain;display:block;background:var(--control)}.canvas-portrait{position:absolute;left:1rem;bottom:1rem;width:clamp(80px,22%,130px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:.4rem;padding:.35rem .55rem .35rem .35rem;background:color-mix(in oklch,var(--surface-soft) 94%,transparent);border-radius:.42rem;border:1px solid color-mix(in oklch,var(--surface-soft) 70%,var(--line));box-shadow:0 8px 20px -10px var(--shadow)}.canvas-portrait img{width:100%;aspect-ratio:1;border-radius:999px;object-fit:cover;display:block}.canvas-arrow{display:inline-flex;align-items:center;justify-content:center;color:var(--ink);padding-right:.15rem}.canvas-veil{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:.6rem;background:linear-gradient(135deg,#190f05c2,#190f058a),var(--paper-grain);color:var(--surface-soft);font-family:var(--font-ui);font-size:.95rem;letter-spacing:.02em}.canvas-badge{position:absolute;top:1rem;right:1rem;width:2.25rem;height:2.25rem;border-radius:.32rem;display:grid;place-items:center;background:var(--acid);color:var(--ink);box-shadow:.16rem .16rem 0 var(--accent);transform:rotate(7deg)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.action{position:relative;display:grid;gap:.85rem;align-self:start;padding:1.05rem;border:1px solid color-mix(in oklch,var(--ink) 26%,var(--line));border-radius:.58rem;background:linear-gradient(135deg,color-mix(in oklch,var(--surface-soft) 94%,transparent),color-mix(in oklch,var(--panel-soft) 68%,transparent));box-shadow:.24rem .24rem 0 var(--accent),0 24px 60px -42px var(--shadow);min-width:0}.action:before{content:"";position:absolute;inset:.55rem auto auto .55rem;width:1.8rem;height:1.8rem;background:linear-gradient(var(--toy-blue),var(--toy-blue)) left top / 100% 2px no-repeat,linear-gradient(var(--toy-blue),var(--toy-blue)) left top / 2px 100% no-repeat;pointer-events:none}.action-complete{gap:1rem}.thumb{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:.85rem;padding:.6rem .85rem .6rem .6rem;border-radius:.42rem;border:1px solid var(--line);background:var(--surface-soft);text-align:left;cursor:pointer;transition:border-color .15s ease,transform .15s ease;font-family:var(--font-ui)}.thumb:hover{border-color:var(--ink)}.thumb img{width:56px;height:56px;border-radius:.32rem;object-fit:cover;display:block}.thumb-meta{display:grid;gap:.15rem;min-width:0}.thumb-name{font-size:.9rem;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb-replace{font-size:.78rem;color:var(--muted)}.text-input-block{display:grid;gap:.45rem;min-width:0}.text-input-block span{color:var(--ink);font-size:.9rem;font-weight:650;line-height:1.35}.text-input-block textarea{width:100%;min-height:8.5rem;resize:vertical;border:1px solid var(--line);border-radius:.42rem;background:var(--surface);color:var(--ink);padding:.85rem;box-sizing:border-box;font-family:var(--font-body);font-size:.95rem;line-height:1.55}.text-input-block textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.text-input-block textarea[aria-invalid=true]{border-color:var(--danger)}.text-input-block small{color:var(--muted);font-size:.8rem;line-height:1.45;overflow-wrap:anywhere}.ratio-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:.45rem}.ratio-option{min-height:2.75rem;border:1px solid var(--line);border-radius:.36rem;background:var(--surface);color:var(--muted);cursor:pointer;font:inherit;font-size:.86rem;font-weight:650}.ratio-option:hover{border-color:var(--ink);color:var(--ink)}.ratio-option-active{border-color:var(--ink);background:var(--acid);color:var(--ink);box-shadow:.14rem .14rem 0 var(--toy-blue)}.cta{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;width:100%;min-height:3.5rem;height:auto;padding:.85rem 1.25rem;border-radius:.46rem;border:1px solid var(--ink);cursor:pointer;font-family:var(--font-ui);font-size:.9rem;font-weight:760;letter-spacing:.02em;background:var(--ink);color:var(--surface-soft);transition:transform .15s ease,background .15s ease,opacity .15s ease;box-shadow:.24rem .24rem 0 var(--accent),0 14px 28px -20px var(--shadow);text-align:center}.cta span{min-width:0;overflow-wrap:anywhere}.cta:hover:not(:disabled){background:var(--ink-hover);transform:translateY(-3px) rotate(-.5deg)}.cta:disabled{opacity:.7;cursor:progress}.cta-busy{cursor:progress}.hint{margin:0;text-align:center;font-family:var(--font-body);font-size:.85rem;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}.hint-error{color:var(--danger)}.hint-soft{font-size:.78rem;opacity:.85}.auth-modal-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:1rem;background:var(--scrim)}.auth{display:grid;gap:.6rem;width:min(100%,390px);max-height:min(640px,calc(100svh - 2rem));overflow:auto;padding:1rem;border-radius:.68rem;background:var(--surface);border:1px solid var(--line);animation:drop .18s ease;box-shadow:0 24px 80px -40px var(--shadow)}.auth-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.auth-head button{border:0;background:transparent;color:var(--muted);cursor:pointer;font:inherit;min-height:2.75rem;border-radius:.42rem;padding:0 .65rem}@keyframes drop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.auth-row{display:grid;gap:.5rem}.auth-input{min-height:2.75rem;border-radius:.42rem;border:1px solid var(--line);background:var(--surface-soft);padding:0 .85rem;font-size:.95rem;font-family:var(--font-body);color:var(--ink);min-width:0}.auth-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.auth-actions{display:grid;gap:.5rem;grid-template-columns:1fr}.auth-submit{width:100%}.auth-google{font-family:var(--font-ui);display:inline-flex;align-items:center;justify-content:center;height:2.75rem;border-radius:.42rem;border:1px solid var(--line);background:var(--control);color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:500}.auth-google:hover{border-color:var(--ink)}.auth-google-primary{width:100%;min-height:3rem;height:auto;padding-block:.75rem;border-color:var(--ink);background:var(--ink);color:var(--surface-soft);font-size:.96rem;font-weight:650}.auth-google-primary:hover{background:var(--ink-hover);border-color:var(--ink-hover)}.auth-email-toggle{width:100%;min-height:2.65rem;border:1px solid var(--line);border-radius:.42rem;background:var(--surface-soft);color:var(--muted);font:inherit;font-size:.9rem;font-weight:550;cursor:pointer;padding:.65rem 1rem}.auth-email-toggle:hover{border-color:var(--ink);color:var(--ink)}.result-actions{display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.result-actions-complete{grid-template-columns:1fr}.result-hint{text-align:left}.share-fallback{display:grid;gap:.45rem;min-width:0;color:var(--muted);font-family:var(--font-ui);font-size:.78rem;line-height:1.45}.share-fallback input{width:100%;min-width:0;min-height:2.65rem;border:1px solid var(--line);border-radius:.42rem;background:var(--surface);color:var(--ink);padding:0 .75rem;box-sizing:border-box;font:inherit}.result-action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.85rem;height:auto;padding:.65rem .85rem;border-radius:.42rem;font-family:var(--font-ui);font-size:.92rem;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid var(--line);transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease;text-align:center;overflow-wrap:anywhere}.result-action-primary{background:var(--ink);color:var(--surface-soft);border-color:var(--ink);box-shadow:.18rem .18rem 0 var(--accent)}.result-action-primary:hover{background:var(--ink-hover)}.result-action-secondary{background:color-mix(in oklch,var(--surface-soft) 92%,transparent);color:var(--ink)}.result-action-secondary:hover{border-color:var(--ink);transform:translateY(-2px)}.result-action-tertiary{background:transparent;color:var(--muted)}.result-action-tertiary:hover{color:var(--ink);border-color:var(--line);background:color-mix(in oklch,var(--surface-soft) 65%,transparent)}.sample:focus-visible,.thumb:focus-visible,.ratio-option:focus-visible,.cta:focus-visible,.auth-close:focus-visible,.auth-google:focus-visible,.auth-email-toggle:focus-visible,.share-fallback input:focus-visible,.result-action:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media(min-width:900px){.product{padding:4rem 4vw 5rem;grid-template-columns:minmax(0,760px) minmax(300px,360px);column-gap:2.4rem;align-items:start}.product-story{grid-column:1;gap:1.75rem}.product-hero{gap:1rem;padding-top:1rem}.action{grid-column:2;position:sticky;top:100px}.canvas-portrait{width:clamp(100px,18%,150px);left:1.25rem;bottom:1.25rem}.auth-actions{grid-template-columns:1fr auto}.auth-google{padding:0 1rem}}@media(max-width:899px){.product:not(.product-done){gap:1rem}.product:not(.product-done) .product-story{display:contents}.product:not(.product-done) .product-hero{order:1}.product:not(.product-done) .action{order:2}.product:not(.product-done) .demo-section{order:3}}@media(max-width:420px){.product{padding-inline:.75rem}.canvas-portrait{left:.75rem;bottom:.75rem;width:94px}.result-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.spin,.auth{animation:none}.canvas-after,.sample,.thumb,.cta,.result-action{transition:none}}.seo-content{display:grid;gap:1.25rem;width:min(100% - 2rem,980px);margin:0 auto 4rem;padding-top:1.5rem;border-top:1px solid var(--line)}.seo-content h2,.seo-content h3,.seo-content p{margin:0}.seo-content h2{max-width:18ch;font-size:clamp(1.7rem,3.5vw,2.6rem);line-height:1.12;font-weight:520}.seo-content h3{font-size:1rem;line-height:1.3}.seo-content p,.seo-content li{color:var(--muted);line-height:1.65}.seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.seo-grid section,.seo-content>section{display:grid;gap:.65rem}.seo-content ol,.seo-content ul{margin:0;padding-left:1.25rem}.prompt-list{display:grid;gap:.45rem}.faq-list{display:grid;gap:.55rem}.faq-list details{border:1px solid var(--line);border-radius:.8rem;background:var(--surface-soft);padding:.75rem .9rem}.faq-list summary{cursor:pointer;color:var(--ink);font-weight:650}.faq-list p{padding-top:.55rem}@media(max-width:720px){.seo-grid{grid-template-columns:1fr}}
