.shell{background:var(--bg-cream);max-width:430px;min-height:100dvh;margin:0 auto;position:relative;overflow-x:hidden;box-shadow:0 0 40px #5c4b5114}.anti-spacer{height:44px}.anti-spacer.tall{height:82px}.wrong-mini{top:calc(2px + env(safe-area-inset-top));z-index:50;color:var(--ink-soft);white-space:nowrap;pointer-events:none;margin:0;font-size:12px;font-weight:700;line-height:16px;position:fixed;left:50%;transform:translate(-50%)}.anti-timer{top:calc(8px + env(safe-area-inset-top));z-index:50;min-width:92px;height:32px;box-shadow:var(--shadow);font-variant-numeric:tabular-nums;pointer-events:none;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:16px;font-weight:900;display:flex;position:fixed;right:max(10px,50% - 205px)}.anti-timer.rest{background:var(--warn)}.anti-timer.wrong-rest{background:var(--lavender)}.anti-timer.stack{top:calc(46px + env(safe-area-inset-top))}.anti-shield{z-index:40;cursor:not-allowed;background:0 0;position:absolute;inset:0}.anti-debug-open,.anti-debug-root{z-index:70;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));width:min(398px,100% - 32px);position:fixed;transform:translate(-50%)}.anti-debug-open{background:var(--warn);border-radius:22px 22px 0 0;min-height:84px;font-size:20px;font-weight:900;bottom:0}.anti-debug-root{pointer-events:none}.anti-debug-root>*{pointer-events:auto}.anti-tip{z-index:80;text-align:center;max-width:min(320px,100% - 48px);box-shadow:var(--shadow);pointer-events:none;background:#fff;border-radius:18px;padding:14px 18px;font-size:22px;font-weight:900;animation:.3s both pop;position:fixed;top:46%;left:50%;transform:translate(-50%,-50%)}.art-img[data-v-8daaef8b]{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.stars[data-v-4d0f4ed6]{align-items:center;gap:4px;display:inline-flex}.star[data-v-4d0f4ed6]{color:#e3d8dc;text-shadow:0 1px #5c4b5126;justify-content:center;align-items:center;line-height:1;display:inline-flex}.star.on[data-v-4d0f4ed6]{color:var(--gold);text-shadow:0 2px #e0a92e}.star.pop[data-v-4d0f4ed6]{animation:.5s both pop}.bunny[data-v-2e723954]{width:100%;height:100%;display:block;overflow:visible}.arm[data-v-2e723954]{transform-box:view-box;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.ear[data-v-2e723954]{transform-box:view-box}.ear-screen-left[data-v-2e723954]{transform-origin:72px 88px}.ear-screen-right[data-v-2e723954]{transform-origin:128px 88px}.ear.wiggle[data-v-2e723954]{animation:.5s ease-in-out 3 earWiggle-2e723954}.happy[data-v-2e723954]{animation:.6s 2 bounce}.walk[data-v-2e723954]{animation:.5s ease-in-out infinite float}.walk .foot-l[data-v-2e723954]{transform:translateY(-6px)}@keyframes earWiggle-2e723954{0%,to{transform:rotate(0)}30%{transform:rotate(-14deg)}70%{transform:rotate(14deg)}}.hero[data-v-a91983ff]{pointer-events:none;position:relative}.hero img[data-v-a91983ff]{object-fit:contain;width:100%;height:100%;display:block}.hero img.happy[data-v-a91983ff]{animation:.6s 2 bounce}.speak-btn[data-v-8e6d02a7]{background:var(--card);box-shadow:var(--shadow);font-size:26px}.speak-btn.speaking[data-v-8e6d02a7]{background:var(--accent)}.home[data-v-ba946174]{background:radial-gradient(circle at 12% 18%, #e2d1f98c 0 40px, transparent 41px), radial-gradient(circle at 88% 42%, #b8e0d299 0 54px, transparent 55px), radial-gradient(circle at 18% 78%, #f7c59f73 0 46px, transparent 47px), var(--bg-cream);flex-direction:column;min-height:100dvh;display:flex;position:relative}.top[data-v-ba946174]{justify-content:space-between;align-items:center;padding:12px 14px 0;display:flex}h1[data-v-ba946174]{letter-spacing:1px;margin:0;font-size:28px}.tools[data-v-ba946174]{gap:8px;display:flex}.tool[data-v-ba946174]{background:var(--card);box-shadow:var(--shadow);font-size:30px}.map[data-v-ba946174]{flex-shrink:0;margin:8px 0;position:relative}.path[data-v-ba946174]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.node-wrap[data-v-ba946174]{flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;transform:translate(-50%,-48px)}.node[data-v-ba946174]{background:var(--hero);border:5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;display:flex;box-shadow:0 6px #e8907c}.node.done[data-v-ba946174]{background:var(--mint);box-shadow:0 6px #8fc7b2}.node.current[data-v-ba946174]{background:var(--hero);animation:1.6s ease-in-out infinite breathe;box-shadow:0 6px #e8907c,0 0 0 8px #ffb4a259}.node.locked[data-v-ba946174]{background:var(--locked);box-shadow:0 6px #cfc2c6}.num[data-v-ba946174]{color:#fff;text-shadow:0 2px #5c4b5140;font-size:38px;font-weight:900}.locked .num[data-v-ba946174]{font-size:30px}.label[data-v-ba946174]{margin-top:6px;font-size:17px;font-weight:800}.buddy[data-v-ba946174]{position:absolute;top:14px}.buddy.right[data-v-ba946174]{left:calc(100% + 4px)}.buddy.left[data-v-ba946174]{right:calc(100% + 4px)}.bubble[data-v-ba946174]{white-space:nowrap;box-shadow:var(--shadow);z-index:3;background:#fff;border-radius:16px;padding:6px 12px;font-size:16px;font-weight:800;animation:.3s both pop;position:absolute;top:-40px}.bubble.start[data-v-ba946174]{background:var(--warn)}.bottom[data-v-ba946174]{padding:8px 16px calc(18px + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:stretch;gap:10px;min-height:96px;margin-top:auto;display:flex}.continue[data-v-ba946174],.settings[data-v-ba946174]{width:100%;font-size:20px}.modal[data-v-ba946174]{z-index:40;background:#5c4b5159;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.dialog[data-v-ba946174]{background:var(--bg-cream);text-align:center;border-radius:28px;width:100%;max-width:320px;padding:24px}.dialog p[data-v-ba946174]{margin:0 0 16px;font-size:26px;font-weight:800}.dialog small[data-v-ba946174]{color:var(--ink-soft);font-size:18px}.dialog .hot[data-v-ba946174]{width:100%}:root{--bg-cream:#fff5f7;--hero:#ffb4a2;--mint:#b8e0d2;--accent:#a8d5e5;--accent-strong:#5fa9c6;--warn:#f7c59f;--lavender:#e2d1f9;--ink:#5c4b51;--ink-soft:#9a8a90;--card:#fff;--locked:#e6dde0;--gold:#ffc94d;--radius:22px;--hit:72px;--cell:88px;--shadow:0 5px 0 #5c4b511f;--font:"PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font);color:var(--ink);-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#f6e4ea}#app{min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:0}img{-webkit-user-drag:none}.hot{min-width:var(--hit);min-height:var(--hit);border-radius:var(--radius);justify-content:center;align-items:center;font-weight:700;transition:transform .12s;display:inline-flex}.hot:active{transform:scale(.95)}.btn-primary{background:var(--hero);color:#fff;text-shadow:0 1px #5c4b5140;padding:0 28px;font-size:22px;box-shadow:0 6px #e8907c}.btn-secondary{background:var(--card);box-shadow:var(--shadow);border:3px solid var(--mint);padding:0 22px;font-size:20px}.is-hl{outline:5px solid var(--accent-strong);outline-offset:2px;animation:.9s ease-in-out infinite pulse;box-shadow:0 0 0 10px #a8d5e58c!important}.is-dim{opacity:.45}.is-ok{outline-offset:2px;outline:5px solid #7cc3ab;background:var(--mint)!important}.is-shake{animation:.42s shake}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-16px)}}@keyframes pop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.2)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
