:root{--bg: #fff7e0;--card: #ffffff;--accent: #ff9f43;--accent-sub: #7ec8e3;--text: #5d4a2f;--shadow: rgba(93, 74, 47, .12)}*{box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{position:fixed;width:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation;background:linear-gradient(180deg,#c9ecff,#eafaff 45%,#fff7e0);color:var(--text);font-family:Hiragino Maru Gothic ProN,BIZ UDPGothic,system-ui,sans-serif}button{font-family:inherit;color:inherit;border:none;background:none;padding:0;cursor:pointer;touch-action:manipulation}.screen{height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.home{overflow-y:auto;touch-action:pan-y}.sky-decor{position:fixed;inset:0;pointer-events:none;z-index:0}.sun{position:absolute;top:16px;right:16px;width:76px;height:76px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff3a3,#ffd93d 70%);animation:sun-pulse 3.2s ease-in-out infinite alternate}.cloud{position:absolute;left:-140px;font-size:72px;opacity:.9;animation:cloud-drift linear infinite}.cloud-1{top:6%;animation-duration:65s}.cloud-2{top:20%;font-size:52px;animation-duration:90s;animation-delay:-30s}.cloud-3{top:40%;font-size:62px;animation-duration:75s;animation-delay:-55s}.home-title{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;gap:2px;font-size:38px;margin:20px 0 8px}.home-title-mascot{font-size:44px;margin-right:8px;display:inline-block;animation:mascot-swing 2.4s ease-in-out infinite}.bounce-letter{display:inline-block;font-weight:900;animation:letter-bounce 1.8s ease-in-out infinite;text-shadow:3px 0 0 #fff,-3px 0 0 #fff,0 3px 0 #fff,0 -3px 0 #fff,2px 2px 0 #fff,-2px 2px 0 #fff,2px -2px 0 #fff,-2px -2px 0 #fff,0 6px 0 rgba(93,74,47,.15)}.home-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:14px 14px 28px;max-width:560px;margin:0 auto;width:100%}.home-tile{position:relative;aspect-ratio:1;border-radius:28px;background:var(--card);border:5px solid #fff;box-shadow:0 6px 0 var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.home-tile:active{transform:translateY(4px) scale(.97);box-shadow:0 2px 0 var(--shadow)}.home-tile-icon{font-size:46px;line-height:1;display:inline-block;animation:float-icon 2.6s ease-in-out infinite}.home-tile-label{font-size:14px;font-weight:700}.home-tile-stickers{background:linear-gradient(135deg,#ffd6e8,#ffe9a8)}.home-tile-sparkle{position:absolute;top:6px;left:10px;font-size:20px;animation:twinkle 1.6s ease-in-out infinite}.sticker-count{position:absolute;top:8px;right:8px;min-width:26px;height:26px;padding:0 6px;border-radius:13px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center}.game-screen{background:var(--game-color, var(--bg))}.game-header{display:flex;align-items:center;gap:8px;padding:10px 14px}.game-title{flex:1;text-align:center;font-size:20px;margin:0;background:#ffffffd9;border-radius:999px;padding:10px 18px;box-shadow:0 3px 0 var(--shadow)}.icon-button{width:58px;height:58px;border-radius:50%;background:var(--card);font-size:26px;box-shadow:0 4px 0 var(--shadow);display:grid;place-items:center;flex-shrink:0}.icon-button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.game-area{flex:1;position:relative;overflow:hidden}.big-button{font-size:22px;font-weight:700;padding:16px 30px;border-radius:999px;background:linear-gradient(180deg,#ffb35c,#ff9130);border-bottom:6px solid #e07b1f;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.12);box-shadow:0 6px 0 var(--shadow)}.big-button.secondary{background:linear-gradient(180deg,#7ed3f0,#4fb3dd);border-bottom-color:#3a97be}.big-button:active{transform:translateY(4px);border-bottom-width:2px;box-shadow:0 2px 0 var(--shadow)}.game-score{text-align:center;font-size:26px;font-weight:700;padding:6px 0}.game-score.overlay{position:absolute;top:10px;left:0;right:0;padding:0;pointer-events:none}.game-score.on-dark{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.35)}.progress-stars{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:440px;padding:0 10px}.progress-star{font-size:22px;line-height:1;filter:grayscale(1);opacity:.35}.progress-star.earned{filter:none;opacity:1;animation:star-pop .5s}.quiz{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;padding:12px}.quiz-prompt{font-size:28px;font-weight:700;text-align:center;display:flex;align-items:center;gap:12px}.quiz-options{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.option-card{width:100px;height:100px;border-radius:22px;background:var(--card);border:4px solid #fff;font-size:54px;box-shadow:0 4px 0 var(--shadow);display:grid;place-items:center}.option-card:active{transform:translateY(2px)}.color-prompt{display:inline-block;width:72px;height:72px;border-radius:50%;border:4px solid #fff;box-shadow:0 4px 0 var(--shadow);animation:pulse-beat 1.6s ease-in-out infinite}.option-card.with-label{height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.option-label{font-size:13px;font-weight:700}.celebration{position:fixed;inset:0;z-index:50;background:#fffbebeb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;overflow:hidden;animation:fade-in .3s}.celebration-title{font-size:36px;font-weight:700}.celebration-sticker-wrap{position:relative;width:230px;height:230px;display:grid;place-items:center}.sunburst{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(rgba(255,217,61,.55) 0deg 15deg,transparent 15deg 30deg);-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 68%);mask-image:radial-gradient(circle,#000 30%,transparent 68%);animation:spin 9s linear infinite}.celebration-sticker{font-size:84px;line-height:1;animation:sticker-pop .6s}.celebration-caption{font-size:18px;font-weight:700}.celebration-buttons{display:flex;gap:16px;margin-top:8px}.confetti-piece{position:absolute;top:-30px;width:12px;height:12px;border-radius:3px;animation:confetti-fall linear forwards}.confetti-piece.emoji{background:none;width:auto;height:auto;line-height:1}.game-intro{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:20px}.game-intro-icon{font-size:96px;line-height:1;animation:float-icon 2.2s ease-in-out infinite}.game-intro-text{font-size:22px;font-weight:700;text-align:center;line-height:1.7;background:#ffffffd9;border-radius:24px;padding:16px 22px;margin:0;box-shadow:0 4px 0 var(--shadow);max-width:480px}.sticker-book{height:100%;overflow-y:auto;touch-action:pan-y;padding:10px 16px 24px}.sticker-book-summary{text-align:center;font-size:16px;font-weight:700;margin:6px 0 12px}.sticker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:480px;margin:0 auto}.sticker-cell{position:relative;aspect-ratio:1;border-radius:18px;background:var(--card);border:3px solid #fff;box-shadow:0 3px 0 var(--shadow);display:grid;place-items:center;font-size:36px}.sticker-cell.locked{background:#f0ead9;color:#c9bda1;font-size:26px}.sticker-cell-count{position:absolute;bottom:4px;right:6px;font-size:12px;font-weight:700;color:var(--accent)}.balloon{position:absolute;bottom:-140px;width:84px;height:104px;border-radius:50% 50% 48% 48%;animation:rise linear forwards,sway 2.8s ease-in-out infinite alternate}.balloon:after{content:"";position:absolute;left:50%;top:100%;width:2px;height:40px;background:#5d4a2f59}.bubble{position:absolute;bottom:-120px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#fffffff2,#d6f0ff80 40%,#ffbeeb80 65%,#aae1ff99 85%);border:3px solid rgba(255,255,255,.95);box-shadow:0 4px 10px #0f3c5f40,inset -6px -6px 12px #ffffff59;animation:rise linear forwards,sway 2.4s ease-in-out infinite alternate,bubble-shimmer 3.2s linear infinite}.burst{position:fixed;font-size:56px;transform:translate(-50%,-50%);animation:burst-out .35s forwards;pointer-events:none}.drawing{height:100%;display:flex;flex-direction:column}.drawing-canvas{flex:1;background:#fff;border-radius:18px;margin:0 12px;touch-action:none}.drawing-toolbar{display:flex;gap:10px;justify-content:center;align-items:center;padding:12px;flex-wrap:wrap}.color-button{width:52px;height:52px;border-radius:50%;box-shadow:0 3px 0 var(--shadow);border:4px solid transparent}.color-button.selected{border-color:var(--text);transform:scale(1.12)}.tool-button{width:52px;height:52px;border-radius:14px;background:var(--card);font-size:26px;box-shadow:0 3px 0 var(--shadow);display:grid;place-items:center}.tool-button.selected{outline:4px solid var(--accent)}.mole-field{height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px;max-width:480px;margin:0 auto;width:100%}.mole-hole{position:relative;border-radius:50%;background:radial-gradient(circle at 50% 40%,#8d6e4e,#6d523a);overflow:hidden;aspect-ratio:1;align-self:center}.mole{position:absolute;inset:0;display:grid;place-items:center;font-size:52px;transform:translateY(100%);transition:transform .25s ease-out}.mole.up{transform:translateY(0)}.sea{position:absolute;inset:0;background:linear-gradient(#bde8ff,#7ec8e3 40%,#5aa7d1);overflow:hidden}.fish{position:absolute;font-size:56px;animation:swim linear forwards}.fish-body{display:inline-block;animation:fish-wiggle .7s ease-in-out infinite alternate}.sea-bubble{position:absolute;bottom:-20px;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:#ffffff40;pointer-events:none;animation:rise 7s linear infinite}.maze-board{display:grid;gap:4px;padding:16px;max-width:420px;margin:0 auto;touch-action:none}.maze-cell{aspect-ratio:1;border-radius:10px;background:#d9efc9}.maze-cell.path{background:#fff;box-shadow:inset 0 0 0 2px #f0e6cf}.maze-cell.visited{background:#ffe3a3}.maze-cell-emoji{display:grid;place-items:center;height:100%;font-size:30px}.maze-cell-emoji.rabbit{animation:rabbit-hop .35s}.maze-cell-emoji.goal{animation:mascot-swing 2.4s ease-in-out infinite}.maze-cell-emoji.trail{font-size:15px;opacity:.55}.maze-cell-emoji.decor{font-size:18px;opacity:.85}.pair-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:10px 20px;max-width:440px;margin:0 auto;width:100%}.pair-card{aspect-ratio:3 / 4;perspective:600px;transition:transform .2s}.pair-card-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .35s}.pair-card.open .pair-card-inner,.pair-card.matched .pair-card-inner{transform:rotateY(180deg)}.pair-card-face{position:absolute;inset:0;display:grid;place-items:center;font-size:52px;border-radius:18px;border:4px solid #fff;box-shadow:0 4px 0 var(--shadow);backface-visibility:hidden;-webkit-backface-visibility:hidden}.pair-card-front{background:var(--accent-sub)}.pair-card-back{background:var(--card);transform:rotateY(180deg)}.pair-card.matched .pair-card-back{background:#d9f7d9}.pair-card.matched{transform:scale(.96)}.tray{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;padding:10px}.tray-piece{border-radius:18px;background:var(--card);border:4px solid #fff;box-shadow:0 4px 0 var(--shadow);padding:8px;display:grid;place-items:center}.tray-piece.selected{outline:5px solid var(--accent);transform:scale(1.08)}.tray-piece.placed{visibility:hidden}.slot-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;padding:10px}.slot{border-radius:18px;background:#f6f0df;box-shadow:inset 0 0 0 3px #e3d9c4;padding:8px;display:grid;place-items:center}.slot.filled{animation:sticker-pop .4s}.puzzle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:min(70vw,320px);margin:0 auto}.puzzle-slot{aspect-ratio:1;border-radius:12px;background:#f6f0df;box-shadow:inset 0 0 0 3px #e3d9c4;overflow:hidden}.puzzle-grid.complete{animation:sticker-pop .5s}.puzzle-piece-svg{display:block;width:100%;height:100%}.rhythm{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly}.rhythm-row{display:flex;gap:14px;justify-content:center;align-items:flex-end}.rhythm-drum-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}.drum-pointer{font-size:34px;line-height:1;animation:pointer-bounce .6s ease-in-out infinite}.drum-pointer.hidden{visibility:hidden}.rhythm-drum{width:min(60vw,280px);height:min(60vw,280px);border-radius:50%;background:radial-gradient(circle at 50% 35%,#ffd166,#ff9f43);border:6px solid #fff;box-shadow:0 8px 0 var(--shadow);font-size:90px;display:grid;place-items:center;transition:transform .1s}.rhythm-drum.small{width:min(26vw,130px);height:min(26vw,130px);font-size:48px;filter:saturate(.55) brightness(.92)}.rhythm-drum.beat{filter:none;animation:pulse-beat .4s ease-in-out infinite;box-shadow:0 8px 0 var(--shadow),0 0 40px 10px #ffd166cc}.float-note{position:fixed;pointer-events:none;font-size:26px;line-height:1;animation:note-rise .9s ease-out forwards}.instruments{height:100%;display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;padding:12px}.instrument-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.piano-key{width:min(16vw,76px);height:min(36vw,170px);border-radius:0 0 18px 18px;box-shadow:0 5px 0 var(--shadow);font-size:26px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px}.piano-key:active{transform:translateY(3px)}.percussion-button{width:96px;height:96px;border-radius:50%;font-size:48px;box-shadow:0 5px 0 var(--shadow);display:grid;place-items:center}.count-field{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:10px 20px;max-width:420px;margin:0 auto;width:100%}.count-item{position:relative;aspect-ratio:1;border-radius:20px;background:var(--card);border:4px solid #fff;box-shadow:0 4px 0 var(--shadow);font-size:52px;display:grid;place-items:center}.count-badge{position:absolute;top:6px;right:8px;min-width:30px;height:30px;border-radius:15px;background:var(--accent);color:#fff;font-size:18px;font-weight:700;display:grid;place-items:center;animation:sticker-pop .4s}.count-item.tapped{background:#d9f7d9;animation:sticker-pop .4s}.marble-run{height:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0 6px}.machine{position:relative;flex:1;width:calc(100% - 24px);max-width:520px;margin:0 auto;background:#ffffff8c;background-image:radial-gradient(rgba(93,74,47,.12) 1.5px,transparent 1.5px);background-size:24px 24px;border-radius:18px;overflow:hidden}.machine-ledge{position:absolute;left:0;top:10%;width:16%;height:12px;border-radius:0 8px 8px 0;background:#b08960}.machine-ground{position:absolute;left:0;right:0;bottom:0;height:9%;background:#b08960}.rail{position:absolute;height:14px;border-radius:8px;border:3px solid transparent}.rail.empty{border-style:dashed;background:#fff9}.rail.tramp{height:20px;border-radius:6px}.spinner{position:absolute;font-size:30px;line-height:1;margin:-15px;opacity:.85}.spinner.spinning{animation:spin .5s linear infinite}.marble{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffb3b3,#e03131 60%);box-shadow:0 2px 4px #00000040;z-index:2}.marble.ready{animation:pulse-beat .9s ease-in-out infinite}.marble:after{content:"";position:absolute;top:4px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#ffffffe6}.marble.rolling{animation:spin .6s linear infinite}.domino{position:absolute;bottom:9%;width:10px;height:44px;border-radius:4px;background:#845ef7;transform-origin:bottom right;transition:transform .18s ease-in}.domino.fallen{transform:rotate(78deg)}.machine-bell{position:absolute;right:2%;bottom:10%;font-size:36px;line-height:1}.machine-bell.ring{animation:bell-swing .5s ease-in-out 2}.machine-flag{position:absolute;right:3%;bottom:24%;font-size:40px;line-height:1;opacity:0;transform:translateY(24px) scale(.4);transition:transform .3s,opacity .3s}.machine-flag.up{opacity:1;transform:translateY(0) scale(1)}.mini-rail{display:block;width:64px;height:12px;border-radius:8px}.catch-field{position:absolute;inset:0;margin:0 12px 12px;border-radius:18px;background:#ffffff8c;overflow:hidden;touch-action:none}.peg{position:absolute;width:12px;height:12px;margin:-6px;border-radius:50%;background:#c9b28f}.peg.lit{background:#ffd43b;box-shadow:0 0 10px 3px #ffd43bcc}.catch-ball{position:absolute;width:22px;height:22px;margin:-11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe08a,#f08c00 65%);box-shadow:0 2px 3px #0003}.catch-cup{position:absolute;bottom:2%;font-size:56px;line-height:1;transform:translate(-50%);pointer-events:none}.math-scene{display:flex;align-items:center;justify-content:center;gap:12px;min-height:110px}.math-group{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:250px}.math-item{position:relative;font-size:44px;line-height:1}.math-item.gone{opacity:.35}.math-cross{position:absolute;inset:0;display:grid;place-items:center;font-size:40px;font-weight:900;color:#e8590c}.math-symbol{font-size:40px;font-weight:900;color:#495057}.math-formula{font-size:32px;font-weight:700;color:#495057;display:flex;gap:10px}.math-answer{color:var(--accent)}.vehicle-field{position:absolute;inset:0;margin:0 12px 12px;border-radius:18px;overflow:hidden;background:#ffffff8c}.vehicle-decor{position:absolute;left:4%;bottom:3%;font-size:64px;line-height:1;pointer-events:none}.scene-decor{position:absolute;bottom:3%;font-size:46px;line-height:1;opacity:.9;pointer-events:none}.fire-scene{background:linear-gradient(#fff4e6,#ffe8cc)}.fire{position:absolute;line-height:1;transform:translate(-50%,-50%);animation:fire-flicker .5s ease-in-out infinite alternate}.garbage-scene{background:linear-gradient(#e6fcf5,#d3f9d8)}.trash{position:absolute;font-size:44px;line-height:1;transform:translate(-50%,-50%)}.crane-scene{background:linear-gradient(#e7f5ff,#d0ebff);touch-action:manipulation}.crane-arm{position:absolute;top:7%;left:6%;right:6%;height:10px;border-radius:5px;background:#f08c00}.crane-trolley{position:absolute;top:8.5%;font-size:40px;line-height:1;margin-left:-20px;animation:trolley-move 2.2s linear infinite alternate;pointer-events:none}.crane-block{position:absolute;width:64px;height:24px;margin-left:-32px;border-radius:6px;border:3px solid #fff;box-shadow:0 2px 0 var(--shadow);animation:block-drop .38s cubic-bezier(.5,0,1,.6)}.dig-scene{background:linear-gradient(#fff9db,#f2e5cf);display:flex;flex-direction:column}.dig-grid{flex:1;display:grid;gap:12px;padding:10px 18px 18px;max-width:480px;margin:0 auto;width:100%;align-content:center}.dig-tile{aspect-ratio:1;border-radius:18px;background:radial-gradient(circle at 50% 35%,#d9b98c,#b08960);border:3px solid #fff;box-shadow:0 4px 0 var(--shadow);font-size:38px;display:grid;place-items:center}.dig-tile.dug{background:radial-gradient(circle at 50% 45%,#8d6e4e,#5d4a2f);box-shadow:inset 0 4px 6px #0000004d;animation:sticker-pop .35s}.town-scene{background:linear-gradient(#d5f0ff,#eafaf1 65%,#d3f9d8)}.town-skyline{position:absolute;bottom:26%;left:0;right:0;text-align:center;font-size:40px;letter-spacing:6px;opacity:.9;pointer-events:none}.town-skyline.driving{font-size:52px;bottom:30%}.town-road{position:absolute;bottom:8%;left:0;right:0;height:18%;background:#868e96;background-image:repeating-linear-gradient(90deg,transparent 0 26px,#fff 26px 46px);background-size:100% 5px;background-position:0 center;background-repeat:no-repeat;background-color:#868e96}.driving-vehicle{position:absolute;bottom:12%;left:-15%;font-size:76px;line-height:1;animation:drive-across 2.4s ease-in-out forwards;pointer-events:none}.garage-grid{position:relative;height:100%;display:flex;flex-wrap:wrap;gap:12px;align-content:center;justify-content:center;padding:46px 14px 20px}.garage-vehicle{position:relative;width:106px;height:106px;border-radius:22px;background:var(--card);border:4px solid #fff;box-shadow:0 4px 0 var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.garage-vehicle:active{transform:translateY(3px)}.garage-emoji{font-size:44px;line-height:1}.garage-badge{position:absolute;top:4px;right:6px;font-size:20px}.mission-scene{position:absolute;inset:0}.mission-vehicle{position:absolute;left:5%;bottom:4%;font-size:68px;line-height:1;pointer-events:none}.mission-goal{position:absolute;right:5%;bottom:10%;font-size:72px;line-height:1;pointer-events:none}.mission-patient{position:absolute;left:38%;bottom:10%;font-size:56px;line-height:1;animation:pulse-beat 1.4s ease-in-out infinite}.mission-vehicle.drive-to-goal{animation:drive-to-goal 2.2s ease-in-out forwards}.mission-building{position:absolute;left:50%;top:8%;transform:translate(-50%);width:150px;border-radius:14px 14px 0 0;background:#adb5bd;display:grid;gap:12px;padding:16px}.mission-window{height:64px;border-radius:10px;background:#495057;border:3px solid #fff;font-size:38px;display:grid;place-items:center}.fire-flame{display:inline-block;animation:flame-pulse .5s ease-in-out infinite alternate}.police-spots{position:absolute;inset:14% 6% 22%;display:grid;grid-template-columns:1fr 1fr;gap:10px;place-items:center}.police-spot{position:relative;width:116px;height:116px}.thief{position:absolute;left:50%;top:0;margin-left:-21px;font-size:42px;line-height:1;opacity:0;transform:translateY(30px);transition:transform .25s,opacity .25s}.thief.peeking{opacity:1;transform:translateY(-8px)}.spot-decor{position:absolute;inset:0;display:grid;place-items:center;font-size:62px;line-height:1}.rock-mission{background:linear-gradient(transparent 60%,#d9b98c 60%)}.mission-rock{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);line-height:1}.mission-done{display:grid;place-items:center;align-content:center;gap:10px}.done-vehicle{font-size:96px;line-height:1;animation:sticker-pop .6s}.done-star{font-size:52px;line-height:1;animation:star-pop .6s}.road-style .maze-cell{background:#d3f9d8}.road-style .maze-cell.path{background:#ced4da;box-shadow:inset 0 0 0 2px #adb5bd}.road-style .maze-cell.visited{background:#ffe8cc}@keyframes rise{to{transform:translateY(calc(-100dvh - 200px))}}@keyframes sway{0%{margin-left:-18px}to{margin-left:18px}}@keyframes swim{to{transform:translate(calc(100vw + 120px))}}@keyframes burst-out{0%{opacity:1;scale:.6}to{opacity:0;scale:1.6}}@keyframes confetti-fall{to{transform:translateY(110dvh) rotate(720deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes sticker-pop{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes wobble{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.wrong-shake{animation:wobble .4s}@keyframes pulse-beat{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes letter-bounce{0%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}@keyframes mascot-swing{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes float-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes cloud-drift{to{transform:translate(calc(100vw + 300px))}}@keyframes sun-pulse{0%{box-shadow:0 0 36px 10px #ffd93d73}to{box-shadow:0 0 60px 20px #ffd93db3}}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes star-pop{0%{transform:scale(0)}70%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bell-swing{0%,to{transform:rotate(0)}25%{transform:rotate(-18deg)}75%{transform:rotate(18deg)}}@keyframes bubble-shimmer{50%{filter:hue-rotate(45deg)}}@keyframes fish-wiggle{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@keyframes rabbit-hop{40%{transform:translateY(-10px)}}@keyframes pointer-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes note-rise{to{transform:translateY(-90px);opacity:0}}@keyframes fire-flicker{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.15)}}@keyframes trolley-move{0%{left:12%}to{left:82%}}@keyframes block-drop{0%{transform:translateY(-55vh)}to{transform:translateY(0)}}@keyframes drive-across{to{left:108%}}@keyframes drive-to-goal{to{left:62%}}@keyframes flame-pulse{0%{transform:scale(1)}to{transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){.bounce-letter,.home-title-mascot,.home-tile-icon,.home-tile-sparkle,.cloud,.sun,.sunburst{animation:none}}
