*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#9fd8e8;font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,sans-serif;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#stage{position:fixed;inset:0;width:100vw;height:100vh;display:block;cursor:grab}#stage:active{cursor:grabbing}#hud{position:fixed;inset:0;pointer-events:none;font-size:min(16px,2.2vh)}#hud button{pointer-events:auto;border:0;cursor:pointer;font:inherit}#hud svg{width:100%;height:100%;display:block}.hud-btn{position:absolute;width:4.5em;height:4.5em;border-radius:50%;padding:.875em;box-shadow:0 .375em #0000002e,0 .625em 1.25em #0000001f;transition:transform .15s}.hud-btn:hover{transform:scale(1.08)}.hud-btn:active{transform:scale(.94) translateY(3px);box-shadow:0 2px #0000002e}.hud-home{top:1.25em;left:1.25em;background:#3a9bdc}.hud-hint{top:1.25em;right:1.25em;background:#ffb400}.hud-sound{top:1.25em;right:6.75em;width:3.5em;height:3.5em;padding:.75em;margin-top:.5em;background:#7aa6bd;opacity:.8}.hud-grownups{position:absolute;bottom:.875em;left:.875em;width:2.5em;height:2.5em;padding:.5em;border-radius:50%;background:#00000024;opacity:.5}.hud-grownups i{position:absolute;inset:-.25em;border-radius:50%;border:.25em solid #fff;clip-path:inset(0 100% 0 0)}.hud-grownups.holding i{animation:hold 3s linear forwards}@keyframes hold{to{clip-path:inset(0 0 0 0)}}.hud-go{position:absolute;right:2.125em;bottom:2.125em;width:9.375em;height:9.375em;border-radius:50%;padding:1.875em 1.625em 1.875em 2.125em;background:radial-gradient(circle at 35% 30%,#7cf08a,#22b24c 60%,#168a3a);box-shadow:0 .625em #0f6b2c,0 1.125em 1.875em #00000040;transition:transform .15s,filter .3s}.hud-go:active{transform:translateY(.5em);box-shadow:0 2px #0f6b2c}.hud-go.ready{animation:breathe 1.3s ease-in-out infinite}.hud-go:not(.ready):not(.running){filter:saturate(.35) brightness(1.05);opacity:.75;transform:scale(.9)}.hud-go{transition:filter .3s,opacity .3s,transform .2s}.hud-go.running{background:radial-gradient(circle at 35% 30%,#ffb27a,#f07a2a 60%,#c85c14);box-shadow:0 .625em #9c4308,0 1.125em 1.875em #00000040;padding:1.875em}#hud[data-mode=title] .hud-go,#hud[data-mode=map] .hud-go,#hud[data-mode=result] .hud-go,#hud[data-mode=title] .hud-btn,#hud[data-mode=title] .hud-dots{display:none}#hud[data-mode=running] .hud-hint,#hud[data-mode=result] .hud-hint,#hud[data-mode=map] .hud-hint{opacity:0;pointer-events:none}.hud-go.nudge{animation:nudge 1.4s ease-in-out 2,breathe 1.3s 2.8s ease-in-out infinite}@keyframes nudge{10%,30%,50%{transform:rotate(-12deg) scale(1.15)}20%,40%,60%{transform:rotate(12deg) scale(1.15)}80%{transform:scale(1)}}@keyframes breathe{50%{transform:scale(1.07);filter:brightness(1.1)}}.pop{animation:pop .3s}@keyframes pop{40%{transform:scale(.85)}80%{transform:scale(1.08)}}.hud-dots{position:absolute;top:2.125em;left:50%;transform:translate(-50%);display:flex;gap:.75em}.hud-dots i{width:1.25em;height:1.25em;border-radius:50%;background:#ffffff8c;box-shadow:inset 0 -3px #0000001a}.hud-dots i.done{background:#ffc928}.hud-dots i.current{background:#fff;transform:scale(1.35);box-shadow:0 0 0 4px #fff6}.overlay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:auto}.overlay[hidden]{display:none}.overlay.title{background:radial-gradient(ellipse at 50% 58%,#ffffff47,#fff0 45%,#143c5038);align-content:center;gap:34px;overflow:hidden}.title-floats{position:absolute;inset:0;pointer-events:none}.title-floats i{position:absolute;left:var(--x);top:var(--y);width:86px;height:86px;padding:16px;border-radius:50%;color:#fff;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.45),transparent 55%),var(--c);box-shadow:0 7px #00000024,0 12px 22px #00000024;opacity:0;animation:floatIn .7s calc(.4s + var(--i) * .12s) cubic-bezier(.3,1.6,.5,1) forwards,drift var(--s) calc(var(--i) * -1.3s) ease-in-out infinite alternate}.title-floats i svg{width:100%;height:100%;animation:wobble calc(var(--s) * .6) ease-in-out infinite}.title-floats i:nth-child(1) svg{animation:spin 6s linear infinite}@keyframes floatIn{0%{opacity:0;scale:.2}to{opacity:.92;scale:1}}@keyframes drift{0%{transform:translate(-14px,10px) rotate(-8deg)}to{transform:translate(16px,-18px) rotate(8deg)}}@keyframes wobble{50%{transform:rotate(14deg)}}@keyframes spin{to{transform:rotate(360deg)}}.logo{position:relative;text-align:center;line-height:.9;animation:floaty 3s ease-in-out infinite}.logo:before{content:"";position:absolute;inset:-30px -80px;z-index:-1;background:radial-gradient(closest-side,#fff9,#fff0)}.logo-small{display:inline-block;font-size:58px;font-weight:800;color:#fff;padding:4px 26px 10px;border-radius:40px;background:#ff9f1c;box-shadow:0 7px #c77200;transform:rotate(-4deg);margin-bottom:14px}.logo-big{display:flex;justify-content:center;align-items:flex-end}.logo-big b{display:inline-block;font-size:92px;font-weight:900;color:hsl(calc(var(--k) * 47 + 190) 80% 58%);-webkit-text-stroke:3px #fff;paint-order:stroke fill;text-shadow:0 6px 0 rgba(0,0,0,.18),0 12px 24px rgba(0,0,0,.18);animation:letterIn .6s calc(var(--k) * .05s) cubic-bezier(.3,1.8,.5,1) both,letterBob 2.4s calc(.8s + var(--k) * .11s) ease-in-out infinite}.logo-big .gap{width:26px}@keyframes letterIn{0%{transform:translateY(-60px) scale(.3);opacity:0}}@keyframes letterBob{0%,70%,to{transform:translateY(0)}35%{transform:translateY(-12px) rotate(-4deg)}}@keyframes floaty{50%{transform:translateY(-10px) rotate(-1deg)}}.play-wrap{position:relative;display:grid;place-items:center}.overlay.title .big-round.play{width:210px;height:210px;padding:48px 40px 48px 56px;animation:hop 1.6s ease-in-out infinite}.play-wrap .ring{position:absolute;width:210px;height:210px;border-radius:50%;border:8px solid rgba(255,255,255,.8);pointer-events:none;animation:ripple 1.6s ease-out infinite}.play-wrap .ring.late{animation-delay:.8s}.play-hand{position:absolute;left:62%;top:62%;font-size:76px;pointer-events:none;filter:drop-shadow(0 6px 6px rgba(0,0,0,.3));opacity:0;animation:handIn .4s 2.5s forwards,handTap 1.6s 2.5s ease-in-out infinite}@keyframes hop{0%,to{transform:translateY(0) scale(1)}12%{transform:translateY(4px) scale(1.08,.92)}40%{transform:translateY(-22px) scale(.96,1.05)}62%{transform:translateY(0) scale(1.06,.94)}75%{transform:scale(1)}}@keyframes ripple{0%{transform:scale(.95);opacity:.9}to{transform:scale(1.7);opacity:0}}@keyframes handIn{to{opacity:1}}@keyframes handTap{0%,to{transform:translate(18px,18px)}45%{transform:translate(-6px,-6px) scale(.92)}}@media(max-height:640px){.logo-big b{font-size:64px}.logo-small{font-size:42px}.overlay.title .big-round.play,.play-wrap .ring{width:170px;height:170px}.title-floats i{width:64px;height:64px;padding:12px}}@media(prefers-reduced-motion:reduce){.overlay.title *,.overlay.title .big-round.play{animation-duration:.01s!important;animation-iteration-count:1!important}.title-floats i{opacity:.92}.play-hand{opacity:1}}.big-round{width:170px;height:170px;border-radius:50%;padding:38px 32px 38px 44px;background:radial-gradient(circle at 35% 30%,#7cf08a,#22b24c 60%,#168a3a);box-shadow:0 12px #0f6b2c,0 22px 40px #00000040;animation:breathe 1.3s ease-in-out infinite}.big-round:active{transform:translateY(8px)}.big-round.retry{background:radial-gradient(circle at 35% 30%,#8fd2ff,#2d7ff9 60%,#1f5fc4);box-shadow:0 12px #184a99,0 22px 40px #00000040;padding:36px;animation:none}.overlay.reward{background:#fff4d659;backdrop-filter:blur(2px);align-content:center;gap:40px}.stars{display:flex;gap:18px}.stars span{width:130px;height:130px;color:#ffcf2e;transform:scale(0);animation:starIn .6s cubic-bezier(.3,1.8,.5,1) forwards;filter:drop-shadow(0 8px 10px rgba(0,0,0,.2))}.stars span:nth-child(2){margin-top:-40px}.stars span.off{color:#fff;opacity:.55}@keyframes starIn{0%{transform:scale(0) rotate(-120deg)}to{transform:scale(1) rotate(0)}}.overlay.reward .next{transform:scale(0);animation:starIn .5s cubic-bezier(.3,1.8,.5,1) forwards,breathe 1.3s 1.2s ease-in-out infinite}.overlay.switch{background:#14324640}.choice{display:flex;gap:60px}.overlay.map{pointer-events:none;place-items:end center}#hud[data-mode=map]:not(.map-focused) .hud-home{opacity:0;pointer-events:none}#hud[data-mode=map] .hud-dots{display:none}.map-path{--n: min(70px, 8vh);display:flex;justify-content:center;padding:0 24px 3.2vh}.map-path:empty{display:none}.map-world{pointer-events:auto;display:flex;align-items:center;gap:22px;padding:calc(var(--n) * .22) 30px calc(var(--n) * .4);border-radius:60px;background:#ffffffb8;box-shadow:0 8px #00000014,0 16px 30px #0000001f;backdrop-filter:blur(4px);animation:trailIn .45s cubic-bezier(.3,1.6,.5,1) both}@keyframes trailIn{0%{transform:translateY(120%) scale(.8);opacity:0}}.map-world.w2{background:#ffecc899}.map-badge{width:calc(var(--n) * .92);height:calc(var(--n) * .92);flex:none;border-radius:30px;padding:16px;background:#ff9f1c;box-shadow:0 8px #c77200;transform:rotate(-6deg)}.map-world.w2 .map-badge{background:#8e5bd9;box-shadow:0 8px #5f3a9e}.map-world.w3{background:#dcf5cd99}.map-world.w3 .map-badge{background:#2fa84f;box-shadow:0 8px #1d7a36}.map-world.w4{background:#ffe4cd99}.map-world.w4 .map-badge{background:#e8590c;box-shadow:0 8px #a33d06}.map-trail{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--n) * .5) 4px;max-width:calc(100vw - 360px)}.map-dots{width:16px;height:8px;background:radial-gradient(circle,rgba(60,90,110,.35) 3px,transparent 4px) 0 0 / 13px 8px repeat-x}.map-node{position:relative;width:var(--n);height:var(--n);border-radius:50%;padding:calc(var(--n) * .23);background:radial-gradient(circle at 35% 30%,#8fd2ff,#2d7ff9 65%,#1f5fc4);box-shadow:0 9px #184a99,0 14px 22px #00000026;transform:translateY(calc(sin(var(--i) * 1.3) * var(--n) * .1))}.map-node.done{background:radial-gradient(circle at 35% 30%,#ffe27a,#ffc928 65%,#e0a200);box-shadow:0 9px #b77900,0 14px 22px #00000026}.map-node.current{animation:breathe 1.3s ease-in-out infinite;box-shadow:0 9px #184a99,0 0 0 8px #fffc,0 14px 22px #00000026}.map-node.locked{background:#c9d6de;box-shadow:0 9px #9fb0bb;cursor:default;padding:calc(var(--n) * .27)}.map-node .num{display:block;width:100%;height:100%}.mstars{position:absolute;left:50%;bottom:calc(var(--n) * -.29);transform:translate(-50%);display:flex;gap:1px}.mstars em{width:calc(var(--n) * .25);height:calc(var(--n) * .25);color:#ffffffd9}.mstars em.on{color:#ffcf2e}.reward-sticker{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;font-size:86px;border:8px solid #fff;box-shadow:0 12px 26px #0003;transform:scale(0);animation:starIn .6s cubic-bezier(.3,1.8,.5,1) forwards}.reward-sticker[hidden]{display:none}.ghost-hand{position:absolute;left:0;top:0;font-size:64px;pointer-events:none;filter:drop-shadow(0 6px 6px rgba(0,0,0,.3));transition:opacity .2s}.ghost-hand[hidden]{display:block;opacity:0}.overlay.predict{background:#fffaeb47;align-content:center;gap:1.5em}.predict-ask{width:6em;height:6em;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:1.6em;box-shadow:0 .4em #0000001f;animation:hop 1.6s ease-in-out infinite}.predict-cards{display:flex;gap:3em}.predict-card{width:11em;height:11em;border-radius:2em;background:#fff;padding:1.5em;box-shadow:0 .6em #00000026,0 1em 2em #00000026;transform:scale(0);animation:starIn .45s cubic-bezier(.3,1.8,.5,1) forwards,breathe 1.6s 1s ease-in-out infinite;animation-delay:calc(var(--i) * .18s),calc(1s + var(--i) * .3s)}.predict-card:hover{filter:brightness(1.05)}.predict-card .emoji,.predict-ask .emoji,.pb-card .emoji{display:grid;place-items:center;width:100%;height:100%;font-size:5em;line-height:1}.predict-ask .emoji{font-size:2.2em}.predict-badge{position:absolute;top:7.5em;left:1.25em;width:6em;height:6em;border-radius:1.2em;background:#fff;padding:.7em;box-shadow:0 .35em #00000026;pointer-events:none;transition:transform .3s,box-shadow .3s}.predict-badge[hidden]{display:none}.pb-card .emoji{font-size:3em}.pb-mark{position:absolute;right:-.6em;top:-.6em;width:2.2em;height:2.2em;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:1.1em;color:#fff;transform:scale(0)}.predict-badge.right{box-shadow:0 0 0 .35em #2bb673,0 .35em #00000026;animation:starIn .5s cubic-bezier(.3,1.8,.5,1);transform:scale(1.15)}.predict-badge.right .pb-mark{background:#2bb673;transform:scale(1);transition:transform .3s cubic-bezier(.3,1.8,.5,1)}.predict-badge.wrong{box-shadow:0 0 0 .35em #ffb400,0 .35em #00000026;animation:nudge 1s ease-in-out}.predict-badge.wrong .pb-mark{background:#ffb400;transform:scale(1);transition:transform .3s}.grownups{position:fixed;inset:0;z-index:50;display:grid;place-items:start center;overflow:auto;padding:32px 16px;background:#142d3c8c;backdrop-filter:blur(4px);user-select:text;-webkit-user-select:text;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1d3440}.grownups[hidden]{display:none}.g-card{width:min(760px,100%);background:#fffdf7;border-radius:22px;padding:26px 30px 30px;box-shadow:0 20px 60px #0000004d}.g-card header{display:flex;align-items:center;justify-content:space-between}.g-card h1{margin:0;font-size:26px}.g-card h2{font-size:17px;margin:26px 0 10px;color:#2f7f78;text-transform:uppercase;letter-spacing:.04em}.g-close{width:44px;height:44px;border-radius:50%;border:0;background:#eef3f5;font-size:20px;cursor:pointer}.g-summary{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.g-summary div{flex:1 1 130px;background:#eef7f4;border-radius:14px;padding:12px 14px}.g-summary b{display:block;font-size:24px}.g-summary span{font-size:13px;color:#4b6570}.g-concepts,.g-challenges{list-style:none;margin:0;padding:0}.g-concepts>li{border-top:1px solid #ebe5d8;padding:12px 0}.g-concept{display:flex;gap:12px;align-items:flex-start}.g-concept p{margin:2px 0 0;line-height:1.4}.g-chip{flex:none;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}.g-chip.mastered{background:#d9f2de;color:#1d6b33}.g-chip.helped{background:#fff0c9;color:#7a5600}.g-chip.todo{background:#eef1f3;color:#6b7c85}.g-challenges{margin:8px 0 0 12px}.g-challenges li{display:grid;grid-template-columns:58px 1fr;column-gap:8px;font-size:14px;padding:3px 0;color:#7b8b92}.g-challenges li.done{color:#1d3440}.g-challenges small{grid-column:2;color:#6b7c85}.g-stars b{color:#d9dee1;font-size:15px}.g-stars b.on{color:#f2b400}.g-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #ebe5d8}.g-row small{display:block;color:#6b7c85;font-size:12px}.g-row input[type=text]{font:inherit;padding:8px 10px;border:1px solid #cfd8dc;border-radius:10px;width:180px}.g-row input[type=checkbox]{width:22px;height:22px;accent-color:#2f7f78}.g-row input[type=range]{width:180px;accent-color:#2f7f78}.g-btn{font:inherit;font-weight:600;padding:10px 18px;border-radius:12px;border:1px solid #cfd8dc;background:#fff;cursor:pointer}.g-btn.primary{background:#2f7f78;border-color:#2f7f78;color:#fff}.g-btn.danger{background:#fff;border-color:#d9534f;color:#b52b27}.muted{color:#6b7c85}.g-danger p,.g-account p{margin:0 0 10px;line-height:1.4}@media(max-width:560px){.g-card{padding:20px 16px}.g-row{flex-wrap:wrap}}.g-guess{display:block;margin-top:4px;color:#4a6b7a;font-size:13px}.shelf-open{position:absolute;right:34px;bottom:34px;width:120px;height:120px;border-radius:50%;padding:18px;background:radial-gradient(circle at 35% 30%,#ff9ed2,#ff4fa3 62%,#d12c7f);box-shadow:0 10px #a31d62,0 16px 26px #0003}.shelf-open:active{transform:translateY(6px);box-shadow:0 4px #a31d62}.shelf-open.has-new{animation:breathe 1.3s ease-in-out infinite}.shelf-new{position:absolute;top:4px;right:4px;width:30px;height:30px;border-radius:50%;background:#ffcf2e;border:4px solid #fff;box-shadow:0 3px 6px #00000040}.shelf{position:absolute;inset:0;pointer-events:auto;display:grid;place-items:center;overflow:auto;background:radial-gradient(circle at 50% 20%,#fff6e3,#ffe2b8 70%,#f5c98f)}.shelf[hidden],.shelf-new[hidden]{display:none}.shelf-close{position:absolute;top:20px;left:20px;width:72px;height:72px;border-radius:50%;padding:14px;background:#3a9bdc;box-shadow:0 6px #0000002e,0 10px 20px #0000001f;z-index:1}.shelf-board{display:grid;grid-template-columns:repeat(4,150px);gap:26px 34px;padding:110px 40px 60px;background-image:repeating-linear-gradient(to bottom,transparent 0 150px,#b77a3e 150px 164px,#8c5a2b 164px 176px);background-position:0 104px}@media(max-width:760px){.shelf-board{grid-template-columns:repeat(3,110px);gap:20px 18px}#hud .sticker{width:110px;height:110px;font-size:60px}}#hud .sticker{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;font-size:84px;line-height:1;padding:0;background:var(--c);border:7px solid #fff!important;transform:rotate(var(--tilt));box-shadow:0 8px #0000001f,0 12px 22px #0000002e}.sticker span{display:block;filter:drop-shadow(0 4px 3px rgba(0,0,0,.18))}#hud .sticker.locked{background:#7850281f;border:7px dashed rgba(120,80,40,.25)!important;box-shadow:none;cursor:default}.sticker.locked span{filter:grayscale(1) brightness(0);opacity:.16}#hud .sticker.fresh{transform:scale(0)}#hud .sticker.popping{animation:stickerPop .75s cubic-bezier(.3,1.8,.5,1) both}#hud .sticker.wiggle{animation:stickerWiggle .5s ease-in-out}@keyframes stickerPop{0%{transform:scale(0) rotate(-200deg)}70%{transform:scale(1.25) rotate(calc(var(--tilt) + 8deg))}to{transform:scale(1) rotate(var(--tilt))}}@keyframes stickerWiggle{25%{transform:scale(1.15) rotate(calc(var(--tilt) - 12deg))}60%{transform:scale(1.1) rotate(calc(var(--tilt) + 10deg))}}
