.stage--home{background:var(--color-cream)}.bg-layer img{object-fit:cover;width:100%;height:100%;transition:opacity .3s}.enter-btn{cursor:pointer;background:0 0;border:none;width:9vw;height:auto;padding:0;transition:transform .2s;position:absolute;bottom:14.8vh;left:50%;transform:translate(-50%)}.enter-btn img{pointer-events:none;width:100%;height:auto;display:block}.enter-btn:hover{transform:translate(-50%)translateY(-.2vh)}.enter-btn:active{transform:translate(-50%)translateY(.18vh)}.stage--dressup{background:var(--color-cream)}.bg-layer{position:absolute;inset:0;overflow:hidden}.bg-layer img{object-fit:cover;width:100%;height:100%}.bg-placeholder{color:var(--color-blue-deep);font-family:var(--font-handwritten);opacity:.45;justify-content:center;align-items:center;font-size:1.5vw;display:flex;position:absolute;inset:0}.wardrobe{background:var(--color-blue-light);border-radius:1.56vw;flex-direction:column;gap:1.5vw;width:50vw;height:72vh;padding:1.5vw;display:flex;position:absolute;top:22vh;left:5.21vw}.wardrobe-tabs{justify-content:space-between;align-items:center;gap:1.04vw;display:flex}.wardrobe-tab{background:0 0;justify-content:center;align-items:center;width:auto;max-width:12vw;height:4.375vw;padding:0;transition:transform .15s;display:flex;position:relative}.wardrobe-tab img{object-fit:contain;pointer-events:none;width:auto;height:100%}.wardrobe-tab:hover{transform:translateY(-.2vh)}.wardrobe-items{flex-wrap:wrap;flex:1;place-content:center;align-items:center;gap:.8vw;padding:.5vw 0;display:flex}.wardrobe-cell{background:var(--color-cream);border:.1vw solid var(--color-blue-deep);border-radius:.78vw;justify-content:center;align-items:center;width:12vw;height:12vw;transition:transform .15s,border-color .2s;display:flex;position:relative;overflow:hidden}.wardrobe-cell img{object-fit:contain;pointer-events:none;width:100%;height:100%}.wardrobe-cell__label{font-family:var(--font-handwritten);color:var(--color-blue-deep);opacity:.5;pointer-events:none;font-size:.94vw;position:absolute;bottom:.42vw;right:.63vw}.wardrobe-cell:hover{transform:translateY(-.18vh)}.wardrobe-cell.is-active{border-color:var(--color-blue-deep);background:var(--color-blue-light);border-width:.21vw}.character-stage{justify-content:center;align-items:center;width:42.86vw;height:76.2vh;display:flex;position:absolute;top:50%;right:5.21vw;transform:translateY(-50%)}.character-base,.character-cloth{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.character-placeholder{color:var(--color-blue-deep);font-family:var(--font-handwritten);opacity:.45;flex-direction:column;justify-content:center;align-items:center;gap:.6vh;font-size:1.25vw;display:flex;position:absolute;inset:0}.character-placeholder__sub{opacity:.7;font-size:.83vw}.next-btn{cursor:pointer;background:0 0;border:none;width:9vw;height:auto;padding:0;transition:transform .2s;position:absolute;bottom:7.4vh;right:5.21vw}.next-btn img{pointer-events:none;width:100%;height:auto;display:block}.next-btn:hover{transform:translateY(-.2vh)}.next-btn:active{transform:translateY(.18vh)}.stage--polaroid{background:var(--color-cream)}.polaroid-bg{position:absolute;inset:0;overflow:hidden}.polaroid-bg img{object-fit:cover;width:100%;height:100%}.polaroid-frame{aspect-ratio:1100/460;pointer-events:none;width:55vw;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.polaroid-photo-area{border-radius:1vw;position:absolute;inset:0;overflow:hidden}.polaroid-photo{object-fit:cover;background:#000;width:100%;height:100%;display:block}.polaroid-photo-placeholder{text-align:center;color:var(--color-cream);font-family:var(--font-handwritten);background:#2828288c;flex-direction:column;justify-content:center;align-items:center;padding:1.5vw;font-size:1.25vw;line-height:1.6;display:flex;position:absolute;inset:0}.polaroid-photo-placeholder__hint{opacity:.75;margin-top:.5vh;font-size:.95vw}.polaroid-frame-decor{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.polaroid-flash{pointer-events:none;z-index:9999;background:#fff;animation:.28s ease-out polaroid-flash-anim;position:absolute;inset:0}@keyframes polaroid-flash-anim{0%{opacity:0}15%{opacity:1}to{opacity:0}}.polaroid-characters{pointer-events:none;position:absolute;inset:0}.polaroid-character{width:auto;height:460px;display:block;position:absolute;top:50%;transform:translateY(-50%)}.polaroid-error{color:#b54d4d;font-family:var(--font-handwritten);background:#fffc;border-radius:.5vw;padding:.5vw 1vw;font-size:1vw;position:absolute}.polaroid-btn{cursor:pointer;background:0 0;border:none;width:9vw;height:auto;padding:0;transition:transform .2s,opacity .2s;position:absolute;bottom:7.4vh;left:50%;transform:translate(-50%)}.polaroid-btn img{pointer-events:none;width:100%;height:auto;display:block}.polaroid-btn:hover{transform:translate(-50%)translateY(-.2vh)}.polaroid-btn:active{transform:translate(-50%)translateY(.18vh)}.polaroid-btn:disabled{opacity:.4;cursor:not-allowed}.polaroid-actions{z-index:10;align-items:center;gap:1.2vw;display:flex;position:absolute;bottom:7.4vh;left:50%;transform:translate(-50%)}.polaroid-action-btn{background:var(--color-blue-deep);color:var(--color-cream);border:.15vw solid var(--color-blue-deep);font-family:var(--font-handwritten);letter-spacing:.1vw;cursor:pointer;border-radius:1.2vw;padding:1.2vh 2.2vw;font-size:1.3vw;transition:transform .2s,background .2s}.polaroid-action-btn:hover{background:var(--color-blue-light);color:var(--color-blue-deep);transform:translateY(-.2vh)}.polaroid-action-btn:active{transform:translateY(.18vh)}.polaroid-action-btn--save{background:var(--color-cream);color:var(--color-blue-deep)}.polaroid-action-btn--save:hover{background:var(--color-blue-deep);color:var(--color-cream)}:root{--color-cream:#faf4e6;--color-blue-light:#b5d6e8;--color-blue-deep:#3b6a8c;--color-text:#2a4a5e;--font-base:system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-handwritten:"Caveat", "Comic Sans MS", "Bradley Hand", "Marker Felt", cursive;--design-w:1920;--design-h:1080}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--color-cream);width:100%;height:100%;color:var(--color-text);font-family:var(--font-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.stage{background:var(--color-cream);width:100vw;height:100vh;position:relative;overflow:hidden}
