@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;700;900&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--ink:#2d1b3d;--ink-soft:#4a3258;--cream:#fff5f0;--cream-warm:#ffe9dd;--tassel:#ff6b8a;--tassel-soft:#ffe0e6;--accent:#8b5cf6;--accent-soft:#ede4fe;--butter:#ffd24b;--sakura:#ff8fa8;--lawn:#4fb87a;--line:#2d1b3d1a;--muted:#2d1b3d8c;--muted-2:#2d1b3d52}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--cream);height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:PingFang SC,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif}.serif{font-family:Noto Serif SC,Songti SC,serif;font-weight:700}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.stage{background:url(/ui-skin/noise-grain.png),url(/ui-skin/stage-bg.jpg) 50%/cover no-repeat;width:100%;max-width:480px;height:100dvh;margin:0 auto;position:relative;overflow:hidden}.mp-nav{letter-spacing:.5px;height:44px;color:var(--ink);justify-content:center;align-items:center;font-size:17px;font-weight:600;display:flex;position:relative}.screen{z-index:1;background:var(--cream);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.screen-body{-webkit-overflow-scrolling:touch;flex:1;padding-bottom:132px;overflow:hidden auto}.screen-body::-webkit-scrollbar{width:0}.h-rail{overflow-anchor:none;scroll-snap-type:x mandatory;gap:12px;padding:4px 20px 16px;scroll-padding-inline:20px;display:flex;overflow-x:auto}.h-rail::-webkit-scrollbar{display:none}.h-rail>*{scroll-snap-align:start;overflow-anchor:none;flex-shrink:0}.h-rail>:empty{scroll-snap-align:none}.preset-card{cursor:pointer;border-radius:18px;flex-direction:column;width:124px;transition:transform .18s cubic-bezier(.3,.7,.4,1),box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #2d1b3d0f,0 6px 16px #2d1b3d0a}.preset-card.active{box-shadow:0 0 0 3px var(--tassel), 0 1px 2px #2d1b3d0f, 0 10px 24px #ff6b8a40;transform:translateY(-2px)}.preset-card .thumb{align-items:flex-end;height:156px;padding:10px;display:flex;position:relative}.preset-card .thumb:after{content:"";background:linear-gradient(#0000 40%,#00000073 100%);position:absolute;inset:0}.preset-card .thumb-tag{z-index:1;letter-spacing:.08em;color:#ffffffd9;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10px;position:relative}.preset-card .meta{background:#fff;flex:1;padding:10px 12px}.preset-card .meta-title{color:var(--ink);font-size:14px;font-weight:600;line-height:1.3}.preset-card .meta-sub{color:var(--muted);margin-top:2px;font-size:11px}.preset-card .check{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;background:#fff6;border:1.5px solid #fffc;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:8px;right:8px}.preset-card.active .check{background:var(--tassel);border-color:var(--tassel)}.background-mode-toggle{background:#2d1b3d0d;border:1px solid #2d1b3d0f;border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;margin:0 20px 12px;padding:4px;display:grid;box-shadow:inset 0 1px 2px #2d1b3d0d}.background-mode-btn{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;transition:transform .16s,background .2s,box-shadow .2s;display:flex;overflow:hidden}.background-mode-btn:active{transform:scale(.97)}.background-mode-btn.active{color:var(--ink);background:url(/ui-skin/button-soft.jpg) 50%/cover no-repeat,#fff;box-shadow:inset 0 1px #fffc,0 4px 12px #2d1b3d17}.background-mode-label{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:96%;height:38px;transition:opacity .2s,filter .2s;display:block}.background-mode-btn:not(.active) .background-mode-label{opacity:.55;filter:grayscale(.7)}.scene-upload-card{cursor:pointer;text-align:left;background:#fff;border:0;border-radius:18px;flex-direction:column;width:124px;padding:0;display:flex;overflow:hidden;box-shadow:0 1px 2px #2d1b3d0f,0 6px 16px #2d1b3d0a}.scene-upload-thumb{background:url(/ui-skin/upload-empty-bg.png) 50% 47%/150% no-repeat,repeating-linear-gradient(45deg,#0000 0 12px,#2d1b3d08 12px 13px),#fff5f0b8;border:1.5px dashed #2d1b3d2e;border-bottom:0;border-radius:18px 18px 0 0;justify-content:center;align-items:center;height:156px;display:flex;position:relative;overflow:hidden}.scene-upload-thumb:after{content:"";pointer-events:none;border:1px solid #ff6b8a29;border-radius:14px;position:absolute;inset:10px}.scene-upload-icon{z-index:1;width:52px;height:52px;position:relative}.scene-upload-meta{background:#fff;flex:1;padding:10px 12px}.scene-upload-title{color:var(--ink);font-size:14px;font-weight:600;line-height:1.3;display:block}.scene-upload-sub{color:var(--muted);margin-top:2px;font-size:11px;display:block}.retouch-background-panel{background:linear-gradient(135deg,#ffffffdb,#fff4f8d1),url(/ui-skin/button-soft.jpg) 50%/cover no-repeat;border:1.5px solid #ff6b8a38;border-radius:18px;align-items:center;gap:12px;min-height:78px;padding:14px;display:flex;box-shadow:0 6px 18px #2d1b3d0f}.retouch-background-icon{width:46px;height:46px;color:var(--tassel);background:#ff6b8a1c;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.retouch-background-check{color:#fff;background:var(--tassel);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:auto;display:flex}.outfit-card{cursor:pointer;text-align:center;width:88px}.outfit-card .avatar{border-radius:50%;width:80px;height:80px;margin:0 auto;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:0 4px 12px #2d1b3d14}.outfit-card .avatar.has-image{background-position:50%;background-size:cover}.outfit-card .avatar.has-image:after{content:"";pointer-events:none;background:radial-gradient(circle at 28% 22%,#ffffff47,#0000 34%),linear-gradient(#2d1b3d05,#2d1b3d1f);position:absolute;inset:0}.outfit-card .avatar-image{object-fit:cover;width:100%;height:100%;display:block;transform:scale(1.04)}.outfit-card.active .avatar{box-shadow:0 0 0 3px var(--tassel), 0 8px 18px #ff6b8a4d;transform:scale(1.04)}.outfit-card .avatar-glyph{letter-spacing:-.04em;justify-content:center;align-items:center;font-family:Noto Serif SC,serif;font-size:32px;font-weight:900;display:flex;position:absolute;inset:0}.outfit-card .name{color:var(--ink);margin-top:8px;font-size:12px;font-weight:500;line-height:1.3}.outfit-card .tag{color:var(--muted-2);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:10px}.original-outfit-card{cursor:pointer;text-align:center;background:0 0;border:0;flex-shrink:0;width:88px;padding:0}.original-outfit-avatar{width:80px;height:80px;color:var(--ink);background:radial-gradient(circle at 35% 24%,#ffffffad,#0000 38%),linear-gradient(135deg,#fff5f0f5,#eee5ffdb);border:1.5px solid #2d1b3d14;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #2d1b3d14}.original-outfit-card.active .original-outfit-avatar{color:var(--tassel);box-shadow:0 0 0 3px var(--tassel), 0 8px 18px #ff6b8a4d;transform:scale(1.04)}.original-outfit-card .name{color:var(--ink);margin-top:8px;font-size:12px;font-weight:500;line-height:1.3;display:block}.original-outfit-card .tag{color:var(--muted-2);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:10px;display:block}.style-card{cursor:pointer;width:116px}.style-card .style-swatch{background:linear-gradient(135deg, var(--accent-soft) 0%, var(--tassel-soft) 100%);background-position:50%;background-size:cover;border:1.5px solid #0000;border-radius:14px;align-items:flex-end;height:64px;padding:8px 10px;transition:border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.style-card .style-swatch.has-image:after{content:"";pointer-events:none;background:linear-gradient(#2d1b3d05 0%,#2d1b3d57 100%);position:absolute;inset:0}.style-card.active .style-swatch{border-color:var(--tassel);box-shadow:0 0 0 3px #ff6b8a2e,0 8px 18px #ff6b8a33}.style-card.active .style-swatch:not(.has-image){background:linear-gradient(135deg, var(--accent) 0%, var(--tassel) 100%)}.style-card .style-tag{z-index:1;letter-spacing:.08em;color:#2d1b3d8c;font-family:JetBrains Mono,monospace;font-size:10px;position:relative}.style-card .style-swatch.has-image .style-tag{color:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2d1b3d42;border:1px solid #ffffff38;border-radius:999px;padding:3px 6px}.style-card.active .style-tag{color:#ffffffd9}.style-card .style-check{background:var(--tassel);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:8px;right:8px}.style-card .style-name{color:var(--ink);margin-top:8px;font-size:13px;font-weight:600;line-height:1.3}.style-card .style-sub{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.3}.home-showcase-fan{width:min(100%,392px);height:172px;margin:14px auto 0;position:relative}.home-showcase-card{aspect-ratio:3/4;cursor:pointer;width:clamp(78px,22vw,102px);transform:translateX(-50%) rotate(var(--rotate,0deg));transform-origin:50% 118%;filter:drop-shadow(0 10px 18px #2d1b3d29);animation:5.8s ease-in-out infinite home-showcase-float;animation-delay:var(--delay,0s);appearance:none;pointer-events:auto;background:0 0;border:0;padding:0;position:absolute}.home-showcase-card:active{transform:translateX(-50%) translateY(1px) rotate(var(--rotate,0deg)) scale(.98)}.home-showcase-frame{background:#ffffffb8;border:2px solid #ffffffdb;border-radius:18px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd1,0 0 0 1px #ff6b8a1a}.home-showcase-image{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.home-showcase-before{filter:saturate(.86)contrast(.96)}.home-showcase-after{clip-path:inset(0 100% 0 0);animation:5.8s ease-in-out infinite home-showcase-reveal;animation-delay:var(--delay,0s)}.home-showcase-sweep{opacity:0;filter:blur(.2px)drop-shadow(0 0 8px #ff8fa8c7);width:34%;animation:5.8s ease-in-out infinite home-showcase-sweep;animation-delay:var(--delay,0s);z-index:3;background:radial-gradient(circle at 50% 18%,#fffffff5 0 6%,#0000 14%),linear-gradient(90deg,#0000 0%,#ffffff38 18%,#fff5afdb 44%,#ff6b8ab8 58%,#8b5cf680 72%,#0000 100%);position:absolute;top:-18%;bottom:-18%;left:-54%;transform:skew(-16deg)}.home-showcase-sparkles{opacity:0;animation:5.8s ease-in-out infinite home-showcase-sparkles;animation-delay:var(--delay,0s);z-index:4;background:radial-gradient(circle at 24% 30%,#fffffff2 0 2px,#0000 3px),radial-gradient(circle at 68% 20%,#ffef98f2 0 2px,#0000 3px),radial-gradient(circle at 76% 64%,#ff8fa8d9 0 2px,#0000 3px),radial-gradient(circle at 40% 72%,#8b5cf6b3 0 1.5px,#0000 3px);position:absolute;inset:0}.home-showcase-dialog-backdrop{z-index:260;background:#2d1b3d75;animation:.18s ease-out fadein;position:absolute;inset:0}.home-showcase-dialog-layer{z-index:261;padding:max(16px, env(safe-area-inset-top,0px)) 18px max(18px, env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.home-showcase-dialog{pointer-events:auto;background:url(/ui-skin/sheet-bg.jpg) top/cover no-repeat,#fff9f5;border:1px solid #ffffffb8;border-radius:24px;width:min(100%,390px);padding:16px 16px 14px;animation:.2s ease-out fadein;position:relative;box-shadow:0 24px 64px #2d1b3d47,inset 0 1px #ffffffc7}.home-showcase-dialog-close{z-index:4;width:34px;height:34px;position:absolute;top:10px;right:10px}.home-showcase-dialog-frame{aspect-ratio:3/4;background:#2d1b3d12;border:1px solid #ffffffc7;border-radius:20px;width:100%;max-height:min(66vh,560px);position:relative;overflow:hidden;box-shadow:0 12px 28px #2d1b3d1f,inset 0 1px #ffffffc7}.home-showcase-dialog-image{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.home-showcase-dialog-after{clip-path:inset(0 100% 0 0)}.home-showcase-dialog-frame.is-auto .home-showcase-dialog-after{animation:2.05s ease-in-out forwards home-showcase-dialog-reveal}.home-showcase-dialog-frame.is-after .home-showcase-dialog-after{clip-path:inset(0)}.home-showcase-dialog-frame.is-before .home-showcase-dialog-after{clip-path:inset(0 100% 0 0)}.home-showcase-dialog-sweep{opacity:0;filter:blur(.2px)drop-shadow(0 0 14px #ff8fa8d1);z-index:3;pointer-events:none;background:radial-gradient(circle at 50% 20%,#fffffff5 0 5%,#0000 13%),linear-gradient(90deg,#0000 0%,#ffffff3d 16%,#fff5afeb 42%,#ff6b8ac7 58%,#8b5cf68f 74%,#0000 100%);width:24%;position:absolute;top:-18%;bottom:-18%;left:-38%;transform:skew(-16deg)}.home-showcase-dialog-frame.is-auto .home-showcase-dialog-sweep{animation:2.05s ease-in-out forwards home-showcase-dialog-sweep}.home-showcase-dialog-frame.is-before .home-showcase-dialog-sweep,.home-showcase-dialog-frame.is-after .home-showcase-dialog-sweep{display:none}.home-showcase-dialog-sparkles{opacity:0;z-index:4;pointer-events:none;background:radial-gradient(circle at 22% 28%,#fffffff2 0 2px,#0000 3px),radial-gradient(circle at 66% 18%,#ffef98f2 0 2px,#0000 3px),radial-gradient(circle at 78% 58%,#ff8fa8db 0 2px,#0000 3px),radial-gradient(circle at 38% 72%,#8b5cf6b8 0 2px,#0000 3px);position:absolute;inset:0}.home-showcase-dialog-frame.is-auto .home-showcase-dialog-sparkles{animation:2.05s ease-in-out forwards home-showcase-dialog-sparkles}.home-showcase-dialog-frame.is-before .home-showcase-dialog-sparkles,.home-showcase-dialog-frame.is-after .home-showcase-dialog-sparkles{display:none}.home-showcase-dialog-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.home-showcase-dialog-tab{height:42px;color:var(--ink);font:inherit;cursor:pointer;background:url(/ui-skin/button-soft.jpg) 50%/cover no-repeat;border:1px solid #2d1b3d14;border-radius:12px;font-size:14px;font-weight:750;box-shadow:inset 0 1px #ffffffb8,0 8px 18px #2d1b3d0f}.home-showcase-dialog-tab.active{color:#fff;background:url(/ui-skin/cta-active.jpg) 50%/cover no-repeat;border-color:#ffffff70}.home-showcase-dialog-tab:disabled{cursor:wait;opacity:.56}.btn-primary{color:#fff;letter-spacing:.5px;cursor:pointer;isolation:isolate;width:100%;height:52px;text-shadow:none;background:url(/ui-skin/cta-active.jpg) 50%/cover no-repeat;border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:700;transition:transform .12s,filter .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #ff8fa838,0 4px 12px #8b5cf61a}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{color:#4b294ab8;cursor:not-allowed;background:url(/ui-skin/cta-disabled.jpg) 50%/cover no-repeat;box-shadow:0 8px 18px #2d1b3d14}.btn-generate{color:#fff;letter-spacing:.06em;cursor:pointer;isolation:isolate;width:100%;min-height:52px;text-shadow:none;background:url(/ui-skin/cta-active.jpg) 50%/cover no-repeat;border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:16px;font-weight:700;transition:transform .12s,box-shadow .12s,filter .12s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 26px #ff8fa83d,0 4px 12px #8b5cf61f}.btn-generate-stack{flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;line-height:1.2;display:flex}.btn-generate-main{justify-content:center;align-items:center;gap:4px;display:inline-flex}.btn-generate-hint{opacity:.65;text-align:center;letter-spacing:.02em;font-size:11px;font-weight:500}.btn-generate:active{transform:scale(.98)}.btn-generate.is-disabled{color:#4b294a;cursor:not-allowed;text-shadow:none;background:url(/ui-skin/cta-disabled.jpg) 50%/cover no-repeat;box-shadow:0 8px 18px #2d1b3d14}.btn-generate.is-disabled:active{transform:none}.btn-generate.is-disabled:before{display:none}.btn-generate:before{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:18px;height:100%;animation:2.8s linear infinite shimmer;position:absolute;top:0;left:-20%}.btn-generate:after{content:"";pointer-events:none;border:1px solid #ffffff47;border-radius:15px;position:absolute;inset:1px}.btn-generate>*{z-index:1;position:relative}.btn-ghost{height:44px;color:var(--ink);cursor:pointer;isolation:isolate;background:url(/ui-skin/button-soft.jpg) 50%/cover no-repeat;border:1px solid #2d1b3d0f;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:650;transition:transform .12s,filter .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb8,0 8px 18px #2d1b3d0f}.btn-ghost:active{transform:scale(.98)}.btn-ghost:disabled{cursor:not-allowed;filter:saturate(.7);opacity:.62}.btn-sheet-action,.btn-sheet-cancel,.btn-floating-image,.btn-image-chip,.btn-variant-option,.btn-icon-image,.btn-poster,.share-template-button{font:inherit;appearance:none}.btn-sheet-action{width:100%;height:54px;color:var(--ink);cursor:pointer;background:url(/ui-skin/button-soft.jpg) 50%/cover no-repeat;border:1px solid #2d1b3d12;border-radius:14px;align-items:center;gap:12px;padding:0 18px 0 20px;font-size:16px;font-weight:650;display:flex;box-shadow:inset 0 1px #ffffffb8,0 8px 18px #2d1b3d12}.btn-sheet-cancel{width:100%;height:44px;color:var(--muted);cursor:pointer;background:url(/ui-skin/button-soft.jpg) 50%/cover no-repeat;border:1px solid #2d1b3d0d;border-radius:12px;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex;box-shadow:inset 0 1px #ffffff9e}.btn-floating-image{height:32px;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:url(/ui-skin/button-soft.jpg) 50%/cover no-repeat;border:1px solid #ffffff94;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 8px 18px #2d1b3d29,inset 0 1px #ffffffb8}.btn-image-chip{min-height:30px;color:var(--ink);cursor:pointer;background:url(/ui-skin/button-soft.jpg) 50%/cover no-repeat;border:1px solid #2d1b3d14;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:650;display:inline-flex;box-shadow:inset 0 1px #ffffffb3,0 6px 14px #2d1b3d0d}.btn-image-chip-warn{color:var(--tassel);border-color:#ff6b8a57}.btn-variant-option{background:linear-gradient(105deg, #ffffff9e 0%, var(--variant-bg-soft,#ff6b8a3d) 52%, #ffffff75 100%), url(/ui-skin/button-soft.jpg) center/cover no-repeat;border:1.5px solid var(--variant-border,#2d1b3d12);cursor:pointer;text-align:left;width:100%;box-shadow:inset 0 1px 0 #ffffffd1, 0 8px 18px var(--variant-shadow,#2d1b3d0d);border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:transform .12s,border-color .16s,box-shadow .16s;display:flex}.btn-variant-option.active{background:linear-gradient(105deg, #ffffff85 0%, var(--variant-bg-active,#ff6b8a57) 52%, #ffffff57 100%), url(/ui-skin/button-soft.jpg) center/cover no-repeat;border-color:var(--variant-border-active,#ff6b8a6b);box-shadow:0 8px 22px var(--variant-shadow-active,#ff6b8a24), inset 0 1px 0 #ffffffd1}.btn-variant-option:active{transform:scale(.99)}.btn-icon-image{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#2d1b3d9e,#8b5cf657),url(/ui-skin/button-soft.jpg) 50%/cover no-repeat;border:1px solid #ffffff52;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 10px 24px #0000003d,inset 0 1px #ffffff5c}.btn-poster{color:#fff;cursor:pointer;isolation:isolate;height:44px;text-shadow:none;background:url(/ui-skin/poster-button.jpg) 50%/cover no-repeat;border:none;border-radius:12px;flex:1.08;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:14px;font-weight:800;animation:2.8s ease-in-out infinite poster-nudge;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #ff8fa838,0 5px 14px #8b5cf624}.btn-poster:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(90deg,#0000,#ffffff6b,#0000);width:32px;animation:2.8s ease-in-out infinite poster-shine;position:absolute;top:0;bottom:0;left:-42px;transform:skew(-16deg)}.btn-poster:after{content:"";background:#ffffffe6;border-radius:50%;width:5px;height:5px;animation:1.7s ease-in-out infinite poster-sparkle;position:absolute;top:8px;right:12px;box-shadow:0 0 0 4px #ffffff29}.btn-poster>*{z-index:1;position:relative}.btn-poster:active{animation:none;transform:scale(.98)}.share-template-button{min-width:0;height:58px;color:var(--muted);cursor:pointer;background:url(/ui-skin/button-soft.jpg) 50%/cover no-repeat;border:1px solid #2d1b3d0f;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:7px 4px;transition:transform .16s,border-color .16s,box-shadow .16s,color .16s;display:flex;box-shadow:inset 0 1px #ffffff9e}.share-template-button.active{border-color:var(--template-tone-border,#ff6b8a66);background:linear-gradient(180deg, #ffffffc7, var(--template-tone-soft,#ff6b8a24)), url(/ui-skin/button-soft.jpg) center/cover no-repeat;color:var(--ink);box-shadow:0 8px 20px var(--template-tone-shadow,#ff6b8a2e), inset 0 1px 0 #ffffffe0}.share-template-button:active{transform:scale(.98)}.btn-art-decor{z-index:0;pointer-events:none;opacity:.72;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.btn-primary .btn-art-decor,.btn-generate .btn-art-decor{background-image:url(/ui-skin/button-decor/primary.png)}.btn-ghost .btn-art-decor{opacity:.82;background-image:url(/ui-skin/button-decor/soft.png)}.btn-poster .btn-art-decor{opacity:.78;background-image:url(/ui-skin/button-decor/poster.png)}.btn-primary>:not(.btn-art-decor),.btn-generate>:not(.btn-art-decor),.btn-ghost>:not(.btn-art-decor),.btn-poster>:not(.btn-art-decor){z-index:1;position:relative}.btn-art-label{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:min(100%,180px);height:24px;display:block}.btn-art-text-label{color:#7a2d50;letter-spacing:0;white-space:nowrap;max-width:none;height:auto;font-family:Noto Serif SC,Songti SC,serif;font-size:18px;font-weight:900;line-height:1}.btn-primary .btn-art-label,.btn-generate .btn-art-label{filter:drop-shadow(0 1px 2px #91305a57);height:28px}.btn-generate.is-disabled .btn-art-label{filter:drop-shadow(0 1px #ffffff8c);height:26px}.btn-ghost .btn-art-label{filter:drop-shadow(0 1px #ffffff9e);max-width:128px;height:22px}.btn-poster .btn-art-label{filter:drop-shadow(0 1px 2px #a8487452);max-width:150px;height:34px}.btn-poster .btn-art-text-label{height:auto}.btn-primary:disabled .btn-art-label,.btn-ghost:disabled .btn-art-label{opacity:.58;filter:saturate(.75)drop-shadow(0 1px #ffffff80)}.cta-dock{padding:12px 20px 14px;padding-bottom:max(14px, env(safe-area-inset-bottom,14px));background:linear-gradient(180deg, transparent 0%, #fff5f0f2 30%, var(--cream) 60%);z-index:10;position:absolute;bottom:0;left:0;right:0}.cta-agreement{text-align:center;color:var(--muted-2);letter-spacing:.02em;margin-top:8px;font-size:11px;line-height:1.5}.cta-agreement a{color:var(--tassel);text-decoration:none}.cta-agreement a:active{opacity:.7}.sheet-backdrop.upload-guide-backdrop{z-index:300;background:#2d1b3d75}.upload-guide-layer{z-index:301;padding:max(14px, env(safe-area-inset-top,0px)) 14px max(14px, env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:center;align-items:center;animation:.2s ease-out fadein;display:flex;position:absolute;inset:0}.upload-guide-dialog{pointer-events:auto;width:100%;max-width:448px;max-height:calc(100dvh - 28px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;background:url(/ui-skin/sheet-bg.jpg) top/cover no-repeat,#fff9f5;border:1px solid #ffffffb8;border-radius:24px;padding:20px 16px 16px;position:relative;overflow-y:auto;box-shadow:0 24px 64px #2d1b3d47,inset 0 1px #ffffffc7}.upload-guide-dialog::-webkit-scrollbar{width:0}.upload-guide-close{z-index:2;width:34px;height:34px;position:absolute;top:12px;right:12px}.upload-guide-kicker{height:24px;color:var(--tassel);letter-spacing:.06em;background:#ff6b8a1f;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.upload-guide-dialog h2{color:var(--ink);margin:10px 42px 8px 0;font-family:Noto Serif SC,Songti SC,serif;font-size:22px;line-height:1.32}.upload-guide-copy{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.upload-guide-cost{background:#ffffffad;border:1px solid #ff6b8a2e;border-radius:16px;align-items:flex-start;gap:9px;margin-top:12px;padding:11px 12px;display:flex;box-shadow:inset 0 1px #ffffffdb}.upload-guide-cost .dot{background:var(--tassel);flex:none;width:8px;height:8px;margin-top:6px;box-shadow:0 0 0 4px #ff6b8a1f}.upload-guide-cost div{min-width:0;color:var(--muted);flex-direction:column;gap:3px;font-size:12px;line-height:1.5;display:flex}.upload-guide-cost strong{color:var(--ink);font-size:13px}.upload-guide-examples{flex-direction:column;gap:10px;margin-top:14px;display:flex}.upload-guide-example{background:#ffffffb8;border:1px solid #2d1b3d12;border-radius:18px;padding:10px;box-shadow:0 8px 20px #2d1b3d0f,inset 0 1px #ffffffdb}.upload-guide-example-head{min-width:0;color:var(--ink);align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:700;line-height:1.35;display:flex}.upload-guide-badge{color:#fff;border-radius:999px;flex:none;align-items:center;height:22px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.upload-guide-badge.is-good{background:linear-gradient(135deg,#4fb87a,#7ed39a)}.upload-guide-badge.is-bad{background:linear-gradient(135deg,#e85d75,#ff9a86)}.upload-guide-image{background:#2d1b3d0f;border-radius:14px;position:relative;overflow:hidden}.upload-guide-image-good{aspect-ratio:3/2}.upload-guide-image-bad{aspect-ratio:16/9}.upload-guide-image img{object-fit:cover;width:100%;height:100%;display:block}.upload-guide-carousel-track{width:400%;height:100%;animation:10s ease-in-out infinite upload-guide-carousel;display:flex}.upload-guide-carousel-track img{flex:0 0 25%;width:25%}.upload-guide-carousel:hover .upload-guide-carousel-track{animation-play-state:paused}.upload-guide-note{color:var(--muted);margin-top:7px;font-size:11px;line-height:1.55}.upload-guide-actions{background:linear-gradient(#fff9f500 0%,#fff9f5f0 22%,#fff9f5 100%);margin:2px -16px -16px;padding:14px 16px 16px;position:sticky;bottom:-16px}.upload-guide-confirm{border-radius:16px;height:52px}.upload-guide-confirm .btn-art-label{filter:drop-shadow(0 1px 2px #91305a57);max-width:260px;height:34px}.sheet-backdrop{z-index:90;background:#0000006b;animation:.2s ease-out fadein;position:absolute;inset:0}.sheet{z-index:91;padding-bottom:env(safe-area-inset-bottom,0px);background:url(/ui-skin/sheet-bg.jpg) top/cover no-repeat,#f7f7f7;border-radius:18px 18px 0 0;animation:.28s cubic-bezier(.2,.8,.2,1) slideup;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.upload-slot{background:#fff;border-radius:22px;position:relative;overflow:hidden;box-shadow:0 1px 3px #2d1b3d0f,0 12px 32px #2d1b3d14}.upload-slot-empty{cursor:pointer;background:url(/ui-skin/upload-empty-bg.png) 50%/cover no-repeat,repeating-linear-gradient(45deg,#0000 0 12px,#2d1b3d08 12px 13px);border:1.5px dashed #2d1b3d2e;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:200px;display:flex}.result-photo{border-radius:24px;position:relative;overflow:hidden;box-shadow:0 4px 12px #2d1b3d14,0 24px 60px #2d1b3d2e}.saveable-image{pointer-events:auto;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;touch-action:auto}.chip{height:26px;color:var(--ink);background:#2d1b3d0f;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.chip-warm{background:var(--tassel-soft);color:var(--tassel)}.dot{border-radius:50%;width:6px;height:6px;display:inline-block}.safe-top{height:env(safe-area-inset-top,0px)}@keyframes shimmer{0%{left:-20%}to{left:120%}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes float-tile{0%,to{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-6px) rotate(calc(var(--r,0deg) + 1deg))}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-ring{0%{opacity:.7;transform:scale(.8)}to{opacity:0;transform:scale(2.5)}}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}@keyframes poster-nudge{0%,to{transform:translateY(0)scale(1)}42%{transform:translateY(-2px)scale(1.018)}56%{transform:translateY(0)scale(1)}}@keyframes poster-shine{0%,36%{opacity:0;left:-42px}48%{opacity:1}72%,to{opacity:0;left:calc(100% + 42px)}}@keyframes poster-sparkle{0%,to{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@keyframes upload-guide-carousel{0%,38%{transform:translate(0)}48%,86%{transform:translate(-25%)}to{transform:translate(-50%)}}@keyframes home-showcase-float{0%,to{transform:translateX(-50%) translateY(0) rotate(var(--rotate,0deg))}50%{transform:translateX(-50%) translateY(-5px) rotate(calc(var(--rotate,0deg) + .8deg))}}@keyframes home-showcase-reveal{0%,18%{clip-path:inset(0 100% 0 0)}38%,74%{clip-path:inset(0)}92%,to{clip-path:inset(0 100% 0 0)}}@keyframes home-showcase-sweep{0%,17%{opacity:0;transform:translate(0)skew(-16deg)}22%{opacity:1}40%{opacity:.95;transform:translate(380%)skew(-16deg)}52%,to{opacity:0;transform:translate(430%)skew(-16deg)}}@keyframes home-showcase-sparkles{0%,18%{opacity:0;transform:scale(.95)}28%,44%{opacity:.85;transform:scale(1)}60%,to{opacity:0;transform:scale(1.04)}}@keyframes home-showcase-dialog-reveal{0%,14%{clip-path:inset(0 100% 0 0)}78%,to{clip-path:inset(0)}}@keyframes home-showcase-dialog-sweep{0%,12%{opacity:0;transform:translate(0)skew(-16deg)}20%{opacity:1}78%{opacity:.96;transform:translate(520%)skew(-16deg)}to{opacity:0;transform:translate(560%)skew(-16deg)}}@keyframes home-showcase-dialog-sparkles{0%,14%{opacity:0;transform:scale(.95)}34%,72%{opacity:.88;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.upload-guide-carousel-track,.home-showcase-card,.home-showcase-after,.home-showcase-sweep,.home-showcase-sparkles{animation:none}.home-showcase-after{clip-path:inset(0)}.home-showcase-sweep,.home-showcase-sparkles{display:none}.home-showcase-dialog-frame.is-auto .home-showcase-dialog-after{clip-path:inset(0);animation:none}.home-showcase-dialog-frame.is-auto .home-showcase-dialog-sweep,.home-showcase-dialog-frame.is-auto .home-showcase-dialog-sparkles{animation:none;display:none}}.legal-page{background:var(--cream);min-height:100dvh;color:var(--ink);max-width:720px;margin:0 auto;padding:0 20px 48px}.legal-header{padding:calc(env(safe-area-inset-top,0) + 14px) 0 16px;border-bottom:1px solid var(--line);margin-bottom:20px}.legal-back{color:var(--muted);align-items:center;gap:4px;margin-bottom:12px;font-size:13px;text-decoration:none;display:inline-flex}.legal-back:active{opacity:.6}.legal-header h1{letter-spacing:.02em;color:var(--ink);margin:0;font-family:Noto Serif SC,Songti SC,serif;font-size:26px;font-weight:700}.legal-meta{color:var(--muted-2);letter-spacing:.02em;margin-top:6px;font-size:12px}.legal-body{color:var(--ink-soft);font-size:14px;line-height:1.85}.legal-body h2{color:var(--ink);letter-spacing:.02em;margin:28px 0 8px;font-size:16px;font-weight:700}.legal-body p{text-align:justify;margin:0 0 12px}.legal-body ol{margin:0 0 12px;padding-left:22px}.legal-body ol li{margin-bottom:6px}.legal-body strong{color:var(--ink)}.legal-tail{color:var(--muted-2);letter-spacing:.3em;font-size:12px;text-align:center!important;margin-top:36px!important}
