:root{
  --paper:#fff9f3;
  --ink:#493936;
  --muted:#826e68;
  --berry:#d96370;
  --berry-dark:#a83f4d;
  --night:#241a19;
  --night-soft:#332220;
  --pumpkin:#d66f2b;
  --teal:#6f9690;
  --sand:#e5e5e0;
  --line:rgba(92,61,56,.16);
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-move:cubic-bezier(.77,0,.175,1);
}

*{box-sizing:border-box}
html{max-width:100%;overflow-x:clip;background:var(--paper)}
body{margin:0;min-height:100dvh;max-width:100%;overflow-x:clip;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;line-height:1.65}
body:before{content:"";position:fixed;z-index:80;inset:0;pointer-events:none;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E")}
::selection{background:#e7a8ad;color:#3f302e}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button,a,label{touch-action:manipulation}
i{font-style:normal}
img{display:block;max-width:100%}
.figure-fallback[hidden]{display:none}
.skip-link{position:fixed;z-index:200;left:12px;top:12px;padding:9px 13px;border-radius:10px;background:#fff;color:var(--ink);transform:translateY(-160%);transition:transform 160ms var(--ease-out)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid rgba(217,99,112,.38);outline-offset:3px}

.studio-header{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(18px,4vw,60px);position:relative;z-index:20;border-bottom:1px solid rgba(103,73,67,.11);background:rgba(255,249,243,.78);backdrop-filter:blur(18px) saturate(150%)}
.brand{display:flex;align-items:center;gap:10px;width:max-content;font:600 17px Georgia,"Songti SC",serif;letter-spacing:0}
.brand>span:last-child{display:flex;flex-direction:column}.brand small{font:600 7px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:#9d827b;letter-spacing:0}
.studio-mode{font:600 8px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.22em;color:#9c7c74}
.back-link{justify-self:end;font-size:12px;color:#6f5953;border-bottom:1px solid rgba(111,89,83,.28);padding-bottom:2px}
.woni-mark{width:40px;height:38px;position:relative;isolation:isolate;display:block}
.woni-mark .ear{position:absolute;z-index:0;top:0;width:13px;height:22px;border-radius:78% 35%;background:#f2cdd1}
.woni-mark .ear.left{left:7px;transform:rotate(-10deg)}.woni-mark .ear.right{right:7px;transform:scaleX(-1) rotate(-10deg)}
.woni-mark .face{position:absolute;z-index:1;left:2px;right:2px;bottom:0;height:32px;border-radius:48% 48% 43% 43%;background:#f4d2d5;box-shadow:inset -5px -4px #dfadb3,0 5px 13px rgba(103,67,65,.14)}
.woni-mark .face:before,.woni-mark .face:after{content:"";position:absolute;width:4px;height:5px;background:#55413d;border-radius:50%;top:13px}.woni-mark .face:before{left:9px}.woni-mark .face:after{right:9px}
.woni-mark .face i{position:absolute;width:7px;height:4px;border-bottom:1.5px solid #966669;border-radius:50%;left:13px;top:20px}

.studio-main{width:min(1520px,100%);margin:0 auto;padding:clamp(40px,6vw,88px) clamp(18px,4vw,60px) 54px}
.result-intro{position:relative}
.intro-copy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:34px;margin-bottom:36px}
.status-line{grid-column:1/-1;margin:0 0 -14px;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;color:#8a554f}
.status-line span{width:8px;height:8px;border-radius:50%;background:#4d8b6d;box-shadow:0 0 0 5px rgba(77,139,109,.1)}
.intro-copy h1{margin:0;font:500 clamp(46px,6.1vw,94px)/1.02 Georgia,"Songti SC",serif;text-wrap:balance;letter-spacing:0}
.intro-copy h1 span,.intro-copy h1 strong{display:block}.intro-copy h1 strong{font-weight:500;color:var(--berry);transform:translateX(clamp(18px,5vw,78px))}
.intro-note{justify-self:end;max-width:31em;margin:0 0 7px;color:var(--muted);font-size:14px;line-height:1.8;text-wrap:pretty}

.studio-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.62fr);align-items:start;gap:clamp(22px,4vw,62px)}
.figure-workspace{min-width:0}
.stage-frame{position:relative;min-height:650px;height:min(72vh,830px);border-radius:8px;overflow:hidden;isolation:isolate;background:#241a19;box-shadow:0 0 0 1px rgba(64,37,32,.12),0 2px 6px rgba(78,45,38,.10),0 30px 82px rgba(73,44,39,.24);transition:background-color 240ms var(--ease-out)}
.stage-frame:before{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(circle at 62% 16%,rgba(239,153,88,.27),transparent 27%),linear-gradient(140deg,rgba(139,60,45,.18),transparent 40%);pointer-events:none;transition:opacity 240ms var(--ease-out)}
.stage-frame:after{content:"TOYROOM / DIGITAL RESIDENT 001";position:absolute;z-index:8;left:24px;top:24px;max-width:120px;color:rgba(255,255,255,.5);font:600 8px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em;pointer-events:none}
.figure-stage{--turn-x:0deg;--turn-y:0deg;--light-x:0px;--light-y:0px;position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;user-select:none;perspective:1200px;outline-offset:-5px}
.figure-stage.is-dragging{cursor:grabbing}
.stage-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none}.stage-sky:before{content:"";position:absolute;left:-8%;right:-8%;top:-18%;height:65%;background:radial-gradient(ellipse at center,rgba(244,171,104,.29),rgba(70,35,33,.06) 54%,transparent 70%);transform:translate3d(calc(var(--light-x) * -.24),calc(var(--light-y) * -.18),0);transition:transform 120ms linear}
.stage-sky>i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffd9a0;box-shadow:0 0 0 4px rgba(255,217,160,.06);opacity:.7;animation:dustFloat 4.8s var(--ease-move) infinite alternate}.stage-sky>i:nth-child(1){left:19%;top:27%}.stage-sky>i:nth-child(2){right:24%;top:18%;animation-delay:-1.8s}.stage-sky>i:nth-child(3){right:14%;top:48%;animation-delay:-3.1s}
.stage-window{position:absolute;z-index:1;left:6%;top:13%;width:25%;height:53%;border:1px solid rgba(255,199,153,.2);border-radius:180px 180px 8px 8px;background:linear-gradient(180deg,rgba(184,103,72,.16),rgba(45,27,27,.06));box-shadow:inset 0 0 0 8px rgba(255,223,197,.025);transform:translate3d(calc(var(--light-x) * -.12),calc(var(--light-y) * -.08),-50px)}
.stage-window:before,.stage-window:after{content:"";position:absolute;background:rgba(255,218,188,.1)}.stage-window:before{width:1px;inset:0 auto 0 50%}.stage-window:after{height:1px;inset:56% 0 auto}
.stage-window i{position:absolute;left:13%;right:13%;height:1px;background:rgba(255,218,188,.09)}.stage-window i:first-child{top:35%}.stage-window i:last-child{bottom:19%}
.stage-arch{position:absolute;z-index:1;right:-8%;bottom:-31%;width:69%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.085);box-shadow:0 0 0 28px rgba(255,255,255,.018),0 0 0 70px rgba(255,255,255,.012);transform:translate3d(calc(var(--light-x) * .07),calc(var(--light-y) * .05),-70px)}
.figure-rig{position:absolute;z-index:4;left:50%;bottom:5.4%;width:min(64%,520px);height:83%;transform:translate3d(-50%,0,0);transform-origin:50% 72%;will-change:transform}
.depth-canvas,.figure-fallback{position:absolute;left:50%;right:auto;top:auto;bottom:0;width:auto;height:100%;aspect-ratio:1619/3470;transform:translateX(-50%);object-fit:cover;object-position:center;pointer-events:none;filter:none}
.depth-canvas{opacity:0;transition:opacity 220ms var(--ease-out)}.depth-ready .depth-canvas{opacity:1}.depth-ready .figure-fallback{opacity:0}.figure-fallback{transition:opacity 160ms var(--ease-out)}
.figure-shadow{position:absolute;z-index:-1;left:15%;right:15%;bottom:-2%;height:8%;border-radius:50%;background:rgba(5,2,2,.54);filter:blur(16px);transform:translate3d(calc(var(--light-x) * -.24),8px,-40px) scaleX(calc(1 - var(--shadow-shrink,0)))}
.stage-name{position:absolute;z-index:2;left:4%;bottom:1%;font:600 clamp(65px,11vw,170px)/.8 Georgia,"Times New Roman",serif;letter-spacing:0;color:rgba(255,235,218,.052);white-space:nowrap;pointer-events:none}
.depth-meter{position:absolute;z-index:8;right:24px;bottom:24px;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.66);font:600 8px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.depth-meter i{display:block;width:44px;height:1px;background:rgba(255,255,255,.25);position:relative}.depth-meter i:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:#e88b55}
.drag-glyph{position:absolute;z-index:9;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.45);font:500 11px ui-monospace,SFMono-Regular,Consolas,monospace;pointer-events:none;animation:glyphBreathe 1.8s var(--ease-move) infinite alternate}.drag-glyph i{display:block;width:26px;height:1px;background:rgba(255,255,255,.22)}
.motion-button{position:absolute;z-index:12;right:20px;top:20px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(34,23,22,.56);backdrop-filter:blur(14px);color:rgba(255,255,255,.78);cursor:pointer;transition:transform 130ms var(--ease-out),background-color 160ms var(--ease-out)}.motion-button:active{transform:scale(.95)}

.build-state{position:absolute;z-index:30;inset:0;display:grid;place-items:center;align-content:center;gap:12px;text-align:center;color:rgba(255,255,255,.86);background:#241a19;transition:opacity 260ms var(--ease-out),transform 280ms var(--ease-out)}
.build-state b{font:500 22px Georgia,"Songti SC",serif}.build-state small{font-size:11px;color:rgba(255,255,255,.58)}
.cancel-generation{display:none}
.build-orbit{width:92px;height:92px;border:1px solid rgba(255,255,255,.16);border-radius:50%;position:relative;animation:orbitSpin 1.8s linear infinite}.build-orbit:before,.build-orbit:after{content:"";position:absolute;inset:13px;border:1px solid rgba(255,255,255,.10);border-radius:50%;transform:rotate(65deg)}.build-orbit:after{inset:28px;background:#d76e3a;border:0;box-shadow:0 0 0 8px rgba(215,110,58,.12)}.build-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#f0c7ad}.build-orbit i:nth-child(1){left:5px;top:37px}.build-orbit i:nth-child(2){right:12px;top:15px}.build-orbit i:nth-child(3){right:14px;bottom:15px}
.local-run-controls{width:min(360px,calc(100% - 32px));margin-top:10px;text-align:left}.local-run-controls label{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;font-weight:600}.local-run-controls label small{font-size:10px;font-weight:400;color:rgba(255,255,255,.58)}.local-run-controls input{width:100%;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:7px;background:rgba(255,255,255,.08);color:#fff;padding:0 13px;outline:none}.local-run-controls input:focus{border-color:#efbd9f;box-shadow:0 0 0 3px rgba(239,189,159,.14)}.local-run-controls button{width:100%;min-height:46px;margin-top:10px;border-radius:999px;cursor:pointer}.start-local-run{border:1px solid rgba(255,255,255,.5);background:#e2717b;color:#fff;font-weight:600}.skip-local-recognition{border:1px solid rgba(255,255,255,.2);background:transparent;color:rgba(255,255,255,.78)}.local-progress{max-width:330px;margin:10px 20px 0;color:rgba(255,255,255,.7);font-size:11px;line-height:1.7}.awaiting-local .build-orbit{display:none}.awaiting-local .build-state>b,.awaiting-local .build-state>small{display:none}
.is-idle .build-state,.is-ready .build-state{opacity:0;transform:scale(.97);pointer-events:none}.is-error .build-state{opacity:1;transform:none}.is-idle .build-orbit,.is-error .build-orbit{display:none}.is-error .local-progress{color:#a43e4b;font-weight:600}.is-error .build-state b,.is-error .build-state small{display:none}
.is-building .intro-copy,.is-building .figure-dossier{opacity:.62}.is-ready .intro-copy,.is-ready .figure-dossier{animation:copyReveal 520ms var(--ease-out)}.is-ready .figure-rig{animation:figureReveal 840ms var(--ease-out)}.is-ready .stage-window{animation:windowReveal 760ms .12s var(--ease-out)}.is-error .action-stack{opacity:.4;pointer-events:none}.is-error .retry-command{display:block}

.theme-control{display:none}
.theme-control label{min-width:0}.theme-control input{position:absolute;opacity:0;pointer-events:none}.theme-control span{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:5px;color:#7b655f;font-size:12px;cursor:pointer;transition:background-color 160ms var(--ease-out),color 160ms var(--ease-out),transform 130ms var(--ease-out),box-shadow 160ms var(--ease-out)}.theme-control input:checked+span{background:#fffaf5;color:#4f3c38;box-shadow:0 1px 4px rgba(82,55,49,.13),0 8px 20px rgba(82,55,49,.08)}.theme-control input:focus-visible+span{outline:3px solid rgba(217,99,112,.32);outline-offset:2px}.theme-control span:active{transform:scale(.98)}
.swatch{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(50,30,25,.1)}.swatch.cream{background:#ead4ca}.swatch.night{background:#4b2924}.swatch.museum{background:#789b93}

.stage-frame[data-theme="cream"]{background:#e8d3c8}.stage-frame[data-theme="cream"]:before{background:radial-gradient(circle at 65% 18%,rgba(255,255,255,.8),transparent 29%),linear-gradient(145deg,rgba(255,241,228,.6),rgba(179,116,101,.12))}.stage-frame[data-theme="cream"] .stage-window{border-color:rgba(91,62,56,.13);background:linear-gradient(#b7cbd0 0 57%,#e6dfcb 58%)}.stage-frame[data-theme="cream"] .stage-arch{border-color:rgba(91,62,56,.12);box-shadow:0 0 0 28px rgba(255,255,255,.12),0 0 0 70px rgba(255,255,255,.07)}.stage-frame[data-theme="cream"] .stage-name{color:rgba(91,62,56,.055)}.stage-frame[data-theme="cream"] .depth-meter,.stage-frame[data-theme="cream"] .drag-glyph{color:rgba(73,57,54,.58)}.stage-frame[data-theme="cream"] .drag-glyph i{background:rgba(73,57,54,.22)}
.stage-frame[data-theme="museum"]{background:#27433f}.stage-frame[data-theme="museum"]:before{background:radial-gradient(circle at 57% 15%,rgba(233,211,171,.35),transparent 27%),linear-gradient(155deg,rgba(113,157,146,.35),transparent 48%)}.stage-frame[data-theme="museum"] .stage-window{border-radius:2px;width:28%;height:48%;background:rgba(174,208,198,.08);border-color:rgba(219,239,233,.15)}.stage-frame[data-theme="museum"] .stage-arch{border-color:rgba(199,228,220,.13);box-shadow:0 0 0 28px rgba(199,228,220,.025),0 0 0 70px rgba(199,228,220,.018)}.stage-frame[data-theme="museum"] .depth-meter i:after{background:#e8c48d}

.figure-dossier{position:sticky;top:24px;min-width:0;padding:10px 0 0}
.figure-dossier h2{margin:27px 0 3px;font:500 clamp(37px,4.2vw,64px)/1.08 Georgia,"Songti SC",serif;text-wrap:balance;letter-spacing:0}
.english-name{margin:0 0 30px;font:600 9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em;color:#ad6963}
.figure-dossier dl{margin:0;border-top:1px solid var(--line)}.figure-dossier dl div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.figure-dossier dt{color:#9b837c}.figure-dossier dd{margin:0;color:#4e3c38;font-weight:500;overflow-wrap:anywhere}
.personality-row dd{font-weight:400;line-height:1.45}.action-stack{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.cabinet-command{grid-column:1/-1}.primary-command,.secondary-command,.save-share-card{min-height:54px;border-radius:999px;padding:7px 8px 7px 21px;display:flex;align-items:center;justify-content:space-between;gap:12px;white-space:nowrap;cursor:pointer;font-weight:600;transition:transform 140ms var(--ease-out),box-shadow 180ms var(--ease-out),background-color 180ms var(--ease-out),opacity 180ms var(--ease-out)}.primary-command{border:1px solid rgba(255,255,255,.52);background:linear-gradient(135deg,#e47781,#ca4f5d);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.58),0 2px 5px rgba(120,50,60,.10),0 16px 34px rgba(159,65,78,.23)}.secondary-command{border:1px solid rgba(73,57,54,.22);background:#fffaf5;color:#4d3b37}.regenerate-scene{justify-content:center;padding-inline:16px}.primary-command i,.secondary-command i,.save-share-card i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.primary-command i,.save-share-card i{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.13)}.secondary-command i{background:#f0e3dc;color:#8b5b55}.primary-command:active,.secondary-command:active,.save-share-card:active{transform:scale(.97)}.primary-command:disabled{opacity:.48;cursor:not-allowed;box-shadow:inset 0 1px rgba(255,255,255,.4)}

.has-generated-scene .figure-rig{inset:0;width:100%;height:100%;transform:none;animation:none}
.has-generated-scene .figure-fallback{inset:0;width:100%;height:100%;transform:none;aspect-ratio:auto}
.has-generated-scene .depth-canvas,
.has-generated-scene .figure-shadow,
.has-generated-scene .stage-sky,
.has-generated-scene .stage-window,
.has-generated-scene .stage-arch,
.has-generated-scene .stage-name,
.has-generated-scene .depth-meter,
.has-generated-scene .drag-glyph,
.has-generated-scene .motion-button{display:none}
.retry-command{width:100%;min-height:48px;margin-top:10px;border:1px solid #b94e5b;border-radius:999px;background:#fff7f4;color:#a43e4b;cursor:pointer}

.process-strip{margin-top:44px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:20px;color:#806a64;font-size:11px}.process-strip span{display:flex;align-items:center;gap:10px}.process-strip b{font:600 9px ui-monospace,SFMono-Regular,Consolas,monospace;color:#c36169;font-variant-numeric:tabular-nums}

.share-dialog{width:min(1020px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:8px;background:#f8eee7;color:var(--ink);box-shadow:0 35px 100px rgba(29,15,13,.42);overflow:auto;overscroll-behavior:contain}.share-dialog::backdrop{background:rgba(38,25,23,.72);backdrop-filter:blur(14px)}
.dialog-shell>header{height:90px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-shell>header span{font-size:10px;color:#a47670}.dialog-shell>header h2{margin:1px 0 0;font:500 28px Georgia,"Songti SC",serif}.dialog-close{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fffaf5;color:#59433f;font-size:25px;cursor:pointer;transition:transform 130ms var(--ease-out),background-color 160ms var(--ease-out)}.dialog-close:active{transform:scale(.95)}
.share-dialog-body{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(250px,.6fr);gap:clamp(26px,5vw,64px);align-items:center;padding:clamp(22px,4vw,48px)}
.inline-profile-editor{background:linear-gradient(145deg,#fffaf5,#f4e5dc)}.inline-profile-editor[hidden]{display:none}.dossier-view[hidden]{display:none}.edit-fields{padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.edit-fields label{display:grid;gap:7px;color:#765f59;font-size:11px;font-weight:600}.edit-fields input,.edit-fields textarea{width:100%;border:1px solid rgba(73,57,54,.18);border-radius:14px;background:rgba(255,255,255,.78);color:#493936;padding:12px 14px;outline:0;resize:vertical}.edit-fields input:focus,.edit-fields textarea:focus{border-color:#cf6572;box-shadow:0 0 0 4px rgba(207,101,114,.12)}.story-field{grid-column:1/-1}.edit-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 28px 28px}.edit-actions button{min-height:46px;padding:0 19px;border-radius:999px;border:1px solid rgba(73,57,54,.18);background:#fffaf5;cursor:pointer}.edit-actions .save-toy-profile{border-color:transparent;background:#493936;color:#fff}
.share-card-preview{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:8px;background:linear-gradient(150deg,#2c1d1b 0 61%,#d46739 61%);color:#fff;box-shadow:0 0 0 1px rgba(72,42,37,.08),0 3px 8px rgba(72,42,37,.13),0 30px 65px rgba(72,42,37,.24)}
.share-card-preview:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 63% 19%,rgba(245,165,101,.34),transparent 30%),linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.06) 50%,transparent 50.2%)}
.share-label{position:absolute;z-index:3;left:7%;top:6%;font:600 7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em;color:rgba(255,255,255,.68)}
.share-figure-wrap{position:absolute;z-index:2;left:4%;right:4%;top:8%;height:63%}.share-figure-wrap img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 23px 16px rgba(6,3,2,.44))}
.share-copy{position:absolute;z-index:4;left:7%;right:7%;bottom:8%}.share-copy small{font-size:8px;color:rgba(255,255,255,.63)}.share-copy h3{margin:4px 0 5px;font:500 clamp(29px,4.2vw,48px)/1.05 Georgia,"Songti SC",serif}.share-copy p{margin:0;font-size:11px;color:rgba(255,255,255,.75)}
.share-sign{position:absolute;z-index:4;right:7%;bottom:4%;font:600 9px Georgia,"Songti SC",serif;color:rgba(255,255,255,.6)}
.share-actions p{max-width:23em;margin:0 0 24px;color:#76605a;font-size:14px;line-height:1.75}.save-share-card{width:100%;border:1px solid rgba(255,255,255,.5);background:linear-gradient(135deg,#e47781,#ca4f5d);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.55),0 13px 30px rgba(159,65,78,.22)}.copy-share-caption{width:100%;min-height:48px;margin-top:10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:#604a45;cursor:pointer;transition:transform 130ms var(--ease-out),background-color 160ms var(--ease-out)}.copy-share-caption:active{transform:scale(.98)}
.toast{position:fixed;z-index:220;left:50%;bottom:24px;max-width:min(90%,520px);transform:translate(-50%,120px);opacity:0;background:#423432;color:#fff;padding:11px 16px;border-radius:999px;font-size:12px;text-align:center;box-shadow:0 15px 35px rgba(49,31,29,.25);transition:transform 200ms var(--ease-out),opacity 180ms var(--ease-out)}.toast.show{transform:translate(-50%,0);opacity:1}

@media (hover:hover) and (pointer:fine){
  .back-link:hover{color:var(--berry-dark);border-color:var(--berry-dark)}
  .primary-command:hover,.save-share-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px rgba(255,255,255,.65),0 3px 7px rgba(120,50,60,.12),0 20px 42px rgba(159,65,78,.30)}
  .secondary-command:hover,.copy-share-caption:hover{transform:translateY(-1px);background:#fff}
  .motion-button:hover,.dialog-close:hover{background-color:rgba(255,255,255,.12)}
  .theme-control label:hover span{background:#f8f0ea}
}

@media (max-width:980px){
  .intro-copy{grid-template-columns:1fr}.intro-note{justify-self:start}.studio-layout{grid-template-columns:minmax(0,1fr) 290px;gap:26px}.stage-frame{min-height:590px;height:68vh}.figure-rig{width:min(70%,500px)}
}

@media (max-width:760px){
  .studio-header{height:68px;grid-template-columns:1fr auto;padding:0 15px}.studio-mode{display:none}.back-link{font-size:11px}.brand{font-size:15px}.woni-mark{transform:scale(.9);transform-origin:left center}
  .studio-main{padding:27px 14px calc(28px + env(safe-area-inset-bottom))}.intro-copy{gap:16px;margin-bottom:24px}.status-line{margin:0 0 -7px;font-size:11px}.intro-copy h1{font-size:clamp(43px,13vw,60px)}.intro-copy h1 strong{transform:translateX(10px)}.intro-note{font-size:13px;line-height:1.7}
  .studio-layout{display:flex;flex-direction:column;gap:0}.figure-workspace{width:100%}.stage-frame{height:min(68dvh,650px);min-height:520px;border-radius:6px}.stage-frame:after{left:17px;top:17px}.motion-button{right:14px;top:14px}.figure-rig{width:min(88%,520px);height:81%;bottom:6%}.stage-window{left:3%;width:28%}.stage-name{left:0;bottom:2%;font-size:24vw}.depth-meter{right:16px;bottom:16px}.drag-glyph{bottom:15px}.theme-control{overflow-x:auto;grid-template-columns:repeat(3,minmax(112px,1fr));scrollbar-width:none}.theme-control::-webkit-scrollbar{display:none}.theme-control span{font-size:11px}
  .figure-dossier{position:static;width:100%;padding:33px 4px 0}.figure-dossier h2{font-size:46px}.action-stack{position:static;margin:24px 0 0;padding:0;background:transparent;grid-template-columns:1.15fr .85fr;box-shadow:none}.primary-command,.secondary-command{min-height:50px;padding-left:16px;font-size:12px}.primary-command i,.secondary-command i{width:36px;height:36px}
  .process-strip{grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}.process-strip span{align-items:flex-start}
  .share-dialog{width:100%;max-height:96dvh;margin:auto 0 0;border-radius:8px 8px 0 0}.dialog-shell>header{height:78px}.dialog-shell>header h2{font-size:24px}.share-dialog-body{grid-template-columns:1fr;padding:18px 20px calc(22px + env(safe-area-inset-bottom));gap:24px}.share-card-preview{width:min(100%,420px);justify-self:center}.share-actions p{margin-bottom:16px}.edit-fields{grid-template-columns:1fr;padding:22px 20px}.story-field{grid-column:auto}.edit-actions{position:sticky;bottom:0;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:#f8eee7}.edit-actions button{flex:1}
}

@media (max-width:390px){.action-stack{grid-template-columns:1fr}.stage-frame{min-height:500px}.figure-rig{width:94%}.figure-dossier h2{font-size:41px}.process-strip{grid-template-columns:1fr}.theme-control{grid-template-columns:repeat(3,minmax(105px,1fr))}}

@media (prefers-reduced-transparency:reduce){.studio-header,.action-stack,.motion-button{backdrop-filter:none;background-color:var(--paper)}}
@media (prefers-contrast:more){.stage-frame{box-shadow:0 0 0 2px #4b302c}.figure-dossier dl,.figure-dossier dl div{border-color:#9f8780}.intro-note{color:#5f4b46}}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .figure-rig{transform:translate3d(-50%,0,0)!important}.drag-glyph,.stage-sky>i{display:none}.stage-sky:before,.stage-window,.stage-arch{transform:none!important}
}

.motion-paused *{animation-play-state:paused!important}
.motion-paused .figure-rig{transform:translate3d(-50%,0,0)!important}
.is-placing .figure-rig{transform:translate3d(-50%,18%,0) scale(.34)!important;opacity:0;transition:transform 500ms var(--ease-move),opacity 360ms var(--ease-out)}
.is-placing .stage-frame{box-shadow:0 0 0 1px rgba(64,37,32,.12),0 2px 6px rgba(78,45,38,.10),0 45px 110px rgba(73,44,39,.32)}

html.is-embedded-document,
html.is-embedded-document body{
  height:100%;
  overflow:hidden;
  background:transparent;
}

.cabinet-creator-content.studio-page.is-embedded{
  min-height:100%;
  overflow:hidden;
  background:transparent;
}

.cabinet-creator-content.studio-page.is-embedded:before,
.cabinet-creator-content.studio-page.is-embedded .skip-link,
.cabinet-creator-content.studio-page.is-embedded .studio-header,
.cabinet-creator-content.studio-page.is-embedded .intro-copy,
.cabinet-creator-content.studio-page.is-embedded .process-strip{display:none}

.cabinet-creator-content.studio-page.is-embedded .studio-main{
  width:100%;
  height:100%;
  overflow:hidden;
  padding:14px 18px 18px;
}

.cabinet-creator-content.studio-page.is-embedded .result-intro,
.cabinet-creator-content.studio-page.is-embedded .studio-layout{
  height:100%;
  min-height:0;
  overflow:hidden;
}

.cabinet-creator-content.studio-page.is-embedded .studio-layout{
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  align-items:stretch;
  gap:clamp(10px,1.5vw,18px);
}

.cabinet-creator-content.studio-page.is-embedded .figure-workspace{
  display:block;
  height:100%;
  min-height:0;
}

.cabinet-creator-content.studio-page.is-embedded .stage-frame{
  width:100%;
  height:100%;
  min-height:0;
  border-radius:16px;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.cabinet-creator-content.studio-page.is-embedded .stage-frame:before,
.cabinet-creator-content.studio-page.is-embedded .stage-frame:after,
.cabinet-creator-content.studio-page.is-embedded .stage-sky,
.cabinet-creator-content.studio-page.is-embedded .stage-window,
.cabinet-creator-content.studio-page.is-embedded .stage-arch,
.cabinet-creator-content.studio-page.is-embedded .stage-name,
.cabinet-creator-content.studio-page.is-embedded .depth-meter,
.cabinet-creator-content.studio-page.is-embedded .drag-glyph,
.cabinet-creator-content.studio-page.is-embedded .motion-button,
.cabinet-creator-content.studio-page.is-embedded .figure-shadow{display:none}

.cabinet-creator-content.studio-page.is-embedded .figure-rig{width:min(72%,460px);height:88%;bottom:calc(5% + 18px)}
.cabinet-creator-content.studio-page.is-embedded.has-generated-scene .figure-rig{inset:0;width:100%;height:100%;transform:none}
.cabinet-creator-content.studio-page.is-embedded .depth-canvas,
.cabinet-creator-content.studio-page.is-embedded .figure-fallback{
  z-index:1;
  filter:none;
}
.cabinet-creator-content.studio-page.is-embedded.is-ready .figure-shadow{
  display:block;
  z-index:0;
  left:18%;
  right:18%;
  bottom:1%;
  height:5%;
  background:rgba(73,57,54,.22);
  filter:blur(10px);
  transform:translate3d(0,2px,0) scaleX(.9);
}
.cabinet-creator-content.studio-page.is-embedded.has-generated-scene.is-ready .figure-shadow{display:none}
.cabinet-creator-content.studio-page.is-embedded .build-state{
  gap:18px;
  padding-bottom:68px;
  background:transparent;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.cabinet-creator-content.studio-page.is-embedded .build-state>b,
.cabinet-creator-content.studio-page.is-embedded .build-state>small,
.cabinet-creator-content.studio-page.is-embedded .local-run-controls{display:none!important}

.cabinet-creator-content.studio-page.is-embedded .local-progress{
  display:block;
  width:min(290px,calc(100% - 34px));
  margin:2px auto 0;
  color:rgba(73,57,54,.68);
  font-size:11px;
  line-height:1.55;
  text-align:center;
}

.cabinet-creator-content.studio-page.is-embedded .local-progress[hidden]{display:none}

.cabinet-creator-content.studio-page.is-embedded.awaiting-local .build-orbit{display:block}

.cabinet-creator-content.studio-page.is-embedded .build-orbit{
  border-color:rgba(73,57,54,.22);
}

.cabinet-creator-content.studio-page.is-embedded .build-orbit:before,
.cabinet-creator-content.studio-page.is-embedded .build-orbit:after{border-color:rgba(73,57,54,.13)}
.cabinet-creator-content.studio-page.is-embedded .build-orbit i{background:rgba(73,57,54,.62)}

.cabinet-creator-content.studio-page.is-embedded .cancel-generation{
  display:inline-flex;
  min-width:116px;
  min-height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:rgba(255,250,246,.34);
  color:var(--ink);
  box-shadow:0 1px 0 rgba(255,255,255,.72) inset,0 10px 28px rgba(76,48,30,.08);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  cursor:pointer;
  font-size:13px;
  font-weight:500;
}

.cabinet-creator-content.studio-page.is-embedded.is-ready .cancel-generation{display:none}

.cabinet-creator-content.studio-page.is-embedded .theme-control{display:none}

.cabinet-creator-content.studio-page.is-embedded .figure-dossier{
  position:static;
  display:block;
  height:100%;
  min-height:0;
  overflow:hidden;
  padding:0;
  transform:none;
}

.cabinet-creator-content.studio-page.is-embedded .dossier-view{
  display:flex;
  height:100%;
  min-height:0;
  flex-direction:column;
  justify-content:flex-start;
  overflow:hidden;
}

.cabinet-creator-content.studio-page.is-embedded.is-building .figure-dossier{opacity:1}

.cabinet-creator-content.studio-page.is-embedded .dossier-view[hidden],
.cabinet-creator-content.studio-page.is-embedded .inline-profile-editor[hidden]{display:none}

.cabinet-creator-content.studio-page.is-embedded .figure-dossier h2{
  margin:12px 0 1px;
  font-size:clamp(27px,3.4vw,43px);
  line-height:1.08;
}

.cabinet-creator-content.studio-page.is-embedded .english-name{margin-bottom:10px}
.cabinet-creator-content.studio-page.is-embedded .figure-dossier dl{
  display:grid;
  flex:1 1 auto;
  min-height:0;
  grid-template-rows:repeat(5,minmax(0,1fr));
}
.cabinet-creator-content.studio-page.is-embedded .figure-dossier dl div{align-items:center;padding:4px 0;font-size:12px}
.cabinet-creator-content.studio-page.is-embedded .figure-dossier dl .personality-row{padding-block:4px}
.cabinet-creator-content.studio-page.is-embedded .personality-row dd{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  font-size:11px;
  line-height:1.38;
}
.cabinet-creator-content.studio-page.is-embedded .action-stack{flex:0 0 auto;margin-top:8px;gap:7px}

.cabinet-creator-content.studio-page.is-embedded .primary-command,
.cabinet-creator-content.studio-page.is-embedded .secondary-command{
  min-height:46px;
  border-color:rgba(255,255,255,.55);
  border-radius:16px;
  backdrop-filter:blur(12px);
}

.cabinet-creator-content.studio-page.is-embedded .primary-command{
  background:linear-gradient(135deg,#e47781,#ca4f5d);
  box-shadow:0 1px 0 rgba(255,255,255,.45) inset;
  opacity:1;
  transition:transform 140ms var(--ease-out),box-shadow 180ms var(--ease-out);
}

.cabinet-creator-content.studio-page.is-embedded .primary-command:disabled{opacity:1}

.cabinet-creator-content.studio-page.is-embedded .secondary-command{
  background:rgba(255,250,246,.52);
}

.cabinet-creator-content.studio-page.is-embedded .inline-profile-editor{
  display:grid;
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  grid-template-rows:auto minmax(0,1fr) 56px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.cabinet-creator-content.studio-page.is-embedded .inline-profile-editor>header{
  display:block;
  min-height:0;
  padding:0;
  border-bottom:0;
}

.cabinet-creator-content.studio-page.is-embedded .inline-profile-editor>header h2{
  margin:12px 0 1px;
  font-size:clamp(27px,3.4vw,43px);
  line-height:1.08;
}

.cabinet-creator-content.studio-page.is-embedded .edit-fields{
  display:grid;
  min-height:0;
  overflow:hidden;
  grid-template-columns:1fr 1fr;
  gap:8px 12px;
  padding:8px 0;
}

.cabinet-creator-content.studio-page.is-embedded .edit-fields label{
  min-width:0;
  gap:3px;
  color:rgba(73,57,54,.78);
  font-size:10px;
  line-height:1.25;
}

.cabinet-creator-content.studio-page.is-embedded .edit-fields input,
.cabinet-creator-content.studio-page.is-embedded .edit-fields textarea{
  min-height:36px;
  padding:7px 10px;
  overflow:hidden;
  border-color:rgba(255,255,255,.62);
  border-radius:11px;
  background:rgba(255,250,246,.42);
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset;
  resize:none;
  font-size:11px;
  line-height:1.3;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

.cabinet-creator-content.studio-page.is-embedded .edit-fields input:focus,
.cabinet-creator-content.studio-page.is-embedded .edit-fields textarea:focus,
.cabinet-creator-content.studio-page.is-embedded .edit-fields input:focus-visible,
.cabinet-creator-content.studio-page.is-embedded .edit-fields textarea:focus-visible{
  border-color:rgba(103,77,68,.62);
  outline:2px solid rgba(103,77,68,.68);
  outline-offset:-2px;
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset;
}

.cabinet-creator-content.studio-page.is-embedded .edit-fields textarea{height:46px;min-height:46px}
.cabinet-creator-content.studio-page.is-embedded .story-field{grid-column:1/-1}

.cabinet-creator-content.studio-page.is-embedded .edit-actions{
  position:static;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:0;
  gap:8px;
  padding:7px 0 9px;
  background:transparent;
}

.cabinet-creator-content.studio-page.is-embedded .edit-actions button{
  min-height:40px;
  padding:0 18px;
  border-color:rgba(255,255,255,.62);
  background:rgba(255,250,246,.38);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}

.cabinet-creator-content.studio-page.is-embedded .edit-actions .save-toy-profile{
  border-color:rgba(217,99,112,.38);
  background:rgba(217,99,112,.84);
  color:#fff;
}

.primary-command svg,
.secondary-command svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (hover:hover) and (pointer:fine){
  .cabinet-creator-content.studio-page.is-embedded .primary-command:hover{
    transform:none;
    box-shadow:0 1px 0 rgba(255,255,255,.45) inset;
  }
  .cabinet-creator-content.studio-page.is-embedded .secondary-command:hover{transform:none}
}

@media (max-width:760px){
  html.is-embedded-document,
  .cabinet-creator-content.studio-page.is-embedded{height:100%;overflow:hidden}
  .cabinet-creator-content.studio-page.is-embedded .studio-main{height:100%;min-height:0;padding:10px 12px 12px}
  .cabinet-creator-content.studio-page.is-embedded .studio-layout{height:100%;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(210px,.98fr);gap:10px}
  .cabinet-creator-content.studio-page.is-embedded .stage-frame{height:100%;min-height:0}
  .cabinet-creator-content.studio-page.is-embedded .figure-dossier{overflow:hidden;padding:0}
  .cabinet-creator-content.studio-page.is-embedded .figure-dossier h2{font-size:26px}
  .cabinet-creator-content.studio-page.is-embedded .figure-dossier dl div{padding:6px 0}
  .cabinet-creator-content.studio-page.is-embedded .primary-command,
  .cabinet-creator-content.studio-page.is-embedded .secondary-command{min-height:42px;padding-left:13px;font-size:11px}
}

@media (max-width:560px){
  .cabinet-creator-content.studio-page.is-embedded .studio-main{padding:7px}
  .cabinet-creator-content.studio-page.is-embedded .studio-layout{grid-template-columns:minmax(0,.92fr) minmax(170px,1.08fr);gap:7px}
  .cabinet-creator-content.studio-page.is-embedded .figure-rig{width:92%}
  .cabinet-creator-content.studio-page.is-embedded .figure-dossier h2{margin-top:8px;font-size:21px}
  .cabinet-creator-content.studio-page.is-embedded .english-name{display:none}
  .cabinet-creator-content.studio-page.is-embedded .figure-dossier dl div{grid-template-columns:45px minmax(0,1fr);gap:7px;padding:5px 0;font-size:10px}
  .cabinet-creator-content.studio-page.is-embedded .action-stack{gap:5px}
  .cabinet-creator-content.studio-page.is-embedded .primary-command,
  .cabinet-creator-content.studio-page.is-embedded .secondary-command{min-height:38px;padding:4px 5px 4px 9px;font-size:9px}
  .cabinet-creator-content.studio-page.is-embedded .primary-command i,
  .cabinet-creator-content.studio-page.is-embedded .secondary-command i{width:30px;height:30px}
}

@keyframes orbitSpin{to{transform:rotate(360deg)}}
@keyframes figureReveal{from{opacity:0;transform:translate3d(-50%,42px,0) scale(.93)}to{opacity:1;transform:translate3d(-50%,0,0) scale(1)}}
@keyframes windowReveal{from{opacity:0;transform:translate3d(-22px,18px,-50px)}to{opacity:1;transform:translate3d(0,0,-50px)}}
@keyframes copyReveal{from{opacity:.45;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes dustFloat{to{transform:translate(8px,-13px);opacity:.25}}
@keyframes glyphBreathe{to{opacity:.35;transform:translateX(-50%) scaleX(.92)}}
