.sky[data-v-a67747c3]{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#8ed4f8,#d8f3ff 46%,#fff6e8)}.sun[data-v-a67747c3]{position:absolute;width:72px;height:72px;border-radius:50%;right:28px;top:18px;background:radial-gradient(circle at 35% 35%,#fff,#ffe082 42%,#ffc46b);box-shadow:0 0 0 10px #ffe08259}.cloud[data-v-a67747c3]{position:absolute;height:28px;border-radius:20px;background:#fff;opacity:.9;animation:drift-a67747c3 18s linear infinite}.cloud[data-v-a67747c3]:before,.cloud[data-v-a67747c3]:after{content:"";position:absolute;background:#fff;border-radius:50%}.cloud[data-v-a67747c3]:before{width:28px;height:28px;left:12px;top:-14px}.cloud[data-v-a67747c3]:after{width:36px;height:36px;left:32px;top:-18px}.c1[data-v-a67747c3]{width:86px;top:36px;left:-20px}.c2[data-v-a67747c3]{width:70px;top:90px;left:40%;animation-duration:26s}.c3[data-v-a67747c3]{width:54px;top:58px;right:-10px;animation-duration:22s}.hills[data-v-a67747c3]{position:absolute;left:-10%;right:-10%;bottom:0;height:28%;background:radial-gradient(120% 100% at 20% 100%,#b7e7c5 40%,transparent 42%),radial-gradient(120% 100% at 80% 100%,#9ad7b0 38%,transparent 40%),linear-gradient(#c6edcf,#c6edcf);border-radius:50% 50% 0 0}.logic[data-v-a67747c3]{background:linear-gradient(180deg,#c9b6f5,#efe7ff 48%,#fff6e8)}.counting[data-v-a67747c3]{background:linear-gradient(180deg,#ffd9a8,#fff1d6 46%,#fff6e8)}.life[data-v-a67747c3]{background:linear-gradient(180deg,#b9d4ff,#e7f1ff,#fff6e8)}@keyframes drift-a67747c3{0%{transform:translate(0)}to{transform:translate(36px)}}.bear[data-v-c28f90c2]{display:block;overflow:visible}.eyes[data-v-c28f90c2]{transform-origin:100px 118px;animation:blink-c28f90c2 5.2s infinite}.wave .arm.right[data-v-c28f90c2]{transform-origin:142px 150px;animation:wave-c28f90c2 1.6s ease-in-out infinite}.cheer .arm.left[data-v-c28f90c2]{transform-origin:58px 150px;transform:rotate(28deg)}.cheer .arm.right[data-v-c28f90c2]{transform-origin:142px 150px;transform:rotate(-28deg)}@keyframes blink-c28f90c2{0%,46%,52%,to{transform:scaleY(1)}49%{transform:scaleY(.12)}}@keyframes wave-c28f90c2{0%,to{transform:rotate(8deg)}50%{transform:rotate(-18deg)}}.wrap[data-v-a1cbcddb]{width:100%;height:100%}.wrap.shadow[data-v-a1cbcddb]{filter:brightness(.38) saturate(.2)}.pic[data-v-a1cbcddb]{width:100%;height:100%;display:block;overflow:visible}.home-page[data-v-3f9aad46]{position:relative;padding:12px 16px 28px}.hero[data-v-3f9aad46],.cards[data-v-3f9aad46],.continue[data-v-3f9aad46],.parent[data-v-3f9aad46]{position:relative;z-index:1}.hero[data-v-3f9aad46]{text-align:center}.hero h1[data-v-3f9aad46]{margin:0;font-size:36px}.hero p[data-v-3f9aad46]{margin:4px 0;font-size:18px;font-weight:700}.hello[data-v-3f9aad46]{color:var(--ink-soft);font-size:16px!important}.star-count[data-v-3f9aad46]{color:#e09a2b}.continue[data-v-3f9aad46]{display:flex;margin:8px auto 12px;min-width:160px}.cards[data-v-3f9aad46]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card[data-v-3f9aad46]{border-radius:24px;min-height:168px;padding:12px;text-align:left;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px}.icon[data-v-3f9aad46]{width:72px;height:72px;background:#ffffffbf;border-radius:20px;padding:6px}.card strong[data-v-3f9aad46]{font-size:18px}.card small[data-v-3f9aad46],.card em[data-v-3f9aad46]{font-style:normal;color:var(--ink-soft);font-size:14px}.parent[data-v-3f9aad46]{margin:16px auto 0;display:flex;min-width:96px}.problems[data-v-3f9aad46]{color:#a33;font-size:14px}.select[data-v-4d171183]{position:relative;min-height:100%;padding:12px 16px 24px}.bar[data-v-4d171183],.grid[data-v-4d171183],.tip[data-v-4d171183]{position:relative;z-index:1}.bar[data-v-4d171183]{display:flex;gap:10px;align-items:center}.back[data-v-4d171183]{width:48px;height:48px;font-size:22px}.bar h1[data-v-4d171183]{margin:0;font-size:26px}.bar p[data-v-4d171183]{margin:2px 0 0;font-weight:700}.grid[data-v-4d171183]{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.level[data-v-4d171183]{min-height:132px;border-radius:24px;background:#ffffffe6;box-shadow:var(--shadow);position:relative;padding:8px}.pic[data-v-4d171183]{width:72px;height:72px;margin:0 auto;display:block}.level strong[data-v-4d171183]{display:block;font-size:18px}.level em[data-v-4d171183]{position:absolute;top:8px;right:10px;font-style:normal;font-weight:800;color:#e09a2b}.locked[data-v-4d171183]{opacity:.72}.tip[data-v-4d171183]{margin:14px auto 0;text-align:center;font-weight:800;background:#fff;display:inline-block;padding:8px 14px;border-radius:999px}.play[data-v-a779176e]{position:relative}.topbar[data-v-a779176e],.instruction[data-v-a779176e],.stage[data-v-a779176e],.tools[data-v-a779176e]{position:relative;z-index:1}.topbar[data-v-a779176e]{display:flex;align-items:center;gap:8px;padding:8px 10px 0}.back[data-v-a779176e]{width:48px;height:48px;font-size:22px}.titles[data-v-a779176e]{display:flex;flex-direction:column;min-width:0}.titles strong[data-v-a779176e]{font-size:18px}.titles span[data-v-a779176e]{font-size:14px;color:var(--ink-soft)}.pips[data-v-a779176e]{margin-left:auto;display:flex;gap:4px}.pips i[data-v-a779176e]{width:8px;height:8px;border-radius:50%;background:#ffffffbf}.pips i.on[data-v-a779176e],.pips i.now[data-v-a779176e]{background:#ff9f43}.instruction[data-v-a779176e]{display:flex;align-items:center;gap:8px;margin:8px 12px;background:#ffffffe6;border-radius:20px;padding:6px 8px 6px 4px;box-shadow:var(--shadow)}.instruction p[data-v-a779176e]{flex:1;margin:0;font-size:18px;font-weight:800;line-height:1.35}.speak[data-v-a779176e]{min-height:44px;font-size:16px}.stage[data-v-a779176e]{flex:1;min-height:0;position:relative}.tools[data-v-a779176e]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:8px 12px calc(8px + var(--safe-bottom))}.stars[data-v-a779176e]{font-weight:800;color:#e09a2b}.modal-card[data-v-a779176e]{position:relative;overflow:hidden}.shape[data-v-5433f0a8]{height:100%;display:flex;flex-direction:column;gap:8px;padding:4px 12px 8px;min-height:0}.goal[data-v-5433f0a8]{display:flex;justify-content:center}.goal-card[data-v-5433f0a8]{width:120px;height:120px;background:#ffffffe6;border-radius:28px;box-shadow:var(--shadow);padding:10px}.goal-card.dual[data-v-5433f0a8]{display:flex;align-items:center;gap:4px}.swatch[data-v-5433f0a8]{width:28px;height:28px;border-radius:50%;border:3px solid #4a5568;flex:none}.swatch.red[data-v-5433f0a8]{background:#ff5a6a}.swatch.blue[data-v-5433f0a8]{background:#4c8dff}.swatch.yellow[data-v-5433f0a8]{background:#ffd23f}.bins[data-v-5433f0a8]{display:flex;gap:10px;flex:1;min-height:0}.bin[data-v-5433f0a8]{flex:1;min-height:150px;border-radius:24px;background:#ffffffe0;box-shadow:var(--shadow);position:relative;padding:8px;display:flex;flex-direction:column}.bin.red[data-v-5433f0a8]{background:#ffe8ec}.bin.blue[data-v-5433f0a8]{background:#e7f0ff}.bin.yellow[data-v-5433f0a8]{background:#fff6d4}.bin.green[data-v-5433f0a8]{background:#e5f8ec}.bin[data-v-5433f0a8] .wrap{height:96px}.inside[data-v-5433f0a8]{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.mini[data-v-5433f0a8]{width:48px;height:48px}.count[data-v-5433f0a8]{margin:0;text-align:center;font-weight:800;color:#5d6b7e}.tray[data-v-5433f0a8]{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-bottom:4px}.piece[data-v-5433f0a8]{width:96px;height:96px;padding:8px}.pic[data-v-7dfd609a]{width:100%;height:100%;display:block}.puzzle[data-v-8e41e445]{height:100%;display:flex;flex-direction:column;gap:8px;padding:0 12px 8px;min-height:0}.look[data-v-8e41e445]{align-self:center;min-height:42px;font-size:16px}.board[data-v-8e41e445]{position:relative;flex:1;min-height:180px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);display:flex}.board.col[data-v-8e41e445]{flex-direction:column}.board.row[data-v-8e41e445]{flex-direction:row}.board.grid[data-v-8e41e445]{display:grid;grid-template-columns:1fr 1fr}.slot[data-v-8e41e445]{flex:1;min-height:64px;min-width:0;position:relative}.ghost[data-v-8e41e445]{opacity:.28}.preview[data-v-8e41e445]{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;display:flex;z-index:2}.preview.col[data-v-8e41e445]{flex-direction:column}.preview.grid[data-v-8e41e445]{display:grid;grid-template-columns:1fr 1fr}.tray[data-v-8e41e445]{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.piece[data-v-8e41e445]{width:88px;height:78px;padding:4px;overflow:hidden}.launch[data-v-8e41e445]{animation:liftoff-8e41e445 1.3s ease-in forwards}@keyframes liftoff-8e41e445{to{transform:translateY(-90px) scale(.86)}}.match[data-v-f697a504]{height:100%;display:flex;flex-direction:column;gap:10px;padding:0 12px 8px;min-height:0}.listen[data-v-f697a504]{align-self:center;min-width:160px}.tip[data-v-f697a504]{margin:0;text-align:center;font-weight:700}.prompt[data-v-f697a504]{width:110px;height:110px;align-self:center;padding:8px}.grid[data-v-f697a504]{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.grid.eight[data-v-f697a504]{display:grid;grid-template-columns:repeat(4,1fr)}.tall[data-v-f697a504]{width:104px;height:104px;padding:8px}.cols[data-v-f697a504]{flex:1;display:flex;gap:12px;min-height:0}.col[data-v-f697a504]{flex:1;display:flex;flex-direction:column;gap:8px;align-items:center}.good[data-v-f697a504],.picked[data-v-f697a504]{box-shadow:0 0 0 4px #ffd23f,var(--shadow)}.good[data-v-f697a504]{box-shadow:0 0 0 4px #5dca8a,var(--shadow)}.card[data-v-f697a504]{width:100%;aspect-ratio:1;max-width:120px;perspective:600px;border-radius:18px}.inner[data-v-f697a504]{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s ease;display:block}.card.up .inner[data-v-f697a504],.card.locked .inner[data-v-f697a504]{transform:rotateY(180deg)}.face[data-v-f697a504]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;background:#fff;box-shadow:var(--shadow);backface-visibility:hidden;display:grid;place-items:center;padding:8px}.back[data-v-f697a504]{background:#ffe9a8}.front[data-v-f697a504]{transform:rotateY(180deg)}.dots[data-v-5242d8e2]{display:inline-flex;align-items:center;gap:4px;min-height:22px}.dots i[data-v-5242d8e2]{width:12px;height:12px;border-radius:50%;background:#ff9f43;box-shadow:inset 0 -2px #00000014}.dots small[data-v-5242d8e2]{color:#5d6b7e;font-size:14px;margin-left:2px}.count[data-v-5e536004]{height:100%;display:flex;flex-direction:column;gap:8px;padding:0 12px 8px;min-height:0}.hero[data-v-5e536004]{width:96px;height:96px;align-self:center}.basket[data-v-5e536004],.jar[data-v-5e536004],.slot[data-v-5e536004],.animal[data-v-5e536004],.group[data-v-5e536004]{background:#ffffffe0;border-radius:22px;box-shadow:var(--shadow);padding:8px}.basket[data-v-5e536004],.jar[data-v-5e536004]{min-height:120px}.inside[data-v-5e536004]{display:flex;flex-wrap:wrap;gap:4px;min-height:48px}.mini[data-v-5e536004]{width:46px;height:46px;background:transparent;box-shadow:none}.ducks[data-v-5e536004],.animals[data-v-5e536004],.slots[data-v-5e536004],.groups[data-v-5e536004]{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.duck[data-v-5e536004],.animal[data-v-5e536004]{width:104px;min-height:110px;position:relative}.duck.on[data-v-5e536004]{box-shadow:0 0 0 4px #ffd23f;border-radius:24px}.badge[data-v-5e536004]{position:absolute;top:4px;right:4px;background:#ffd23f;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-weight:800}.group[data-v-5e536004]{min-width:96px;display:flex;flex-direction:column;align-items:center;gap:4px}.sample[data-v-5e536004]{display:flex;gap:4px;width:100%;justify-content:center}.sample .wrap[data-v-5e536004],.group .mini[data-v-5e536004]{width:42px;height:42px}.slot[data-v-5e536004]{flex:1;min-width:90px;min-height:120px}.tray[data-v-5e536004]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:auto}.piece[data-v-5e536004]{width:84px;height:84px;padding:6px}.night[data-v-5e536004]{display:flex;flex-direction:column;gap:8px;flex:1}.sky-stars[data-v-5e536004]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.star[data-v-5e536004]{width:72px;height:72px;background:transparent;box-shadow:none}.life[data-v-a3387fcb]{height:100%;display:flex;flex-direction:column;gap:8px;padding:0 12px 8px;min-height:0}.stage-bear[data-v-a3387fcb]{flex:1;min-height:180px;display:grid;place-items:center;position:relative;background:#ffffff73;border-radius:28px}.sink[data-v-a3387fcb]{position:absolute;bottom:16px;width:140px;height:36px;border-radius:0 0 20px 20px;background:#d7eefb;border:3px solid #4a5568}.brush[data-v-a3387fcb]{position:absolute;width:72px;height:72px;top:42%}.brushing[data-v-a3387fcb]{animation:brush-a3387fcb .28s linear infinite}.coat-on[data-v-a3387fcb]{position:absolute;width:90px;height:90px;top:46%}.drops[data-v-a3387fcb]{height:28px;background:radial-gradient(circle,#7ec8f0 3px,transparent 4px);background-size:18px 14px}.tray[data-v-a3387fcb],.pick .tray[data-v-a3387fcb]{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.piece[data-v-a3387fcb]{width:96px;height:96px;padding:8px}.decoration[data-v-a3387fcb]{pointer-events:none}.mascot[data-v-a3387fcb]{width:120px;height:120px;margin:0 auto}.done[data-v-a3387fcb],.slots[data-v-a3387fcb],.bins[data-v-a3387fcb]{display:flex;gap:8px;justify-content:center;min-height:72px}.slot[data-v-a3387fcb],.bin[data-v-a3387fcb]{flex:1;min-height:110px;background:#ffffffe0;border-radius:20px;padding:6px;box-shadow:var(--shadow)}.inside[data-v-a3387fcb]{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.mini[data-v-a3387fcb]{width:48px;height:48px}.order[data-v-a3387fcb],.pick[data-v-a3387fcb]{display:flex;flex-direction:column;gap:10px;flex:1}@keyframes brush-a3387fcb{50%{transform:translate(10px) rotate(-8deg)}}.logic[data-v-25452fee]{height:100%;display:flex;flex-direction:column;gap:8px;padding:0 12px 8px;min-height:0}.pick-board[data-v-25452fee]{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:0}.sample-block[data-v-25452fee]{display:flex;flex-direction:column;align-items:center;gap:4px}.sample-tag[data-v-25452fee],.slot-name[data-v-25452fee],.how[data-v-25452fee]{margin:0;font-weight:800;color:#35506c;text-align:center}.how[data-v-25452fee]{font-size:14px}.choices[data-v-25452fee],.tray[data-v-25452fee]{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:100%}.piece[data-v-25452fee]{width:100px;height:100px;padding:8px;flex:0 0 auto;touch-action:none}.piece.selected[data-v-25452fee]{outline:4px solid #ffd23f}.sample[data-v-25452fee]{width:92px;height:92px;background:#fff;border-radius:24px;padding:8px;box-shadow:var(--shadow)}.zones[data-v-25452fee]{display:flex;gap:8px}.zone[data-v-25452fee]{flex:1;min-height:168px;background:#ffffffe0;border-radius:22px;padding:8px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:4px}.ghost-slot[data-v-25452fee]{width:72px;height:72px;opacity:.28;pointer-events:none}.inside[data-v-25452fee]{display:flex;justify-content:center;flex:1;align-items:center}.mini[data-v-25452fee]{width:72px;height:72px}.row[data-v-25452fee]{display:flex;gap:10px;justify-content:center;align-items:center}.cell[data-v-25452fee]{width:72px;height:72px;background:#fff;border-radius:18px;padding:6px;box-shadow:var(--shadow)}.hole[data-v-25452fee]{display:grid;place-items:center;font-size:28px;font-weight:800;color:#ff9f43}.pattern[data-v-25452fee]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;gap:28px}.missing-board[data-v-25452fee]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;gap:32px}.missing-board .rows[data-v-25452fee]{display:flex;flex-direction:column;gap:12px}.missing-board .piece[data-v-25452fee]{width:112px;height:112px}.path[data-v-25452fee]{position:relative;flex:1;min-height:220px;background:#ffffff73;border-radius:24px}.road[data-v-25452fee]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.stone[data-v-25452fee]{position:absolute;width:54px;height:54px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:var(--shadow)}.stone.here[data-v-25452fee]{box-shadow:0 0 0 4px #ffd23f}.walker[data-v-25452fee]{position:absolute;width:64px;height:64px;transform:translate(-50%);transition:left .35s ease,top .35s ease;pointer-events:none}.move[data-v-25452fee]{display:flex;align-items:center;gap:8px;flex:1}.arrow[data-v-25452fee]{width:72px;height:72px;font-size:36px;border-radius:50%}.nudge[data-v-25452fee]{animation:nudge-x-25452fee 1.2s ease-in-out infinite}.lane[data-v-25452fee]{flex:1;position:relative;height:160px}.lane .walker[data-v-25452fee]{left:0;top:20px;width:120px;height:130px;transition:left .45s ease}.lane .walker.go[data-v-25452fee]{left:calc(100% - 120px)}.goal-star[data-v-25452fee]{position:absolute;right:0;top:36px;width:72px;height:72px}.step-no[data-v-25452fee]{margin:0;text-align:center;font-weight:800}.short[data-v-25452fee]{min-height:200px}@keyframes nudge-x-25452fee{50%{transform:translate(6px)}}.missing[data-v-69bd2afa]{display:grid;place-items:center;gap:12px;text-align:center;font-size:20px;font-weight:800}.settings[data-v-ffe2d536]{position:relative}.bar[data-v-ffe2d536],.panel[data-v-ffe2d536]{position:relative;z-index:1}.bar[data-v-ffe2d536]{display:flex;align-items:center;gap:10px;padding:12px}.back[data-v-ffe2d536]{width:48px;height:48px;font-size:22px}.bar h1[data-v-ffe2d536]{margin:0;font-size:28px}.panel[data-v-ffe2d536]{margin:12px;background:#ffffffeb;border-radius:24px;padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.row[data-v-ffe2d536]{display:flex;justify-content:space-between;align-items:center;font-size:20px;font-weight:800;min-height:48px}.row input[data-v-ffe2d536]{width:28px;height:28px}:root{--sky-top: #9fd8f8;--sky-bottom: #fff6e8;--cream: #fffaf3;--ink: #3d4a5c;--ink-soft: #5d6b7e;--mint: #5dca8a;--orange: #ff9f43;--yellow: #ffd23f;--line: #4a5568;--card: rgba(255, 252, 247, .94);--shadow: 0 10px 24px rgba(70, 100, 140, .16);--safe-bottom: env(safe-area-inset-bottom);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;overflow:hidden;background:linear-gradient(180deg,var(--sky-top),var(--sky-bottom));overscroll-behavior:none}body{-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}button,a{font:inherit;color:inherit}button{border:none;background:none;padding:0;cursor:pointer;touch-action:manipulation}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.page{min-height:100%;min-height:100dvh;max-width:560px;margin:0 auto;position:relative;display:flex;flex-direction:column}.page.play{height:100%;height:100dvh;min-height:0;overflow:hidden}.scroll-page{height:100%;height:100dvh;overflow:auto;-webkit-overflow-scrolling:touch}.btn{min-height:52px;min-width:44px;border-radius:18px;padding:10px 16px;background:#fff;box-shadow:var(--shadow);font-size:18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(180deg,#ffc46b,#ff9f43);color:#5a3b16}.btn-mint{background:linear-gradient(180deg,#8ee0b0,#5dca8a);color:#145c38}.btn-ghost{background:#ffffffe0}.drag-ghost{position:fixed;z-index:80;pointer-events:none;filter:drop-shadow(0 16px 18px rgba(60,80,120,.28));transform:scale(1.08);touch-action:none}.piece{touch-action:none;border-radius:22px;background:var(--card);box-shadow:var(--shadow);display:grid;place-items:center;position:relative}.piece.selected{box-shadow:0 0 0 4px var(--yellow),var(--shadow)}.piece.hint-glow{box-shadow:0 0 0 4px #ffe082,0 0 0 10px #ffd23f59}.piece.is-hidden{opacity:.15}.shake{animation:nudge .42s ease}@keyframes nudge{0%,to{transform:rotate(0)}30%{transform:rotate(-3deg)}70%{transform:rotate(3deg)}}@keyframes pop-in{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.pop{animation:pop-in .45s ease}.toast{position:absolute;left:50%;bottom:calc(92px + var(--safe-bottom));transform:translate(-50%);background:#fff8e8;color:var(--ink);border-radius:999px;padding:12px 18px;font-size:18px;font-weight:700;box-shadow:var(--shadow);z-index:40;max-width:90%;text-align:center}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.modal-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#506e9647;z-index:90;display:grid;place-items:center;padding:20px}.modal-card{width:min(100%,380px);background:var(--cream);border-radius:28px;padding:22px 18px 18px;box-shadow:var(--shadow);text-align:center}.modal-card h2{margin:8px 0 4px;font-size:26px}.modal-card p{margin:0 0 14px;color:var(--ink-soft);font-size:18px}.modal-actions{display:flex;flex-direction:column;gap:10px}.confetti{position:absolute;width:12px;height:12px;border-radius:4px;animation:burst .9s ease-out forwards}@keyframes burst{to{transform:translate(var(--dx),var(--dy)) scale(.4);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
