*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;font-family:Nunito,Fredoka,ui-rounded,SF Pro Rounded,system-ui,sans-serif;background:linear-gradient(#a9d9f5,#c6e7fa 55%,#dff0fb);user-select:none;-webkit-user-select:none}#stage{display:block;width:100%;height:100%;touch-action:none}#ui{position:fixed;inset:0;pointer-events:none}#ui>*{pointer-events:auto}.chip{position:fixed;top:14px;display:flex;align-items:center;gap:8px;background:#ffffffd9;border-radius:999px;padding:8px 16px;box-shadow:0 4px 14px #3c648c40;font-weight:800;font-size:20px;color:#7a4fb0}#petal-chip{left:14px}#petal-chip img{width:26px;height:26px}#petal-chip.bump{animation:bump .35s ease}@keyframes bump{40%{transform:scale(1.18)}}#mute-btn{position:fixed;top:14px;right:14px;width:46px;height:46px;border:none;border-radius:50%;background:#ffffffd9;box-shadow:0 4px 14px #3c648c40;font-size:22px;cursor:pointer}#home-btn{position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:52px;height:52px;border:none;border-radius:50%;background:#ffffffe0;box-shadow:0 4px 14px #3c648c40;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .15s ease;display:flex;align-items:center;justify-content:center}#home-btn.visible{opacity:1;pointer-events:auto}#home-btn:active{transform:translate(-50%) scale(.88)}#home-btn img{width:30px;height:30px}.petal-float{position:fixed;font-weight:900;font-size:22px;color:#e86fb4;text-shadow:0 2px 6px rgba(255,255,255,.9);pointer-events:none;animation:rise 1.1s ease-out forwards}@keyframes rise{to{transform:translateY(-70px);opacity:0}}#fps{position:fixed;bottom:10px;left:10px;background:#14283cb3;color:#b8f3ff;font:12px/1.5 ui-monospace,monospace;padding:6px 10px;border-radius:8px;pointer-events:none;white-space:pre}#wonder-panel{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:#5a82aa40;backdrop-filter:blur(3px)}#wonder-prompt{background:#ffffffeb;border-radius:24px;padding:14px 28px;font-size:24px;font-weight:800;color:#58509e;box-shadow:0 6px 20px #3c648c4d}.wonder-later{position:fixed;top:16px;right:16px;width:44px;height:44px;border:none;border-radius:50%;background:#ffffffd9;color:#a99fc4;font-size:20px;font-weight:800;cursor:pointer;box-shadow:0 4px 12px #3c648c38}.wonder-later:active{transform:scale(.9)}#wonder-cards{display:flex;gap:22px}.wonder-card{width:130px;height:150px;border:none;border-radius:26px;background:#fff;box-shadow:0 8px 22px #3c648c52;cursor:pointer;transition:transform .15s ease;display:flex;align-items:center;justify-content:center}.wonder-card:active{transform:scale(.94)}.wonder-card canvas{width:96px;height:96px}.wonder-card.wrong{animation:wiggle .45s ease}@keyframes wiggle{25%{transform:translate(-8px) rotate(-4deg)}60%{transform:translate(8px) rotate(4deg)}}.wonder-card.hint{animation:hintglow 1.4s ease-in-out infinite}@keyframes hintglow{50%{box-shadow:0 0 34px 10px #ffd66ef2;transform:scale(1.06)}}.wonder-card.correct{animation:pop .5s ease;box-shadow:0 0 40px 12px #ffd66ee6}@keyframes pop{40%{transform:scale(1.14)}}#egg-panel,#reveal-panel{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#5a82aa47;backdrop-filter:blur(3px);animation:fadein .25s ease}#egg-panel.closing,#reveal-panel.closing{animation:fadeout .25s ease forwards;pointer-events:none}@keyframes fadein{0%{opacity:0}}@keyframes fadeout{to{opacity:0}}.shop-card,.reveal-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;background:#fffffff2;border-radius:34px;padding:26px 34px 32px;box-shadow:0 10px 34px #3c648c57;animation:cardpop .3s cubic-bezier(.2,1.3,.5,1)}@keyframes cardpop{0%{transform:scale(.8);opacity:0}}.shop-back{position:absolute;top:12px;right:14px;width:40px;height:40px;border:none;border-radius:50%;background:#f0eef6;color:#8a7fb0;font-size:20px;font-weight:800;cursor:pointer}.egg-buy{border:none;background:transparent;cursor:pointer;border-radius:50%;padding:6px;transition:transform .15s ease;animation:eggbob 2.6s ease-in-out infinite}.egg-buy canvas{width:150px;height:150px;display:block}.egg-buy:active{transform:scale(.93)}.egg-buy.locked{filter:grayscale(.55) opacity(.7);animation:none}.egg-buy.shake{animation:wiggle .45s ease}@keyframes eggbob{50%{transform:translateY(-8px) rotate(-2deg)}}.cost-chip{display:flex;align-items:center;gap:6px;background:#fff0f8;border-radius:999px;padding:6px 16px 6px 10px;font-size:26px;font-weight:900;color:#e86fb4;box-shadow:inset 0 0 0 2px #ffd7ec}.cost-chip img{width:30px;height:30px}.friends-label{font-size:15px;font-weight:800;color:#9a93b8;margin-top:4px}.friends-row{display:flex;gap:4px}.friends-row canvas{width:40px;height:40px}.reveal-portrait{width:200px;height:200px;animation:revealpop .5s cubic-bezier(.2,1.4,.5,1)}@keyframes revealpop{0%{transform:scale(.2) rotate(-12deg);opacity:0}}.reveal-bud{display:flex}.reveal-bud canvas{width:48px;height:48px}.reveal-name{font-size:30px;font-weight:900;color:#7a4fb0}.reveal-extra{display:flex;align-items:center;gap:14px;margin-top:2px}.reveal-refund{font-size:22px;font-weight:900;color:#e86fb4;background:#fff0f8;border-radius:999px;padding:4px 14px}.sticker{font-size:34px;line-height:1;animation:pop .6s ease .2s both;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}.sticker.bronze{color:#cd8a52}.sticker.silver{color:#b8c1cc}.sticker.gold{color:#f2c063}.sticker[data-count]:after{content:"×" attr(data-count);font-size:.5em;font-weight:900;color:#9a93b8;vertical-align:super;margin-left:1px}#album-btn{position:fixed;bottom:20px;left:16px;width:52px;height:52px;border:none;border-radius:50%;background:#ffffffe0;box-shadow:0 4px 14px #3c648c40;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .15s ease;display:flex;align-items:center;justify-content:center}#album-btn.visible{opacity:1;pointer-events:auto}#album-btn:active{transform:scale(.88)}#album-btn img{width:30px;height:30px}#area-btn{position:fixed;bottom:20px;right:16px;width:52px;height:52px;border:none;border-radius:50%;background:#ffffffe0;box-shadow:0 4px 14px #3c648c40;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .15s ease;display:flex;align-items:center;justify-content:center}#area-btn.visible{opacity:1;pointer-events:auto}#area-btn:active{transform:scale(.88)}#area-btn img{width:32px;height:32px}#album-panel{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;background:#5a82aa4d;backdrop-filter:blur(4px);animation:fadein .25s ease;padding:18px}#album-panel.closing{animation:fadeout .25s ease forwards;pointer-events:none}.album-header{display:flex;align-items:center;gap:14px;width:min(760px,100%);padding:6px 6px 14px}.album-title{font-size:28px;font-weight:900;color:#fff;text-shadow:0 2px 8px rgba(60,100,140,.5)}.album-count{font-size:18px;font-weight:800;color:#7a4fb0;background:#ffffffe6;border-radius:999px;padding:4px 14px}.album-close{margin-left:auto;width:44px;height:44px;border:none;border-radius:50%;background:#ffffffeb;color:#8a7fb0;font-size:20px;font-weight:800;cursor:pointer;flex:none}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;width:min(760px,100%);overflow-y:auto;padding:4px}.album-card{position:relative;border:none;background:#fffffff2;border-radius:24px;padding:12px 8px 10px;box-shadow:0 6px 18px #3c648c40;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:default}.album-card.owned{cursor:pointer;transition:transform .15s ease}.album-card.owned:active{transform:scale(.95)}.album-card.active{box-shadow:0 0 0 4px #ffd66e,0 6px 18px #3c648c4d}.album-card.mystery{opacity:.85}.album-portrait{width:96px;height:96px}.album-card.mystery .album-portrait{opacity:.7}.album-name{font-size:17px;font-weight:800;color:#7a4fb0}.album-badges{display:flex;align-items:center;gap:4px;height:30px}.album-badges canvas{width:30px;height:30px}.active-badge{position:absolute;top:-8px;right:-8px;width:34px;height:34px;background:#f279c5;border-radius:50%;padding:5px;box-shadow:0 3px 8px #3c648c59}#buddy-detail{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#5a82aa52;backdrop-filter:blur(3px);animation:fadein .2s ease}.detail-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;background:#fffffff7;border-radius:32px;padding:30px 34px;box-shadow:0 10px 34px #3c648c57;animation:cardpop .28s cubic-bezier(.2,1.3,.5,1);max-width:min(420px,92vw)}.detail-portrait{width:160px;height:160px}.detail-name{font-size:26px;font-weight:900;color:#7a4fb0}.detail-actions{display:flex;gap:24px;margin-top:6px}.detail-btn{width:74px;height:74px;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #3c648c4d;transition:transform .12s ease}.detail-btn:active{transform:scale(.9)}.detail-btn img{width:44px;height:44px}.detail-btn.activate{background:#6fce8f}.detail-btn.activate.is-active{background:#cfd8d2;box-shadow:none;cursor:default}.detail-btn.rename{background:#bb95f2}.name-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-height:46vh;overflow-y:auto;padding:4px}.name-chip{border:none;border-radius:16px;background:#f3eefc;color:#7a4fb0;font-size:17px;font-weight:800;padding:12px 8px;cursor:pointer;transition:transform .12s ease}.name-chip:active{transform:scale(.92)}.name-chip.current{background:#ffd66e;color:#7a4fb0}
