:root{font-family:Inter,ui-rounded,SF Pro Rounded,Nunito,Avenir Next,system-ui,sans-serif;color:#27414b;background:#dff7f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #183646;--leaf: #19b875;--mint: #69f0a8;--sky: #32b7ff;--sun: #ffd22f;--rose: #ff4fa3;--lavender: #8b5cff;--peach: #ff9d43;--panel: rgba(255, 255, 255, .9);--line: rgba(255, 255, 255, .94);--shadow: 0 24px 72px rgba(17, 65, 85, .24)}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto}button,input{font:inherit}button{color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app-shell{position:relative;width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;display:grid;place-items:start center;padding:clamp(14px,3vw,32px);isolation:isolate;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.app-shell.screen-map,.app-shell.screen-collection{min-height:100vh;min-height:100dvh;place-items:start center;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.app-shell.screen-reward,.app-shell.screen-play{place-items:start center;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.app-shell.screen-welcome{place-items:start center}.meadow-backdrop{position:absolute;inset:0;z-index:-3;background:linear-gradient(#00669905,#00814e14),url(/assets/images/generated/rainbow-meadow-background.png) center / cover no-repeat}.app-shell:after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 20% 10%,rgba(255,244,111,.34),transparent 24%),linear-gradient(180deg,#ffffff1f,#ffffff05);pointer-events:none}.sparkle-field{position:absolute;inset:0;z-index:-1;pointer-events:none}.sparkle-field span{position:absolute;width:12px;height:12px;border-radius:999px;background:#fff45c;box-shadow:0 0 16px #fff,0 0 28px #ffc41ce6;animation:twinkle 4s ease-in-out infinite}.sparkle-field span:nth-child(1){top:18%;left:14%}.sparkle-field span:nth-child(2){top:24%;right:18%;animation-delay:1s}.sparkle-field span:nth-child(3){bottom:18%;left:22%;animation-delay:1.8s}.sparkle-field span:nth-child(4){bottom:30%;right:12%;animation-delay:2.4s}.screen-panel,.play-screen,.map-screen{width:min(100%,1040px);position:relative}.screen-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:clamp(22px,4vw,42px);border-radius:32px}.welcome{display:grid;gap:clamp(24px,5vw,42px);min-height:min(680px,calc(100vh - 48px));align-content:center}.settings-button{position:absolute;top:18px;right:18px}.brand-lockup{display:grid;grid-template-columns:minmax(148px,210px) minmax(0,1fr);gap:clamp(18px,4vw,42px);align-items:center}.eyebrow{margin:0 0 8px;color:#007c65;font-size:.82rem;font-weight:900;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;color:#153a4b;line-height:1.02;letter-spacing:0}h1{max-width:720px;font-size:clamp(3rem,8vw,6.4rem)}h2{font-size:clamp(2.1rem,5vw,4rem)}.welcome-copy,.support-message,.gem-lesson p,.reward-reveal,.sticker-slot small{color:#42606a;text-shadow:0 1px 0 rgba(255,255,255,.44)}.welcome-copy{max-width:560px;margin:18px 0 0;font-size:clamp(1.12rem,2vw,1.42rem);line-height:1.4}.welcome-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.map-screen{width:min(100%,1180px);display:grid;gap:clamp(12px,2vw,18px);padding-bottom:clamp(14px,3vw,28px)}.map-header{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:clamp(16px,3vw,24px);border-radius:26px}.map-header h2{font-size:clamp(2rem,4vw,3.4rem)}.map-subtitle{max-width:620px;margin:8px 0 0;color:#42606a;font-size:clamp(1rem,2vw,1.18rem);font-weight:800;line-height:1.32}.map-header-actions{display:flex;gap:10px;align-items:center}.map-board{position:relative;display:grid;grid-template-columns:minmax(0,1fr);min-height:clamp(520px,calc(100vh - 166px),660px);min-height:clamp(520px,calc(100dvh - 166px),660px);padding:clamp(14px,3vw,28px);border:3px solid rgba(255,255,255,.76);border-radius:34px;background:linear-gradient(180deg,#ffffff0a,#b8f9d83d),url(/assets/images/generated/meadow-map-background.png) center / cover no-repeat;box-shadow:0 24px 72px #1141553d;overflow:hidden}.map-board:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 74%,rgba(255,245,117,.3),transparent 20%),radial-gradient(circle at 82% 22%,rgba(191,247,255,.28),transparent 24%),linear-gradient(180deg,#ffffff0a,#1f945829);pointer-events:none}.zone-grid,.friend-meadow{position:relative;z-index:1}.friend-meadow{min-height:clamp(520px,calc(100vh - 166px),660px);min-height:clamp(520px,calc(100dvh - 166px),660px);isolation:isolate}.friend-meadow:before{content:"";position:absolute;left:8%;right:8%;bottom:15%;height:24%;border-radius:50%;background:radial-gradient(ellipse at 18% 56%,rgba(255,210,47,.18),transparent 36%),radial-gradient(ellipse at 76% 48%,rgba(105,240,168,.18),transparent 34%),linear-gradient(115deg,transparent 0 24%,rgba(255,255,255,.34) 24% 27%,transparent 27% 48%,rgba(255,255,255,.28) 48% 51%,transparent 51%);filter:blur(.2px);opacity:.9;pointer-events:none}.friend-spot{--friend-size: clamp(144px, 16vw, 218px);position:absolute;width:var(--friend-size);display:grid;justify-items:center;gap:8px;padding:0;border:0;color:inherit;background:transparent;text-align:center;cursor:pointer;transform:translate(-50%,-50%);contain:layout;-webkit-tap-highlight-color:transparent;transition:transform .14s ease;will-change:transform}.friend-spot:hover,.friend-spot:focus-visible{transform:translate(-50%,-53%)}.friend-spot.activated{z-index:20;animation:friend-spot-launch .65s ease-out}.friend-spot:focus-visible{outline:4px solid rgba(255,255,255,.92);outline-offset:8px;border-radius:28px}.friend-art-wrap{--friend-art-height: var(--friend-size);position:relative;z-index:2;display:grid;place-items:center;width:100%;height:var(--friend-art-height)}.friend-action{position:absolute;inset:-22%;z-index:4;opacity:0;pointer-events:none}.friend-action span{--dx: 0px;--dy: 0px;position:absolute;left:50%;top:42%;width:20px;height:20px;opacity:0;transform:translate(-50%,-50%) scale(.4)}.friend-action span:nth-child(1){--dx: -72px;--dy: -82px}.friend-action span:nth-child(2){--dx: 78px;--dy: -72px;animation-delay:80ms}.friend-action span:nth-child(3){--dx: -92px;--dy: 8px;animation-delay:.14s}.friend-action span:nth-child(4){--dx: 88px;--dy: 16px;animation-delay:.19s}.friend-action span:nth-child(5){--dx: 0px;--dy: -116px;animation-delay:.24s}.friend-spot.activated .friend-action{opacity:1}.friend-spot.activated .friend-action span{animation:friend-particle-pop .52s ease-out both}.friend-addition .friend-action span{border-radius:65% 45% 65% 10%;background:linear-gradient(135deg,#ff78b8,#ffd94f);box-shadow:0 0 12px #ff7ab8cc}.friend-subtraction .friend-action span{width:32px;height:22px;border-radius:999px;background:#fffffff5;box-shadow:10px -3px #e2f7ffe6,-8px 4px #ffffffd1,0 0 16px #a9deffbf}.friend-multiplication .friend-action span{background:#ffe662;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 56%,80% 94%,50% 70%,20% 94%,32% 56%,2% 35%,39% 35%);box-shadow:0 0 14px #ffe262e6}.friend-division .friend-action span{width:44px;height:14px;border-radius:999px;background:linear-gradient(90deg,#ff4fa3,#ffd22f,#20d889,#23b7ff);box-shadow:0 0 16px #5edaffc2}.friend-mixed .friend-action span{border-radius:999px 999px 999px 0;background:linear-gradient(135deg,#fff,#ff7ad9 45%,#82e0ff);box-shadow:0 0 12px #fffffff2,0 0 22px #ff7ad9b8}.friend-art-wrap:before{content:"";position:absolute;left:7%;right:7%;bottom:2%;height:20%;border-radius:50%;background:radial-gradient(ellipse,rgba(30,92,54,.24),transparent 68%);filter:blur(5px);transform:translateY(24%)}.friend-creature{position:relative;z-index:1;display:block;width:auto;height:var(--friend-art-height);max-height:var(--friend-art-height);justify-self:center;align-self:center;object-fit:contain;transform-origin:50% 88%;will-change:transform}.friend-art-wrap>.stage-status-badge{position:absolute;top:8%;right:6%;z-index:2}.friend-label{position:relative;z-index:2;display:grid;justify-items:center;gap:4px;width:min(174px,104%);padding:8px 10px 10px;border-radius:18px;border:2px solid rgba(255,255,255,.86);background:#ffffffc7;box-shadow:0 14px 24px #19495929;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.friend-label .zone-name{font-size:clamp(1.04rem,1.65vw,1.28rem);line-height:1.02}.friend-label .stage-range{font-size:.72rem;line-height:1.08;width:100%;padding-inline:8px;white-space:normal}.friend-addition{left:15%;top:59%;--friend-size: clamp(148px, 14vw, 202px)}.friend-subtraction{left:34%;top:40%;--friend-size: clamp(132px, 13vw, 180px)}.friend-multiplication{left:52%;top:58%;--friend-size: clamp(150px, 15vw, 210px)}.friend-division{left:71%;top:45%;--friend-size: clamp(150px, 15vw, 210px)}.friend-mixed{left:87%;top:62%;--friend-size: clamp(144px, 14vw, 198px)}.friend-addition.activated .friend-creature{animation:unicorn-flower-hop .65s cubic-bezier(.2,.9,.32,1.2)}.friend-subtraction.activated .friend-creature{animation:unicorn-cloud-puff .65s ease-in-out}.friend-multiplication.activated .friend-creature{animation:unicorn-star-swish .65s ease-in-out}.friend-division.activated .friend-creature{animation:unicorn-rainbow-rock .65s ease-in-out}.friend-mixed.activated .friend-creature{animation:unicorn-sparkle-prance .65s ease-in-out}.friend-spot:after{content:"";position:absolute;inset:-46px;z-index:0;border-radius:999px;opacity:0;pointer-events:none;transform:scale(.75)}.friend-spot.activated:after{animation:friend-magic-burst .65s ease-out}.friend-spot.activated .friend-label{background:#fffffff0;box-shadow:0 18px 30px #1949593d,0 0 0 4px #ffee7d61;animation:friend-label-pop .65s ease-out}.friend-spot.activated .stage-status-badge{animation:friend-badge-spin .65s ease-out}.friend-addition:after{background:radial-gradient(circle at 26% 28%,rgba(255,122,177,.9) 0 4px,transparent 5px),radial-gradient(circle at 78% 34%,rgba(255,210,47,.9) 0 5px,transparent 6px),radial-gradient(circle at 54% 76%,rgba(105,240,168,.8) 0 4px,transparent 5px)}.friend-subtraction:after{background:radial-gradient(circle at 22% 44%,rgba(255,255,255,.96) 0 11px,transparent 12px),radial-gradient(circle at 72% 30%,rgba(199,239,255,.96) 0 13px,transparent 14px),radial-gradient(circle at 58% 72%,rgba(255,255,255,.9) 0 9px,transparent 10px)}.friend-multiplication:after{background:radial-gradient(circle at 24% 28%,rgba(255,226,92,.95) 0 4px,transparent 5px),radial-gradient(circle at 70% 26%,rgba(255,151,218,.95) 0 5px,transparent 6px),radial-gradient(circle at 76% 74%,rgba(142,196,255,.95) 0 4px,transparent 5px),radial-gradient(circle at 36% 78%,rgba(255,255,255,.95) 0 3px,transparent 4px)}.friend-division:after{background:conic-gradient(from 90deg,#ff4fa39e,#ffd22f9e,#20d8899e,#32b7ff9e,#ff4fa39e);-webkit-mask:radial-gradient(ellipse at 50% 56%,transparent 0 52%,#000 54% 66%,transparent 68%);mask:radial-gradient(ellipse at 50% 56%,transparent 0 52%,#000 54% 66%,transparent 68%)}.friend-mixed:after{background:radial-gradient(circle at 20% 34%,rgba(255,255,255,.94) 0 4px,transparent 5px),radial-gradient(circle at 78% 30%,rgba(255,122,217,.94) 0 5px,transparent 6px),radial-gradient(circle at 66% 78%,rgba(130,224,255,.94) 0 5px,transparent 6px),linear-gradient(120deg,transparent 30%,rgba(255,255,255,.7) 32%,transparent 38%,rgba(255,210,47,.52) 44%,transparent 52%)}.zone-grid{align-self:stretch;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(12px,1.8vw,18px);align-content:end;align-items:stretch}.zone-card{--zone-glow: rgba(255, 210, 47, .34);min-width:0;display:grid;grid-template-rows:auto auto 1fr;gap:10px;padding:clamp(12px,1.8vw,18px);border-radius:28px;border:2px solid rgba(255,255,255,.72);background:radial-gradient(ellipse at 50% 98%,rgba(87,205,117,.34),transparent 42%),radial-gradient(circle at 50% 16%,var(--zone-glow),transparent 42%),linear-gradient(180deg,#ffffffd6,#ffffff8f);box-shadow:0 18px 34px #1c526129,inset 0 1px #ffffffc2;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.zone-addition{--zone-glow: rgba(255, 79, 163, .3)}.zone-subtraction{--zone-glow: rgba(50, 183, 255, .3)}.zone-multiplication{--zone-glow: rgba(139, 92, 255, .28)}.zone-division{--zone-glow: rgba(32, 216, 137, .28)}.zone-mixed{--zone-glow: rgba(255, 157, 67, .28)}.zone-card.selected{border-color:#fff;box-shadow:0 0 0 5px #ffd22f57,0 22px 40px #1c526138,inset 0 1px #ffffffe6}.zone-card-main{position:relative;min-width:0;display:grid;gap:8px;justify-items:center;align-items:start;padding:0;border:0;color:inherit;background:transparent;text-align:center;cursor:pointer}.zone-card-main:hover,.zone-card:has(.zone-play:hover),.zone-card:hover{transform:translateY(-2px)}.zone-creature{position:relative;display:block;width:min(100%,clamp(132px,15vw,190px));aspect-ratio:1;object-fit:contain;border-radius:28px;filter:drop-shadow(0 10px 14px rgba(23,66,82,.2)) drop-shadow(0 2px 0 rgba(255,255,255,.7));transform-origin:50% 92%;transition:transform .18s ease,filter .18s ease}.zone-card:hover .zone-creature,.zone-card.selected .zone-creature{transform:translateY(-4px) scale(1.03);filter:drop-shadow(0 14px 18px rgba(23,66,82,.24)) drop-shadow(0 0 16px rgba(255,232,98,.5))}.stage-status-badge{display:block;width:42px;aspect-ratio:1;border-radius:999px;background-image:url(/assets/images/generated/stage-status-badges.png);background-repeat:no-repeat;background-size:400% 100%;border:3px solid rgba(255,255,255,.9);box-shadow:0 8px 14px #1c526129}.zone-card-main>.stage-status-badge{position:absolute;top:2px;right:2px;z-index:1}.stage-status-badge.large{width:clamp(52px,9vw,68px)}.zone-card-copy{min-width:0;display:grid;gap:5px;justify-items:center}.zone-name,.zone-stage,.stage-range{overflow-wrap:normal;word-break:normal}.zone-progress{overflow-wrap:anywhere}.zone-name{color:#153a4b;font-size:clamp(1.28rem,2.3vw,1.72rem);font-weight:950;line-height:1.08}.zone-stage{color:#31566a;font-size:.92rem;font-weight:850;line-height:1.16}.stage-range{width:fit-content;max-width:100%;padding:5px 10px;border-radius:999px;color:#14526b;background:#d3fcffd1;font-size:.82rem;font-weight:950;line-height:1.1}.zone-progress,.gentle-lock,.stage-description,.stage-meter,.stage-fact-glimpse,.detail-lock-message,.stage-chip small,.stage-round-update{color:#42606a}.zone-progress{font-size:.88rem;line-height:1.25;font-weight:760}.zone-play{align-self:end;justify-self:stretch;min-height:42px}.gentle-lock{margin:0;padding:0 4px 2px;font-weight:850;line-height:1.28}.stage-detail-panel{align-self:stretch;display:grid;align-content:start;gap:14px;padding:clamp(16px,3vw,22px);border-radius:26px;border:2px solid rgba(255,255,255,.82);background:linear-gradient(180deg,#ffffffeb,#eefcffc7),radial-gradient(circle at 20% 0%,rgba(255,210,47,.26),transparent 38%);box-shadow:0 18px 36px #184e612e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stage-detail-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.stage-detail-panel h3{margin:0;color:#153a4b;font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.04;letter-spacing:0;overflow-wrap:anywhere}.stage-description{margin:0;font-size:clamp(.88rem,1.6vw,.98rem);line-height:1.3;font-weight:780;text-align:center}.stage-meter{display:grid;gap:8px;padding:12px;border-radius:20px;background:#ffffffb8;border:2px solid rgba(255,255,255,.82);font-weight:850}.creature-meter{padding:9px;border-radius:18px;font-size:.82rem;text-align:center}.stage-meter strong{color:#153a4b}.stage-meter-track{height:16px;border-radius:999px;border:3px solid #ffffff;background:#7be3c6b8;overflow:hidden}.stage-meter-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff4fa3,#ffd22f,#20d889,#23b7ff);transition:width .32s ease}.stage-fact-glimpse{display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;font-weight:850}.stage-fact-glimpse span{padding:6px 10px;border-radius:999px;background:#ffffffb8}.stage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stage-chip{min-width:0;min-height:58px;display:grid;gap:2px;align-content:center;padding:8px 10px;border:2px solid rgba(255,255,255,.76);border-radius:18px;color:#244c5d;background:#ffffffbd;box-shadow:0 8px 14px #1c526114;cursor:pointer}.stage-chip span,.stage-chip small{min-width:0;overflow-wrap:anywhere}.stage-chip span{font-weight:950}.stage-chip small{font-size:.72rem;font-weight:850}.stage-chip.selected{border-color:#fff;background:linear-gradient(135deg,#ffd22fc2,#bff7ffdb)}.stage-chip:disabled{cursor:default;opacity:.78;background:#ffffff8a}.detail-play{justify-self:start}.detail-lock-message{margin:0;padding:12px;border-radius:18px;background:#ffffffb3;font-weight:850;line-height:1.35}.primary-action,.secondary-action,.reset-action,.icon-button,.submit-answer,.help-answer,.number-key,.mystery-card,.sticker-slot,.zone-card-main,.friend-spot{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.primary-action,.secondary-action,.reset-action{min-height:54px;border-radius:999px;padding:0 24px;font-weight:900;box-shadow:0 12px 24px #4c877833;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.primary-action{color:#173342;background:linear-gradient(135deg,var(--sun),var(--rose) 46%,#24d889 74%,#39b9ff)}.secondary-action{color:#244c5d;background:#ffffffe0;border:2px solid rgba(255,255,255,.96)}.secondary-action span{margin-left:8px;color:#00886f}.back-action{display:inline-flex;align-items:center;gap:8px}.back-action:before{content:"";width:9px;height:9px;border-left:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg)}.small{min-height:42px;padding:0 16px}.primary-action:hover,.secondary-action:hover,.reset-action:hover,.submit-answer:hover,.help-answer:hover,.number-key:hover,.mystery-card:hover,.sticker-slot.earned:hover,.zone-stage-pill:not(:disabled):hover,.icon-button:hover{transform:translateY(-2px)}.primary-action:active,.secondary-action:active,.submit-answer:active,.help-answer:active,.number-key:active,.mystery-card:active,.sticker-slot:active,.icon-button:active{transform:translateY(1px) scale(.98)}.icon-button{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:#ffffffc7;box-shadow:0 10px 24px #4f81882e;font-weight:900;font-size:1.35rem}.nav-icon-button{overflow:visible;background:radial-gradient(circle at 32% 18%,rgba(255,255,255,.94),transparent 34%),#fffc}.nav-button-icon{width:50px;height:50px;display:block;object-fit:contain;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(29,79,96,.18))}.home-button-icon{transform:scale(1.22)}.sticker-book-button-icon{transform:scale(1.14) rotate(-2deg)}.play-screen{position:relative;width:min(100%,1180px);min-height:min(760px,calc(100vh - 28px));display:grid;grid-template-rows:auto minmax(90px,1fr) auto;gap:clamp(14px,3vw,22px);align-items:end}.success-effect{position:fixed;inset:0;z-index:200;pointer-events:none;overflow:hidden}.success-confetti span{position:absolute;left:var(--x);top:-6vh;width:clamp(12px,2vw,18px);height:clamp(18px,3vw,28px);border-radius:4px 4px 10px 10px;background:hsl(var(--hue) 95% 62%);box-shadow:0 0 0 2px #ffffff8c,0 6px 10px #19546829;animation:success-confetti-fall 1.8s cubic-bezier(.14,.72,.22,1) both;animation-delay:var(--delay)}.success-rainbow-sweep{animation:success-rainbow-glow 1.65s ease-out both}.success-rainbow-sweep span{position:absolute;left:-24vw;top:24%;width:82vw;height:clamp(34px,8vw,72px);border-radius:999px;background:linear-gradient(90deg,transparent,#ff4fa3 10%,#ffd22f 30%,#20d889 52%,#23b7ff 72%,#8b5cff 88%,transparent);filter:blur(.3px) drop-shadow(0 0 18px rgba(255,255,255,.86));opacity:0;transform:translate(-32vw) rotate(-10deg);animation:success-rainbow-sweep 1.7s ease-out both}.success-rainbow-sweep span:nth-child(1){--i: 0}.success-rainbow-sweep span:nth-child(2){top:34%;animation-delay:.11s;opacity:.72}.success-rainbow-sweep span:nth-child(3){top:44%;animation-delay:.22s;opacity:.58}.success-starburst span{position:absolute;left:50%;top:44%;width:24px;height:24px;background:#ffe662;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 56%,80% 94%,50% 70%,20% 94%,32% 56%,2% 35%,39% 35%);filter:drop-shadow(0 0 12px rgba(255,255,255,.88));opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) scale(.35);animation:success-starburst-pop 1.65s ease-out both;animation-delay:var(--delay)}.success-gem-shower span{position:absolute;left:var(--x);top:-48px;width:clamp(26px,5vw,42px);aspect-ratio:240 / 283;filter:drop-shadow(0 1px 0 rgba(255,255,255,.9)) drop-shadow(0 8px 12px rgba(35,83,103,.22));animation:success-gem-shower 1.75s cubic-bezier(.16,.72,.2,1) both;animation-delay:var(--delay)}.play-hud{width:100%;display:grid;grid-template-columns:56px minmax(0,1fr) 56px 56px;gap:12px;align-items:center;justify-self:center}.play-hud-center{min-width:0;display:grid;gap:6px}.play-stage-name{justify-self:center;max-width:100%;padding:5px 12px;border-radius:999px;color:#173342;background:#ffffffd1;box-shadow:0 8px 18px #1953681f;font-size:clamp(.82rem,2vw,.98rem);font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mystery-progress{min-width:0;justify-self:center;width:min(100%,360px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 12px 8px 9px;border-radius:999px;background:#ffffffe6;box-shadow:0 12px 28px #1953682e}.mystery-progress-card{width:34px;aspect-ratio:.72;display:grid;place-items:center;border-radius:9px;color:#fff;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.42),transparent 26%),linear-gradient(145deg,#ff4fa3,#ffd22f 46%,#20d889);border:3px solid #ffffff;box-shadow:0 6px 12px #19536829;font-size:1rem;font-weight:950;line-height:1}.mystery-progress-label{color:#173342;font-size:clamp(.82rem,1.8vw,.98rem);font-weight:950;line-height:1.04;white-space:normal}.mystery-progress-gems{display:flex;gap:6px}.mystery-progress-gem{width:20px;aspect-ratio:1;border-radius:8px 8px 10px 10px;background:linear-gradient(180deg,#d6f5f2,#a9e7d4);border:3px solid #ffffff;box-shadow:inset 0 -3px #19536814;transform:rotate(45deg)}.mystery-progress-gem.earned{background:linear-gradient(135deg,#fffbe0,#ffd22f 42%,#ff4fa3);box-shadow:0 0 0 3px #ffffff8a,0 0 16px #ffd22fb3}.question-stage{--play-character-size: clamp(92px, 11vw, 126px);--question-stage-gap: clamp(16px, 2.5vw, 34px);width:min(100%,calc(660px + (var(--play-character-size) * 2) + (var(--question-stage-gap) * 2)));justify-self:center;align-self:end;display:grid;grid-template-columns:var(--play-character-size) minmax(0,660px) var(--play-character-size);gap:var(--question-stage-gap);align-items:center}.question-stage:after{content:"";width:var(--play-character-size);aspect-ratio:1}.play-character-wrap{--play-character-box: var(--play-character-size);width:var(--play-character-box);height:var(--play-character-box);display:grid;place-items:center}.play-character-button{width:100%;height:100%;display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.play-character-art{display:block;width:auto;height:var(--play-character-box);max-height:var(--play-character-box);justify-self:center;align-self:center;object-fit:contain;animation:gentle-bob 3.8s ease-in-out infinite;will-change:transform}.mascot{display:block;width:clamp(92px,14vw,132px);aspect-ratio:557 / 941;background-image:url(/assets/images/generated/unicorn-mascot-sheet.png);background-repeat:no-repeat;background-size:300% 100%;filter:drop-shadow(0 2px 0 rgba(255,255,255,.86)) drop-shadow(0 16px 20px rgba(30,77,96,.22));animation:gentle-bob 3.8s ease-in-out infinite}.brand-lockup .mascot{width:clamp(116px,16vw,162px)}.mascot-waving{background-position:0% 0%}.mascot-thinking{background-position:50% 0%}.mascot-celebrating{background-position:100% 0%}.question-panel{justify-self:center;width:min(100%,660px);padding:clamp(18px,4vw,28px);text-align:center;border:1px solid var(--line);border-radius:32px;background:#ffffffe6;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.support-message{min-height:1.4em;margin:0 0 10px;font-size:clamp(1rem,2vw,1.2rem);font-weight:800}.encouragement-message{color:#007c65;animation:encouragement-pop .42s ease-out both}.question-text{font-size:clamp(3.2rem,12vw,6.8rem);line-height:1;font-weight:950;color:var(--ink);letter-spacing:0}.play-lower{width:min(100%,720px);justify-self:center;display:grid;gap:clamp(10px,2vw,14px)}.answer-form{width:100%;display:grid;gap:clamp(10px,2vw,14px)}.answer-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(238px,.44fr);gap:clamp(10px,2vw,14px);align-items:stretch}.answer-input-wrap{min-width:0}.answer-actions{min-width:0;display:grid;grid-template-columns:minmax(98px,.86fr) minmax(118px,1fr);gap:clamp(8px,1.4vw,10px)}.answer-input{width:100%;min-height:clamp(78px,14vw,112px);border-radius:30px;color:var(--ink);font-size:clamp(2.8rem,9vw,5rem);font-weight:950;text-align:center;background:radial-gradient(circle at 17% 20%,rgba(255,255,255,.95) 0 16%,transparent 17%),radial-gradient(circle at 78% 18%,rgba(255,255,255,.88) 0 12%,transparent 13%),linear-gradient(135deg,#fff,#c5f2ff 48%,#ffe7fa);border:5px solid #ffffff;box-shadow:inset 0 -8px #31b7ff21,0 16px 30px #1954683d;caret-color:var(--rose);outline:none}.answer-input::placeholder{color:#18364666}.answer-input:focus{box-shadow:0 0 0 6px #ffd22f8a,inset 0 -8px #31b7ff21,0 16px 30px #1954683d}.submit-answer,.help-answer,.number-key{color:var(--ink);font-weight:950;border:3px solid #ffffff;box-shadow:0 12px 22px #19546833;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.submit-answer{min-height:clamp(78px,14vw,112px);border-radius:28px;font-size:clamp(1.1rem,3vw,1.45rem);background:linear-gradient(135deg,#ffd22f,#ff8b2b 42%,#ff4fa3)}.help-answer{min-height:clamp(78px,14vw,112px);border-radius:28px;color:#174457;background:linear-gradient(135deg,#fff,#bff7df 48%,#bceeff);font-size:clamp(.95rem,2.4vw,1.14rem);line-height:1.06}.number-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.7vw,12px)}.number-key{min-height:clamp(50px,9vw,68px);border-radius:22px;background:linear-gradient(180deg,#fff,#d9f8ff);font-size:clamp(1.45rem,4vw,2.1rem)}.number-key.utility{background:linear-gradient(180deg,#fff7bd,#ffd4ec);font-size:clamp(.95rem,3vw,1.2rem)}.answer-form-guided .answer-input{box-shadow:0 0 0 6px #ff4fa347,0 0 0 12px #ffd22f4d,inset 0 -8px #31b7ff21,0 16px 30px #1954683d}.submit-answer:disabled,.help-answer:disabled,.number-key:disabled,.answer-input:disabled{cursor:default;opacity:.82}.icon-button:disabled,.play-character-button:disabled{cursor:default;opacity:.68}.gem-lesson{width:min(100%,720px);justify-self:center;display:grid;gap:12px;padding:clamp(12px,2.6vw,18px);border-radius:28px;background:linear-gradient(180deg,#fffffff0,#e8fcffe6),radial-gradient(circle at 18% 14%,rgba(255,210,47,.32),transparent 28%);border:2px solid rgba(255,255,255,.94);box-shadow:0 14px 30px #1954682e;text-align:center}.lesson-mode-hint{padding:12px}.lesson-helper-row{--lesson-helper-size: clamp(52px, 11vw, 74px);display:grid;grid-template-columns:calc(var(--lesson-helper-size) * .78) minmax(0,1fr);gap:10px;align-items:center;text-align:left}.gem-lesson p{margin:0;font-size:clamp(.98rem,2.4vw,1.16rem);font-weight:850;line-height:1.35}.lesson-nudge{justify-self:center;max-width:560px}.lesson-sprite{display:inline-block;background-repeat:no-repeat;background-position:center;background-size:contain}.sprite-gem{background-image:url(/assets/images/generated/lessons/sprites/lesson-gem.webp)}.sprite-burst{background-image:url(/assets/images/generated/lessons/sprites/lesson-burst.webp)}.lesson-helper-character{width:auto;height:var(--lesson-helper-size);max-height:var(--lesson-helper-size);justify-self:center;align-self:center;object-fit:contain}.sprite-cloud{width:100%;height:100%;background-image:url(/assets/images/generated/lessons/sprites/lesson-cloud.webp)}.sprite-tray{width:72px;aspect-ratio:363 / 231;background-image:url(/assets/images/generated/lessons/sprites/lesson-tray.webp)}.lesson-stage{min-height:clamp(104px,21vw,158px);display:flex;flex-wrap:wrap;gap:clamp(8px,2vw,14px);justify-content:center;align-items:center;padding:clamp(10px,2.4vw,16px);border-radius:24px;background:radial-gradient(circle at 50% 55%,rgba(255,244,103,.26),transparent 38%),linear-gradient(135deg,#ffe0f4c2,#cdf6ffc7);overflow:hidden}.lesson-mode-hint .lesson-stage{min-height:82px}.gem-cluster{display:flex;flex-wrap:wrap;gap:clamp(4px,1.1vw,8px);justify-content:center;align-items:center}.start-cluster,.joining-cluster{max-width:min(42%,260px)}.lesson-join-word{color:#007c65;font-weight:950;text-transform:uppercase;font-size:.82rem}.lesson-gem{width:clamp(24px,5vw,38px);aspect-ratio:240 / 283;filter:drop-shadow(0 1px 0 rgba(255,255,255,.9)) drop-shadow(0 6px 8px rgba(35,83,103,.2));animation:gem-pop .68s cubic-bezier(.18,.9,.25,1.2) both;animation-delay:var(--delay, 0ms)}.lesson-mode-hint .lesson-gem{width:clamp(20px,4.4vw,30px)}.joining-cluster .lesson-gem{animation-name:gem-join}.subtraction-stage .float-away{animation:gem-float-away 1.8s ease-in-out both;animation-delay:var(--delay, 0ms);opacity:.42}.subtraction-stage .stay-gem{animation-name:gem-stay-glow}.multiplication-stage{align-content:center;gap:clamp(6px,1vw,10px)}.multiplication-rows{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(166px,1fr));gap:clamp(6px,1.2vw,10px);align-items:stretch}.lesson-gem-row{width:100%;display:grid;gap:4px;justify-items:center;align-content:center;min-height:56px;padding:6px 7px;border-radius:18px;background:#ffffff8a;border:2px solid rgba(255,255,255,.68);animation:group-appear .52s ease both;animation-delay:var(--delay, 0ms)}.lesson-gem-row.dense-gems{min-height:72px}.multiplication-gems{display:grid;grid-template-columns:repeat(6,auto);gap:2px 5px;justify-content:center;align-items:center}.multiplication-stage .lesson-gem{width:clamp(15px,2.2vw,20px)}.gem-extra-count,.row-total,.more-rows small{color:#174457;background:#ffffffe0;font-weight:950}.gem-extra-count{min-width:28px;padding:2px 6px;border-radius:999px;font-size:.7rem;line-height:1.1}.row-total{flex:0 0 auto;padding:2px 6px;border-radius:999px;font-size:.66rem;line-height:1.1;white-space:nowrap}.more-rows{min-height:48px;display:grid;align-content:center;justify-items:center;gap:2px;padding:6px;border-radius:18px;color:#174457;background:#ffffffb3;border:2px dashed rgba(255,255,255,.92);box-shadow:0 8px 16px #1954681f;animation:group-appear .52s ease both;animation-delay:var(--delay, 0ms)}.more-rows strong{font-size:1.2rem;line-height:1}.more-rows span{font-size:.7rem;font-weight:950;line-height:1.1}.more-rows small{padding:2px 6px;border-radius:999px;font-size:.62rem}.division-stage{display:grid;grid-template-columns:minmax(92px,.28fr) minmax(0,1fr);gap:clamp(8px,2vw,14px);align-items:center;overflow:visible}.division-source{min-width:0;min-height:100%;display:grid;align-content:center;justify-items:center;gap:2px;padding:8px;border-radius:20px;color:#173342;background:#ffffffad;border:2px solid rgba(255,255,255,.82)}.division-source-visual{position:relative;width:clamp(72px,11vw,98px);aspect-ratio:363 / 231;display:grid;place-items:center}.division-source-visual .sprite-tray{position:absolute;inset:0;width:100%}.division-source-gems{position:relative;z-index:1;max-width:78%;display:grid;grid-template-columns:repeat(4,auto);gap:1px 2px;justify-content:center;align-items:center;transform:translateY(-5%)}.division-source-gems .lesson-gem{width:clamp(8px,1.35vw,13px)}.division-source-gems .gem-extra-count{font-size:.58rem;padding:1px 4px;min-width:22px}.division-source strong{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:950;line-height:.95}.division-source span:last-child{font-size:.76rem;font-weight:950;text-transform:uppercase}.division-groups{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:clamp(6px,1.2vw,10px);align-items:center}.division-cloud{position:relative;width:100%;max-width:94px;justify-self:center;aspect-ratio:332 / 369;display:grid;place-items:center;animation:group-appear .56s ease both;animation-delay:var(--delay, 0ms)}.division-cloud.sample{filter:drop-shadow(0 0 14px rgba(255,210,47,.48))}.division-cloud .sprite-cloud{position:absolute;inset:0;filter:drop-shadow(0 8px 10px rgba(39,83,105,.13))}.cloud-gems{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:1px;justify-content:center;align-items:center;max-width:76%;transform:translateY(-5px)}.cloud-gems .lesson-gem{width:clamp(11px,1.9vw,17px)}.division-extra-gems,.division-group-total,.division-more-groups small{color:#174457;background:#ffffffe0;font-weight:950}.division-extra-gems{min-width:26px;padding:1px 5px;border-radius:999px;font-size:.62rem;line-height:1.15}.division-group-total{position:absolute;left:50%;bottom:3px;z-index:2;padding:2px 6px;border-radius:999px;font-size:.64rem;line-height:1.1;transform:translate(-50%);white-space:nowrap}.division-more-groups{min-height:78px;display:grid;align-content:center;justify-items:center;gap:2px;padding:8px 6px;border-radius:18px;color:#174457;background:#ffffffb3;border:2px dashed rgba(255,255,255,.92);box-shadow:0 8px 16px #1954681f;animation:group-appear .56s ease both;animation-delay:var(--delay, 0ms)}.division-more-groups strong{font-size:1.4rem;line-height:1}.division-more-groups span{font-size:.68rem;font-weight:950;line-height:1.1}.division-more-groups small{padding:2px 6px;border-radius:999px;font-size:.62rem}.zero-gems,.empty-groups{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:999px;color:#007c65;background:#ffffffd1;font-weight:950}.empty-groups{flex-direction:column;border-radius:22px}.lesson-answer{justify-self:center;display:grid;grid-template-columns:42px auto auto;align-items:center;gap:8px;padding:8px 16px 8px 10px;border-radius:999px;color:#173342;background:linear-gradient(135deg,#fff7a8,#ffd6ef 52%,#bff7ff);border:3px solid #ffffff;box-shadow:0 10px 20px #19546829;font-weight:900}.lesson-answer .sprite-burst{width:42px;aspect-ratio:1}.lesson-answer strong{font-size:clamp(1.8rem,6vw,2.6rem);line-height:1}.walkthrough-action{justify-self:center}@media(min-width:960px){.play-lower.with-lesson{width:min(100%,1120px);grid-template-columns:minmax(0,1fr) minmax(280px,.46fr);gap:18px;align-items:start}.play-lower.with-lesson .gem-lesson{width:100%}.play-lower.with-lesson .answer-form{gap:10px}.play-lower.with-lesson .answer-entry{grid-template-columns:1fr;gap:10px}.play-lower.with-lesson .answer-input,.play-lower.with-lesson .submit-answer,.play-lower.with-lesson .help-answer{min-height:66px;border-radius:22px}.play-lower.with-lesson .answer-input{border-width:4px;font-size:clamp(2.8rem,5vw,4rem)}.play-lower.with-lesson .submit-answer,.play-lower.with-lesson .help-answer{font-size:1.12rem}.play-lower.with-lesson .number-pad{gap:8px}.play-lower.with-lesson .number-key{min-height:50px;border-radius:18px;font-size:1.45rem}.play-lower.with-lesson .number-key.utility{font-size:.9rem}}.reward-screen{display:grid;justify-items:center;text-align:center;gap:clamp(14px,2.4vh,20px)}.reward-screen .mascot{width:clamp(88px,14vw,124px)}.reward-copy{display:grid;gap:6px}.mystery-grid{width:min(100%,620px);display:grid;grid-template-columns:repeat(3,minmax(96px,1fr));gap:clamp(12px,3vw,22px)}.mystery-card{position:relative;min-height:clamp(148px,26vw,214px);aspect-ratio:2 / 3;display:grid;place-items:center;border-radius:30px;border:5px solid #ffffff;color:#fff;font-size:clamp(2.5rem,8vw,4.2rem);background-color:#ff4fa3;background-position:center;background-size:cover;box-shadow:0 18px 30px #507a8238;overflow:hidden;transition:transform .18s ease,filter .18s ease}.mystery-card:not(.revealed):after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.34) 48%,transparent 70%);mix-blend-mode:screen;transform:translate(-120%);animation:card-shimmer 3.4s ease-in-out infinite}.mystery-card.revealed{background-color:#ffffffe6;background-position:center;background-size:cover}.revealed-card-content{width:80%;max-width:148px;aspect-ratio:1;display:grid;place-items:center;padding:6px;border-radius:999px;background:#ffffff9e;box-shadow:inset 0 0 24px #ffffffd1,0 10px 24px #2f657724;overflow:hidden;transition:opacity .14s ease}.revealed-card-content.is-preloaded{opacity:0}.revealed-card-content.is-visible{opacity:1}.reward-reveal{display:grid;gap:12px;justify-items:center;font-size:1.2rem;padding:14px 18px;border-radius:24px;background:#ffffffb8;border:2px solid rgba(255,255,255,.92)}.book-header{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin-bottom:20px}.collection-screen{width:min(100%,1180px)}.sticker-progress{margin-left:auto;min-width:132px;display:grid;justify-items:end;gap:2px;padding:10px 14px;border-radius:18px;color:#173342;background:#ffffffc2;border:2px solid rgba(255,255,255,.9);box-shadow:0 10px 18px #5482891a}.sticker-progress strong{color:#00886f;font-size:1.08rem;font-weight:950}.sticker-progress span{color:#42606a;font-size:.72rem;font-weight:900;text-transform:uppercase}.sticker-book{display:grid;gap:clamp(14px,2.2vw,24px);padding:clamp(12px,3vw,22px);border-radius:24px;background:linear-gradient(90deg,#ffffff6b 49%,#aacddc33,#ffffff6b 51%),#fff8f0c7;border:3px solid rgba(255,255,255,.78)}.sticker-category{display:grid;gap:10px}.sticker-category h3{margin:0;color:#1a4959;font-size:clamp(1.02rem,2vw,1.24rem);font-weight:950}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:clamp(8px,1.6vw,14px)}.sticker-slot{position:relative;min-height:128px;display:grid;justify-items:center;align-content:center;gap:6px;padding:10px;border-radius:18px;background:#ffffff9e;border:2px dashed rgba(109,158,156,.32);overflow:hidden;transition:transform .16s ease,background .16s ease}.sticker-slot>*{position:relative;z-index:1}.sticker-slot.earned{border-style:solid;border-color:#ffffffb8;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.92),transparent 32%),linear-gradient(135deg,#fffffff0,#fff8dce0 55%,#def9ffeb);box-shadow:0 10px 22px #5482891f}.sticker-slot.sparkled{animation:sticker-pop .52s ease}.duplicate-count{position:absolute;top:6px;right:6px;z-index:2;min-width:30px;min-height:25px;display:grid;place-items:center;padding:2px 8px;border-radius:999px;color:#173342;background:linear-gradient(135deg,#ffd22f,#ff4fa3);border:3px solid #ffffff;box-shadow:0 8px 14px #2250602e;font-size:.78rem;font-weight:950}.empty-sticker{width:58px;height:58px;display:grid;place-items:center;border-radius:999px;color:#17856c;background:#c7f5df;font-weight:950;font-size:1.8rem}.collectible-art{display:block;width:min(104px,22vw);aspect-ratio:1;height:auto;object-fit:contain;filter:drop-shadow(0 1px 0 rgba(255,255,255,.88)) drop-shadow(0 8px 12px rgba(32,79,101,.2))}.sticker-slot .collectible-art{width:min(74px,18vw)}.sticker-slot small{max-width:100%;min-height:2.2em;display:-webkit-box;overflow:hidden;font-size:.76rem;font-weight:900;line-height:1.1;text-align:center;-webkit-box-orient:vertical;-webkit-line-clamp:2}.mystery-card .collectible-art{width:100%}.settings-screen{max-width:720px}.settings-groups{display:grid;gap:16px}fieldset{margin:0;padding:18px;border-radius:22px;border:2px solid rgba(255,255,255,.94);background:#ffffffc2}legend{padding:0 8px;color:#007c65;font-weight:950}.audio-settings{display:grid;gap:6px}.audio-settings .toggle-row+.toggle-row{padding-top:8px;border-top:2px solid rgba(102,176,172,.16)}.sync-settings{display:grid;gap:12px}.sync-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.sync-code-input{min-width:0;min-height:48px;padding:0 14px;border:3px solid rgba(255,255,255,.94);border-radius:18px;color:var(--ink);background:#ffffffdb;box-shadow:inset 0 -4px #31b7ff1a;font:900 .95rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:900;letter-spacing:0;outline:none;text-transform:uppercase}.sync-code-input:focus{box-shadow:0 0 0 5px #ffd22f57,inset 0 -4px #31b7ff1a}.sync-code-display{display:grid;gap:8px;padding:12px;border-radius:18px;color:#174457;background:#ffffffb8;border:2px solid rgba(255,255,255,.9)}.sync-code-display>span{color:#007c65;font-size:.78rem;font-weight:950;text-transform:uppercase}.sync-code-chunks{display:flex;flex-wrap:wrap;gap:6px;font-size:clamp(.9rem,2.1vw,1.05rem);line-height:1.25}.sync-code-chunks span{min-width:4ch;padding:6px 7px;border:1px solid rgba(102,176,172,.26);border-radius:10px;background:#ffffffad;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:950;letter-spacing:0;text-align:center}.sync-actions{display:flex;flex-wrap:wrap;gap:10px}.sync-create-action{justify-self:start;min-height:48px;padding-inline:22px}.sync-status{margin:0;color:#42606a;font-size:.9rem;font-weight:850}.toggle-row{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:850}.toggle-row input{appearance:none;flex:0 0 auto;width:58px;height:34px;border-radius:999px;background:#bdebd9;border:3px solid #ffffff;box-shadow:inset 0 0 0 2px #5b8e891a;position:relative;cursor:pointer}.toggle-row input:after{content:"";position:absolute;width:22px;height:22px;top:3px;left:4px;border-radius:999px;background:#fff;box-shadow:0 3px 8px #4c748233;transition:transform .15s ease}.toggle-row input:checked{background:linear-gradient(90deg,#20d889,#ffd22f)}.toggle-row input:checked:after{transform:translate(23px)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segmented button{min-height:48px;border:0;border-radius:999px;background:#ffffffb8;color:#42606a;font-weight:950;cursor:pointer}.segmented button.selected{background:linear-gradient(135deg,#ffd22f,#20d889);color:var(--ink)}.reset-action{color:#324757;background:#fff0a8}@keyframes gentle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.78)}50%{opacity:1;transform:scale(1.16)}}@keyframes friend-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.015)}}@keyframes friend-spot-launch{0%,to{transform:translate(-50%,-50%) scale(1)}18%{transform:translate(-50%,-56%) scale(1.16)}42%{transform:translate(-50%,-68%) scale(1.24)}70%{transform:translate(-50%,-55%) scale(1.12)}}@keyframes unicorn-flower-hop{0%,to{transform:translateY(0) scale(1)}20%{transform:translateY(12px) scale(1.16,.78) rotate(-3deg)}42%{transform:translateY(-76px) scale(1.12,.9) rotate(-10deg)}64%{transform:translateY(0) scale(.88,1.18) rotate(6deg)}82%{transform:translateY(-34px) scale(1.08) rotate(8deg)}}@keyframes unicorn-cloud-puff{0%,to{transform:translateY(0) scale(1)}24%{transform:translateY(-22px) translate(-24px) scale(1.22,.86) rotate(-5deg)}52%{transform:translateY(-38px) translate(28px) scale(.86,1.24) rotate(5deg)}78%{transform:translateY(-10px) translate(0) scale(1.16)}}@keyframes unicorn-star-swish{0%,to{transform:translateY(0) scale(1) rotate(0)}18%{transform:translateY(-34px) scale(1.16,.9) rotate(-13deg)}40%{transform:translateY(-72px) scale(.94,1.22) rotate(15deg)}62%{transform:translateY(-28px) scale(1.18) rotate(-9deg)}82%{transform:translateY(-8px) scale(1.06) rotate(6deg)}}@keyframes unicorn-rainbow-rock{0%,to{transform:translate(0) rotate(0) scale(1)}18%{transform:translate(-24px) rotate(-10deg) scale(1.08)}38%{transform:translate(28px) rotate(12deg) scale(1.14)}58%{transform:translate(-18px) rotate(-8deg) scale(1.08)}78%{transform:translate(10px) rotate(5deg) scale(1.04)}}@keyframes unicorn-sparkle-prance{0%,to{transform:translateY(0) rotate(0) scale(1)}16%{transform:translateY(-42px) rotate(10deg) scale(1.12)}34%{transform:translateY(0) rotate(-8deg) scale(.9,1.16)}54%{transform:translateY(-34px) rotate(-12deg) scale(1.14)}76%{transform:translateY(-8px) rotate(7deg) scale(1.05)}}@keyframes friend-magic-burst{0%{opacity:0;transform:scale(.44) rotate(0)}22%{opacity:1}58%{opacity:.86}to{opacity:0;transform:scale(2.18) rotate(46deg)}}@keyframes friend-particle-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(0)}18%{opacity:1}72%{opacity:.95}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.35) rotate(220deg)}}@keyframes friend-label-pop{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-10px) scale(1.08)}68%{transform:translateY(-4px) scale(1.04)}}@keyframes friend-badge-spin{0%{transform:scale(1) rotate(0)}42%{transform:scale(1.32) rotate(24deg)}to{transform:scale(1) rotate(0)}}@keyframes sticker-pop{0%{transform:scale(1)}45%{transform:scale(1.12) rotate(-2deg)}to{transform:scale(1)}}@keyframes card-shimmer{0%,35%{transform:translate(-130%)}65%,to{transform:translate(130%)}}@keyframes gem-pop{0%{opacity:0;transform:translateY(10px) scale(.62)}70%{opacity:1;transform:translateY(-4px) scale(1.08)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes encouragement-pop{0%{opacity:.2;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gem-join{0%{opacity:0;transform:translate(30px) translateY(-8px) scale(.62)}70%{opacity:1;transform:translate(-3px) translateY(-2px) scale(1.08)}to{opacity:1;transform:translate(0) translateY(0) scale(1)}}@keyframes gem-float-away{0%{transform:translateY(0) scale(1)}to{transform:translateY(-26px) rotate(10deg) scale(.82)}}@keyframes gem-stay-glow{0%{transform:scale(.82)}70%{transform:scale(1.08);filter:drop-shadow(0 1px 0 rgba(255,255,255,.9)) drop-shadow(0 0 14px rgba(255,210,47,.8))}to{transform:scale(1)}}@keyframes group-appear{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes success-confetti-fall{0%{opacity:0;transform:translateZ(0) rotate(0) scale(.7)}12%{opacity:1}78%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),112vh,0) rotate(var(--rotate)) scale(1)}}@keyframes success-rainbow-glow{0%,to{background:#fff0}32%{background:#ffffff1f}}@keyframes success-rainbow-sweep{0%{opacity:0;transform:translate(-32vw) rotate(-10deg) scaleX(.62)}18%{opacity:.95}to{opacity:0;transform:translate(148vw) rotate(-10deg) scaleX(1)}}@keyframes success-starburst-pop{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translate(0) scale(.35)}16%{opacity:1}72%{opacity:.92}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translate(42vw) scale(1.25)}}@keyframes success-gem-shower{0%{opacity:0;transform:translateZ(0) rotate(0) scale(.7)}14%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),108vh,0) rotate(var(--gem-rotate)) scale(1.08)}}@media(max-width:760px){.app-shell{padding:10px;align-items:stretch}.screen-panel{align-self:center;border-radius:24px}.brand-lockup{grid-template-columns:1fr;text-align:center;justify-items:center;padding-top:22px}.welcome-actions{justify-content:center}.map-screen{align-self:stretch}.map-header{align-self:start;flex-direction:column;align-items:stretch}.map-header-actions{justify-content:space-between}.map-board{grid-template-columns:1fr;min-height:0;border-radius:24px}.zone-grid{grid-template-columns:1fr}.friend-meadow{min-height:1080px}.friend-spot{--friend-size: min(40vw, 158px)}.friend-addition{left:31%;top:13%}.friend-subtraction{left:70%;top:29%}.friend-multiplication{left:32%;top:47%}.friend-division{left:70%;top:62%}.friend-mixed{left:50%;top:87%}.friend-label{width:min(150px,112%);padding:8px 8px 9px}.division-stage{grid-template-columns:1fr}.multiplication-rows{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-gem-row{min-height:44px;padding:5px}.multiplication-stage .lesson-gem{width:clamp(10px,3vw,15px)}.division-source{min-height:0;grid-template-columns:auto auto auto;align-items:center;justify-content:center;gap:8px}.division-source-visual{width:58px}.division-source-gems .lesson-gem{width:8px}.division-source strong{font-size:1.9rem}.division-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.division-cloud{max-width:94px}.division-more-groups{min-height:70px}.zone-card-main{grid-template-columns:1fr}.stage-detail-panel{border-radius:22px}.play-screen{min-height:auto;grid-template-rows:auto auto auto;align-content:start;align-items:start;padding-bottom:max(14px,env(safe-area-inset-bottom))}.question-stage{position:relative;width:min(100%,660px);display:grid;grid-template-columns:1fr;gap:0;justify-items:center}.question-stage:after{display:none}.play-character-wrap{--play-character-box: clamp(68px, 16vw, 96px);position:relative;z-index:2;top:auto;left:auto;margin-bottom:-6px}.question-panel{margin-top:0}.answer-entry{grid-template-columns:1fr}.submit-answer,.help-answer{min-height:58px}.mystery-grid{gap:10px}.sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sticker-slot{min-height:126px}.book-header{align-items:flex-start}}@media(min-width:761px)and (max-height:820px){.app-shell.screen-play{padding-block:12px}.play-screen{min-height:auto;grid-template-rows:auto auto auto;align-content:start;align-items:start;gap:10px;padding-bottom:max(14px,env(safe-area-inset-bottom))}.play-hud{grid-template-columns:52px minmax(0,1fr) 52px 52px;gap:10px}.icon-button{width:50px;height:50px}.nav-button-icon{width:46px;height:46px}.question-stage{--play-character-size: 88px;--question-stage-gap: 18px}.play-character-art{width:auto;height:var(--play-character-box);max-height:var(--play-character-box)}.question-panel{width:min(100%,660px);padding:14px 18px;border-radius:28px}.support-message{margin-bottom:6px;font-size:.96rem}.question-text{font-size:clamp(3.1rem,10vh,5rem)}.answer-form{width:min(100%,720px);gap:9px}.answer-entry{grid-template-columns:minmax(0,1fr) minmax(238px,.44fr);gap:10px}.answer-input,.submit-answer,.help-answer{min-height:70px;border-radius:24px}.answer-input{border-width:4px;font-size:clamp(2.6rem,9vh,4.2rem)}.number-pad{gap:8px}.number-key{min-height:44px;border-radius:18px;font-size:1.45rem}.number-key.utility{font-size:.9rem}}@media(max-width:480px){.play-hud{grid-template-columns:48px minmax(0,1fr) 48px 48px;gap:8px}.icon-button{width:46px;height:46px;border-radius:16px}.nav-button-icon{width:44px;height:44px}.mascot{width:78px}.question-panel{padding:16px}.question-text{font-size:clamp(3rem,18vw,4.8rem)}.answer-input,.submit-answer,.help-answer{border-radius:24px}.sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sticker-slot{min-height:112px;padding:8px 6px}.sticker-slot .collectible-art{width:min(66px,20vw)}.sticker-progress{width:100%;justify-items:start;margin-left:0}.friend-meadow{min-height:1060px}.friend-spot{--friend-size: min(43vw, 150px)}.friend-label{width:min(142px,116%)}.friend-label .zone-name{font-size:1.06rem}.friend-label .stage-range{font-size:.68rem}.sync-code-row{grid-template-columns:1fr}.sync-actions,.sync-create-action{width:100%}.multiplication-rows{grid-template-columns:1fr}.lesson-gem-row{justify-content:center}.mystery-card{min-height:130px}.stage-list{grid-template-columns:1fr}.map-header-actions .secondary-action{min-width:0;padding-inline:14px}}@media(max-width:480px)and (max-height:700px){.app-shell.screen-play{padding-block:6px}.play-screen{min-height:auto;grid-template-rows:auto auto auto;align-content:start;align-items:start;gap:7px}.play-hud{grid-template-columns:42px minmax(0,1fr) 42px 42px;gap:6px}.icon-button{width:42px;height:42px}.nav-button-icon{width:40px;height:40px}.mystery-progress{gap:7px;padding:6px 9px 6px 7px}.mystery-progress-card{width:28px;border-radius:8px;border-width:2px;font-size:.86rem}.mystery-progress-label{font-size:.78rem}.mystery-progress-gems{gap:4px}.mystery-progress-gem{width:16px;border-width:2px}.play-character-wrap{--play-character-box: 62px;top:auto;left:auto;margin-bottom:-4px}.play-character-art{width:auto;height:var(--play-character-box);max-height:var(--play-character-box)}.question-panel{margin-top:0;padding:12px 14px;border-radius:24px}.support-message{margin-bottom:4px;font-size:.88rem}.question-text{font-size:3.1rem}.answer-form{gap:7px}.answer-entry{grid-template-columns:1fr;gap:8px}.answer-input,.submit-answer,.help-answer{min-height:56px;border-radius:20px}.answer-input{border-width:4px;font-size:2.8rem}.submit-answer,.help-answer{font-size:1rem}.number-pad{gap:7px}.number-key{min-height:43px;border-radius:16px;font-size:1.35rem}.number-key.utility{font-size:.86rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.friend-spot.activated{animation:friend-spot-launch .65s ease-out!important}.friend-addition.activated .friend-creature{animation:unicorn-flower-hop .65s cubic-bezier(.2,.9,.32,1.2)!important}.friend-subtraction.activated .friend-creature{animation:unicorn-cloud-puff .65s ease-in-out!important}.friend-multiplication.activated .friend-creature{animation:unicorn-star-swish .65s ease-in-out!important}.friend-division.activated .friend-creature{animation:unicorn-rainbow-rock .65s ease-in-out!important}.friend-mixed.activated .friend-creature{animation:unicorn-sparkle-prance .65s ease-in-out!important}.friend-spot.activated:after{animation:friend-magic-burst .65s ease-out!important}.friend-spot.activated .friend-action span{animation:friend-particle-pop .52s ease-out both!important}.friend-spot.activated .friend-label{animation:friend-label-pop .65s ease-out!important}.friend-spot.activated .stage-status-badge{animation:friend-badge-spin .65s ease-out!important}.success-confetti span{animation:success-confetti-fall 1.8s cubic-bezier(.14,.72,.22,1) both!important;animation-delay:var(--delay)!important}.success-rainbow-sweep{animation:success-rainbow-glow 1.65s ease-out both!important}.success-rainbow-sweep span{animation:success-rainbow-sweep 1.7s ease-out both!important}.success-starburst span{animation:success-starburst-pop 1.65s ease-out both!important;animation-delay:var(--delay)!important}.success-gem-shower span{animation:success-gem-shower 1.75s cubic-bezier(.16,.72,.2,1) both!important;animation-delay:var(--delay)!important}}
