:root{--paper:#f6f4ee;--card:#fffefb;--ink:#1d1b16;--muted:#7d786b;--faint:#a8a294;--line:#e4dfd2;--line-strong:#cfc8b6;--accent:#2f45c4;--accent-soft:#eef0fb;--accent-ink:#ffffff;--ok:#1a7f37;--err:#b42318;--warn:#b45309;--mark:#ffd666;--serif:"Songti SC","STSong","Noto Serif SC","SimSun",serif;--sans:-apple-system,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--mark)}.wrap{max-width:1180px;margin:0 auto;padding:0 24px 90px}header.top{justify-content:space-between;padding:18px 0 16px;border-bottom:1px solid var(--line)}.brand,header.top{display:flex;align-items:center}.brand{gap:10px}.brand .logo{width:30px;height:30px;display:block}.brand .logo img{width:100%;height:100%;display:block}.brand b{font-family:var(--serif);font-size:20px;font-weight:900;letter-spacing:.04em}.brand .ver{font-size:10px;color:var(--faint);border:1px solid var(--line);padding:1px 6px;border-radius:999px;margin-left:2px}.brand .ver,.topnote{font-family:var(--mono)}.topnote{font-size:11px;color:var(--muted);letter-spacing:.08em}.hero{padding:44px 0 34px}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}.hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(30px,4.6vw,46px);line-height:1.25;margin:0 0 14px;letter-spacing:.01em}.hero h1 .mk{background:linear-gradient(transparent 62%,var(--mark) 62%);padding:0 2px}.hero p.sub{color:var(--muted);font-size:15px;margin:0 0 18px;max-width:640px}.stats{display:flex;gap:26px;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em}.stats b{display:block;font-family:var(--serif);font-size:22px;color:var(--ink);letter-spacing:0}.grid{display:grid;grid-template-columns:1fr;grid-gap:22px;gap:22px;margin-top:8px}@media (min-width:960px){.grid{grid-template-columns:430px 1fr;align-items:start}}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 20px 22px;box-shadow:0 1px 2px rgba(29,27,22,.04)}.step{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--faint);margin:18px 0 8px;display:flex;align-items:center;gap:10px}.step:first-child{margin-top:0}.step:after{content:"";flex:1 1;height:1px;background:var(--line)}.step em{font-style:normal;color:var(--accent)}label.f{display:block;font-size:12px;color:var(--muted);margin:10px 0 5px}input[type=text],select,textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{min-height:92px;resize:vertical;font-size:14px}.row{display:flex;gap:10px}.row>*{flex:1 1}.tabs{display:flex;gap:2px;margin:4px 0 8px;flex-wrap:wrap}.tab{font-size:12px;padding:4px 11px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-family:inherit}.tab:hover{color:var(--ink)}.tab.on{background:var(--ink);color:var(--paper)}.tab small{margin-left:4px;opacity:.6;font-family:var(--mono);font-size:10px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:12px;padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;color:var(--ink);font-family:inherit;transition:all .12s}.chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chip small{color:var(--faint);margin-left:5px;font-size:10px}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:4px}.check input{accent-color:var(--accent)}.note{font-size:12px;color:var(--muted)}.refs{display:flex;gap:8px;margin-top:6px}.ref{position:relative;width:62px;height:62px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.ref img{width:100%;height:100%;object-fit:cover}.ref button{position:absolute;top:0;right:0;border:0;background:rgba(29,27,22,.6);color:#fff;width:18px;height:18px;font-size:12px;line-height:1;cursor:pointer;border-radius:0 0 0 7px}.refadd{width:62px;height:62px;border:1px dashed var(--line-strong);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:20px;cursor:pointer;background:#fff;transition:all .12s}.refadd:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}button.primary{width:100%;margin-top:18px;padding:13px;font:inherit;font-size:15px;font-weight:600;background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px;cursor:pointer;letter-spacing:.05em;transition:transform .1s,box-shadow .15s;box-shadow:0 2px 8px rgba(47,69,196,.25)}button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px rgba(47,69,196,.3)}button.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.result .stagehead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px}.result .stagehead strong{font-family:var(--serif);font-size:19px;font-weight:900}.status{display:inline-flex;align-items:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:#fff}.status.done{color:var(--ok);border-color:#b5dcc0;background:#f2faf4}.status.error{color:var(--err);border-color:#eab8b2;background:#fdf3f2}.status.generating,.status.planning,.status.queued{color:var(--accent);border-color:#b9c2ec;background:var(--accent-soft)}.meta{font-size:12px;color:var(--muted);margin:5px 0}.labels{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.labels span{font-size:12px;background:var(--mark);padding:1px 8px;border-radius:4px}.canvasframe{position:relative;margin-top:10px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;overflow:hidden}.canvasframe img{width:100%;height:auto;display:block}.canvasbar{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--faint);padding:6px 12px;border-top:1px solid var(--line);background:var(--card)}.toolrow{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:13px}.toolrow a{cursor:pointer}.ocr{margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--paper)}.ocrrow{display:flex;gap:6px;margin-bottom:6px}.ocrrow input{flex:1 1;font-size:13px;padding:7px 9px}.ocrrow.rm input{text-decoration:line-through;opacity:.45}.ocrrow button{border:1px solid var(--line);background:#fff;border-radius:7px;width:32px;cursor:pointer;color:var(--muted)}.ocrrow button:hover{border-color:var(--err);color:var(--err)}.editbox{display:flex;gap:8px;margin-top:12px}.editbox input{flex:1 1}.editbox button{padding:0 20px;border:1px solid var(--accent);color:var(--accent);background:#fff;border-radius:9px;cursor:pointer;font:inherit;transition:all .12s}.editbox button:hover{background:var(--accent);color:#fff}details.prompt{margin-top:10px}details.prompt summary{cursor:pointer;font-size:12px;color:var(--muted)}details.prompt pre{white-space:pre-wrap;font-size:12px;background:var(--paper);padding:12px;border-radius:9px;border:1px solid var(--line)}.err{color:var(--err);font-size:13px;white-space:pre-wrap}.spinner{display:inline-block;width:11px;height:11px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-right:7px}@keyframes spin{to{transform:rotate(1turn)}}.empty{padding:90px 30px;text-align:center;color:var(--muted);font-size:14px;border:1px dashed var(--line-strong);border-radius:12px;background:repeating-linear-gradient(45deg,transparent,transparent 14px,rgba(29,27,22,.012) 0,rgba(29,27,22,.012) 28px)}.empty .glyph{font-family:var(--serif);font-size:34px;color:var(--faint);display:block;margin-bottom:10px}.sect{margin-top:64px}.secthead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.secthead h2{font-family:var(--serif);font-size:26px;font-weight:900;margin:6px 0 0}.secthead .note{max-width:420px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:16px;gap:16px}.gitem{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);transition:transform .15s,box-shadow .15s}.gitem:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(29,27,22,.08)}.gitem img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#fff;border-bottom:1px solid var(--line)}.gitem figcaption{padding:10px 13px 12px}.gitem figcaption strong{font-family:var(--serif);font-size:15px;font-weight:900}.gitem .gmeta{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--faint);margin:2px 0 8px}.gitem .gactions{display:flex;align-items:center;gap:12px}.history{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.history .item{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);cursor:pointer;transition:transform .12s,box-shadow .12s}.history .item:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(29,27,22,.08)}.history .item img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#fff}.history .item .t{font-size:11px;padding:6px 9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}footer.foot{margin-top:80px;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--faint)}.topnav{display:flex;align-items:center;gap:22px;font-size:13px}.topnav a{color:var(--muted)}.topnav a:hover{color:var(--ink);text-decoration:none}.topnav a.cta{color:#fff;background:var(--accent);padding:7px 16px;border-radius:999px;font-weight:600}.topnav a.cta:hover{box-shadow:0 3px 12px rgba(47,69,196,.3)}.lhero{display:grid;grid-template-columns:1fr;grid-gap:36px;gap:36px;padding:52px 0 44px;align-items:center}@media (min-width:980px){.lhero{grid-template-columns:1.05fr .95fr}}.lhero h1{font-family:var(--serif);font-weight:900;font-size:clamp(30px,4.4vw,44px);line-height:1.28;margin:0 0 14px}.lhero .mk{background:linear-gradient(transparent 62%,var(--mark) 62%);padding:0 2px}.lhero p.sub{color:var(--muted);font-size:15px;margin:0 0 20px;max-width:560px}.inputbar{display:flex;background:#fff;border:1.5px solid var(--ink);border-radius:12px;overflow:hidden;box-shadow:4px 4px 0 rgba(29,27,22,.12);max-width:560px}.inputbar input{flex:1 1;border:0;padding:14px 16px;font:inherit;font-size:14px}.inputbar input:focus{outline:none;box-shadow:none}.inputbar button{border:0;background:var(--accent);color:#fff;font:inherit;font-weight:600;padding:0 24px;cursor:pointer;letter-spacing:.04em}.inputbar button:hover{background:#2438a8}.trys{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;max-width:620px}.trylabel{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--faint);margin-right:4px}.trys .chip:hover{text-decoration:none}.ticks{margin-top:16px;letter-spacing:.02em}.showcase{margin:0}.showcase .frame{position:relative;background:#fff;border:1px solid var(--line-strong);border-radius:14px;padding:26px 14px;box-shadow:0 14px 40px rgba(29,27,22,.1)}.showcase .frame img{width:100%;height:auto;display:block;border-radius:6px}.showcase .corner{position:absolute;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--faint)}.showcase .corner.tl{top:8px;left:14px}.showcase .corner.br{bottom:8px;right:14px}.showcase figcaption{margin-top:10px;text-align:center}.band{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;margin-top:8px}@media (min-width:760px){.band{grid-template-columns:repeat(4,1fr)}}.band b{font-family:var(--serif);font-size:30px;font-weight:900;display:block}.band span{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--muted)}.how{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media (min-width:800px){.how{grid-template-columns:repeat(3,1fr)}}.howstep{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;position:relative}.howstep .num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--accent)}.howstep h3{font-family:var(--serif);font-size:18px;font-weight:900;margin:8px 0 6px}.howstep p{margin:0;color:var(--muted);font-size:13px}.bigcta{display:inline-block;background:var(--ink);color:var(--paper);padding:13px 30px;border-radius:999px;font-size:15px;font-weight:600;letter-spacing:.04em}.bigcta:hover{text-decoration:none;background:#000;box-shadow:0 6px 20px rgba(29,27,22,.25)}.studio-shell{min-height:100vh;display:flex;flex-direction:column}.studiobar{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-bottom:1px solid var(--line);background:var(--card);position:-webkit-sticky;position:sticky;top:0;z-index:5}.studiobar .brand a.logo{text-decoration:none}.studio{flex:1 1;display:grid;grid-template-columns:1fr;grid-gap:18px;gap:18px;padding:18px 22px 40px;max-width:1440px;width:100%;margin:0 auto}@media (min-width:1000px){.studio{grid-template-columns:1fr 372px;align-items:start}}.stage{min-height:60vh}.stagetitle{font-family:var(--serif);font-size:24px;font-weight:900;margin:6px 0 16px}.tmplgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));grid-gap:12px;gap:12px}.tmpl{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);cursor:pointer;padding:0;text-align:left;font:inherit;transition:transform .13s,box-shadow .13s}.tmpl:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(29,27,22,.09)}.tmpl img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-bottom:1px solid var(--line);background:#fff}.tmpl span{display:block;padding:8px 11px 10px}.tmpl b{font-family:var(--serif);font-size:14px;display:block}.tmpl small{color:var(--faint);font-family:var(--mono);font-size:9.5px;letter-spacing:.1em}.rail{display:flex;flex-direction:column;gap:14px;position:-webkit-sticky;position:sticky;top:68px}.railcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}.railhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.thumbs{display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-gap:8px!important;gap:8px!important}.thumbs .item{border-radius:8px}.thumbs .item.on{outline:2px solid var(--accent);outline-offset:1px}.thumbs .item img{aspect-ratio:16/10}.composer textarea{min-height:76px;margin-bottom:8px}.composer .row{margin-bottom:8px}.composer select{font-size:12.5px;padding:8px 9px}.composer .refs{margin:4px 0 0}.composer button.primary{margin-top:12px;padding:12px}.langsel{width:auto;font-size:12px;padding:5px 8px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--muted)}.crumb{padding:14px 0 0}.crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{color:var(--accent)}.crumb span{color:var(--ink)}.toolhero{display:grid;grid-template-columns:1.05fr 1fr;grid-gap:44px;gap:44px;align-items:start;padding:26px 0 34px}.toolhero h1{font-family:var(--serif);font-size:34px;line-height:1.25;margin:6px 0 12px}.toolhero .labelh{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:20px 0 10px}.labellist{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}.gitem strong a{color:inherit;text-decoration:none}.gitem strong a:hover{color:var(--accent)}@media (max-width:860px){.toolhero{grid-template-columns:1fr}}