@font-face{font-family:Fredoka;font-weight:600;font-display:swap;src:url(/fonts/fredoka-600.woff2)format("woff2")}:root{--bg:#dff3ff;--ink:#3b3b3b;--tile:#fff;--shadow:#b9d6e8;--slot:#d9d0bd;--board:min(64vmin, 360px, calc(100dvh - 190px));--tray-piece:clamp(96px, 14vmin, 116px);--topbar-h:96px;--screen-pad:12px;--screen-gap:8px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--motion-press:.1s;--motion-settle:.2s;--motion-feedback:.36s;--ease-settle:cubic-bezier(.2, .8, .25, 1)}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--ink);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.art{pointer-events:none;-webkit-user-drag:none;max-width:100%;height:auto;display:block}.tile-art{object-fit:contain;width:82%;height:82%}.letter{color:#1d2a44;font-family:Fredoka,system-ui,sans-serif;font-weight:600}.screen{gap:var(--screen-gap);padding:calc(var(--screen-pad) + var(--safe-top)) calc(var(--screen-pad) + var(--safe-right)) calc(var(--screen-pad) + var(--safe-bottom)) calc(var(--screen-pad) + var(--safe-left));grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}.screen.game{touch-action:none}.screen-bg{z-index:-1;position:fixed;inset:0;overflow:hidden}.screen-bg .art{object-fit:cover;width:100%;height:100%}.topbar{min-height:var(--topbar-h);justify-content:space-between;align-items:center;display:flex}.stage{place-items:center;min-height:0;display:grid}.tile{background:var(--tile);min-width:96px;min-height:96px;color:inherit;box-shadow:0 8px 0 var(--shadow);cursor:pointer;will-change:transform;border:0;border-radius:28px;place-items:center;padding:8px;font-size:clamp(56px,14vmin,140px);display:grid;position:relative}.tile:active{box-shadow:0 2px 0 var(--shadow);transform:translateY(6px)}.tile-content.wiggle{animation:wiggle var(--motion-feedback) ease}.tile-content.bounce{animation:bounce var(--motion-feedback) ease}.tile-content.pulse{animation:1s ease-in-out infinite pulse}.tile.hint{outline-offset:2px;background:#e8fff4;outline:5px solid #157b66}.tile.success{background:#e8fff4;box-shadow:0 8px #71bea2}.tile:disabled{cursor:default}.tile:focus-visible,.tile-small:focus-visible,button:focus-visible{outline-offset:4px;outline:4px solid #155ab6}.success-mark{color:#fff;background:#157b66;border-radius:50%;place-items:center;width:32px;height:32px;font:600 24px Fredoka,sans-serif;display:grid;position:absolute;top:8px;right:8px}.game-tools{gap:6px;display:grid}.game-tools .tile-small{border-radius:16px;width:64px;height:46px}.game-tools .icon-art{width:36px;height:36px}.tile-small{background:var(--tile);width:96px;height:96px;box-shadow:0 6px 0 var(--shadow);cursor:pointer;border:0;border-radius:24px;place-items:center;font-size:48px;display:grid;position:relative}.tile-small:active{box-shadow:0 2px 0 var(--shadow);transform:translateY(4px)}.tile-content{place-items:center;width:100%;height:100%;display:grid}.icon-art{object-fit:contain;width:72%;height:72%}.tile-label{color:#1d2a44;font-family:Fredoka,system-ui,sans-serif;font-size:clamp(20px,4vmin,34px);font-weight:600}@keyframes wiggle{0%,to{transform:translate(0)}25%{transform:translate(-12px)rotate(-4deg)}75%{transform:translate(12px)rotate(4deg)}}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.unlock{place-items:center;display:grid;position:fixed;inset:0}.unlock-tile{grid-template-rows:1fr auto;width:min(70vmin,360px);height:min(70vmin,360px)}.unlock-tile .art{object-fit:contain;width:70%;height:70%}.unlock-text{color:#1d2a44;font-family:Fredoka,system-ui,sans-serif;font-size:28px;font-weight:600}.star-strip{align-items:center;gap:6px;display:flex}.star-slot .art{width:clamp(36px,7vmin,56px);height:auto;transition:filter .3s,opacity .3s}.star-slot[data-filled=false] .art{filter:grayscale();opacity:.35}.badge{color:#fff;background:#ef476f;border-radius:16px;place-items:center;min-width:32px;height:32px;padding:0 8px;font-family:Fredoka,system-ui,sans-serif;font-size:18px;font-weight:600;display:grid;position:absolute;top:-6px;right:-6px}.topbar-right{gap:12px;display:flex}.hub-stage{grid-template-columns:1fr auto;align-items:end;gap:12px}.hub-mascot .art{height:clamp(120px,28vmin,260px)}@media (max-width:560px){.hub-stage{grid-template-columns:1fr}.hub-mascot .art{height:clamp(96px,16vmin,140px)}}.menu-grid{width:min(90vw, 80vh, calc(100vh - var(--topbar-h) - 2 * var(--screen-pad) - var(--screen-gap) - var(--safe-top) - var(--safe-bottom)), 720px);aspect-ratio:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.menu-grid .tile{padding-bottom:12px}.menu-grid .tile .tile-content{grid-template-rows:1fr auto}.count-display{text-align:center;min-width:96px;font-family:Fredoka,system-ui,sans-serif;font-size:64px;font-weight:600}.count-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));justify-items:center;gap:12px;width:min(92vw,900px);display:grid}.count-grid .tile{aspect-ratio:1;width:100%;max-width:220px;font-size:clamp(48px,10vmin,110px)}.count-grid .tile.counted{background:#e8fff4}.count-marker{color:#fff;background:#157b66;border-radius:50%;place-items:center;width:32px;height:32px;font:600 24px Fredoka,sans-serif;display:grid;position:absolute;bottom:5px;right:5px}.count-marker.pending{color:#157b66;background:#fff;border:2px dashed #157b66}.count-grid .speaking{outline-offset:2px;outline:4px solid #157b66}.choice-stage{align-content:center;gap:20px}.visual-prompt{place-items:center;display:grid}.prompt-art{background:#fff9df;border:3px solid #e5c775;border-radius:24px;place-items:center;width:clamp(96px,18vmin,140px);height:clamp(96px,18vmin,140px);font-size:clamp(64px,14vmin,110px);line-height:1;display:grid}.match-arrow{color:#526777;font-size:28px;line-height:1}@media (orientation:landscape) and (max-height:520px){.choice-stage:has(.visual-prompt){grid-template-columns:110px minmax(0,1fr)}.choice-stage:has(.visual-prompt) .choice-grid{width:100%}.choice-stage .tile{max-width:40vmin}.match-arrow{transform:rotate(-90deg)}}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));justify-items:center;gap:16px;width:min(92vw,900px);display:grid}.choice-grid .tile{aspect-ratio:1;width:100%;max-width:220px;font-size:clamp(64px,18vmin,180px);font-weight:800}.puzzle{place-items:center;gap:16px;display:grid}.board{width:var(--board);height:var(--board);box-shadow:0 0 0 4px var(--slot);background:#fff;border-radius:24px;position:relative}.board-ghost{opacity:.2;pointer-events:none;position:absolute;inset:0}.board-ghost .art{object-fit:contain;width:100%;height:100%}.slot{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.slot.shape{width:var(--tray-piece);height:var(--tray-piece);border-radius:18px}.slot.quad{width:50%;height:50%}.slot.quad:not(.filled):after{content:"";border:3px dashed var(--slot);pointer-events:none;border-radius:8px;position:absolute;inset:3px}.slot-art{width:100%;height:100%;display:grid}.slot-art.arriving{visibility:hidden}.silhouette{fill:var(--slot)}.slot.hint{outline-offset:-2px;background:#e8fff466;outline:4px solid #157b66}.slot.matching .silhouette{fill:#91cfb5}.slot.near{box-shadow:0 0 0 7px #ffd166}.tray{grid-template-columns:repeat(var(--tray-columns), var(--tray-piece));gap:8px;display:grid}.tray-cell{width:var(--tray-piece);height:var(--tray-piece)}.piece{touch-action:none;cursor:grab;background:0 0;border:0;border-radius:16px;width:100%;height:100%;padding:0;display:block;position:relative}.piece[aria-pressed=true]{outline-offset:2px;outline:4px solid #157b66}.piece.dragging,.piece.settling{z-index:10;outline:none}.piece.dragging{cursor:grabbing}.piece.placed-piece{visibility:hidden}.piece-motion,.piece-art{width:100%;height:100%;display:grid}.piece-motion{transform:translate(var(--dx), var(--dy))}.piece-motion.moving{animation:piece-settle .22s var(--ease-settle) both}.piece-art.wiggle{animation:wiggle var(--motion-feedback) ease}@keyframes piece-settle{0%{transform:translate(var(--from-x), var(--from-y)) scale(1)}to{transform:translate(var(--to-x), var(--to-y)) scale(var(--to-scale))}}.piece svg,.slot svg{width:100%;height:100%}.puzzle-guide{z-index:12;pointer-events:none;opacity:0;animation:1.8s ease-in-out infinite guide-drag;display:grid;position:fixed}.puzzle-guide svg{width:100%;height:100%}.guide-hand{filter:drop-shadow(0 2px 2px #1d2a4450);font-size:48px;position:absolute;bottom:-24px;right:-6px}@keyframes guide-drag{0%,10%{opacity:0;transform:translate(0)}20%{opacity:.85;transform:translate(0)}75%,90%{opacity:.85;transform:translate(var(--guide-x), var(--guide-y)) scale(var(--guide-scale))}to{opacity:0;transform:translate(var(--guide-x), var(--guide-y)) scale(var(--guide-scale))}}.quad-window{background:0 0;width:100%;height:100%;position:relative;overflow:hidden}.piece .quad-window{background:#fff;border-radius:12px}.quad-window img.full{width:200%;height:200%;left:calc(-100% * var(--qx));top:calc(-100% * var(--qy));object-fit:contain;position:absolute}@media (orientation:landscape) and (max-height:520px){.puzzle{grid-auto-flow:column;gap:24px}}.celebration{pointer-events:none;z-index:20;position:fixed;inset:0;overflow:hidden}.celebration-star{place-items:center;animation:.6s bounce;display:grid;position:absolute;inset:0}.celebration-star .art{width:30vmin;height:30vmin}.confetti{top:-20px;left:var(--x);background:var(--c);width:14px;height:22px;animation:fall var(--d) ease-in forwards;border-radius:3px;position:absolute}@keyframes fall{to{transform:translateY(110vh) rotate(var(--r));opacity:.6}}.mascot{pointer-events:none;place-items:center;animation:.35s pop;display:grid}.mascot .art{width:auto;height:clamp(96px,16vmin,140px)}@keyframes pop{0%{transform:scale(.85)}60%{transform:scale(1.06)}to{transform:scale(1)}}.overlay{z-index:30;background:#1d2a4473;place-items:center;display:grid;position:fixed;inset:0}.sticker-card{background:var(--tile);box-shadow:0 10px 0 var(--shadow);border-radius:32px;grid-auto-flow:column;align-items:center;gap:24px;padding:24px 32px;animation:.4s pop;display:grid}.sticker-card .mascot .art{height:clamp(140px,30vmin,280px)}.sticker-badge{aspect-ratio:1;width:clamp(120px,26vmin,240px);position:relative}.sticker-badge .art{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.sticker-badge .badge-item{width:64%;height:64%;inset:18%}.sticker-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;width:min(92vw,900px);max-height:100%;padding:4px;display:grid;overflow-y:auto}.sticker-slot{cursor:pointer;background:0 0;border:0;min-width:96px;min-height:96px;padding:0}.sticker-slot .sticker-badge{width:100%}.sticker-slot.locked{opacity:.4;filter:grayscale()}.sticker-slot .sticker-badge.wiggle{animation:.45s wiggle}@media (max-width:560px){.sticker-card{grid-auto-flow:row}}@media (prefers-reduced-motion:reduce){.tile,.tile-content,.piece,.piece-motion,.piece-art,.slot,.confetti,.celebration-star,.mascot,.sticker-card,.sticker-slot{animation:none!important}.piece-motion.moving{transform:translate(var(--to-x), var(--to-y)) scale(var(--to-scale))}.puzzle-guide{opacity:.65;animation:none}}.practice-settings{background:#fff9eb}.practice-settings .settings-content{justify-self:center;width:min(100%,700px);padding:8px 8px 32px;overflow-y:auto}.practice-settings .topbar h1{font-size:clamp(24px,5vw,36px)}.level-settings label{gap:8px;margin:20px 0;display:grid}.level-settings select{width:100%;min-height:48px;font:inherit;background:#fff;border:2px solid #c6c4b5;border-radius:12px;padding:8px}@supports (appearance:base-select) and selector(select::picker(select)){.level-settings select{appearance:base-select;font:inherit;color:var(--ink)}.level-settings select::picker(select){appearance:base-select;font:inherit;color:var(--ink)}.level-settings select::picker(select){min-inline-size:anchor-size(width);background:#fff;border:2px solid #c6c4b5;border-radius:12px;max-block-size:min(60dvh,400px);max-inline-size:calc(100vw - 32px);overflow-y:auto;box-shadow:0 6px 18px #3b3b3b26}.level-settings option{min-height:48px;font:inherit;white-space:normal;padding:10px 12px;line-height:1.5}.level-settings option:checked{background:#e0f6e9;font-weight:600}.level-settings option:hover,.level-settings option:focus-visible{outline-offset:-2px;background:#dff3ff;outline:2px solid #157b66}}.letter-settings{grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:8px;display:grid}.letter-settings label{position:relative}.letter-settings input{opacity:0;position:absolute}.letter-settings span{background:#fff;border:2px solid #cac8bb;border-radius:10px;place-items:center;min-height:48px;font:24px Fredoka,sans-serif;display:grid}.letter-settings input:checked+span{background:#e0f6e9;border-color:#157b66}.letter-settings input:focus-visible+span{outline:4px solid #155ab6}.practice-settings fieldset{border:0;margin-bottom:24px;padding:0}.text-button{color:#1d2a44;cursor:pointer;background:#fff;border:2px solid #91bda9;border-radius:14px;min-height:48px;padding:8px 16px;font:600 16px system-ui,sans-serif}.practice-open{bottom:calc(12px + var(--safe-bottom));right:calc(12px + var(--safe-right));position:absolute}.puzzle.halves .slot.quad{height:100%}.puzzle.halves .tray-cell{height:calc(var(--tray-piece) * 2)}.screen.game{--caption-space:88px;grid-template-rows:auto auto minmax(0,1fr)}.game-prompt{flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.question-caption{color:#1d2a44;text-align:center;text-wrap:balance;background:#fff9df;border-radius:20px;max-width:min(100%,620px);margin:0;padding:10px 20px;font-family:Fredoka,system-ui,sans-serif;font-size:clamp(22px,4vmin,30px);font-weight:600;line-height:1.25}@media (orientation:landscape) and (max-height:520px){.screen.game{--caption-space:12px}.game-prompt{flex-direction:row;justify-content:center;gap:20px}.question-caption{padding:6px 16px;font-size:20px}}.game-progress{justify-self:center;height:28px}.game-progress .star-strip{gap:8px}.game-progress .star-slot{width:24px;height:24px}.game-progress.earned .star-slot[data-filled=true]{animation:.65s star-land}.earned-star{z-index:21;pointer-events:none;width:36px;height:36px;animation:star-travel .65s var(--ease-settle) both;position:fixed}@keyframes star-travel{0%{opacity:0;transform:scale(.6)}20%{opacity:1}to{transform:translate(var(--star-x), var(--star-y)) scale(.66);opacity:0}}@keyframes star-land{80%{transform:scale(1)}90%{transform:scale(1.3)}to{transform:scale(1)}}.sticker-card{z-index:22;flex-direction:column;gap:16px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;display:flex;position:relative;overflow:auto}.sticker-reveal{justify-content:center;align-items:center;gap:16px;display:flex}.reward-actions{gap:10px;display:flex}.reward-actions button{color:#1d2a44;cursor:pointer;background:#e8fff4;border:2px solid #9acdb7;border-radius:20px;place-items:center;min-width:88px;min-height:96px;padding:10px;font:600 18px Fredoka,sans-serif;display:grid}.reward-actions button .art,.reward-actions button span{width:48px;height:48px;font-size:40px}@media (orientation:landscape) and (max-height:520px){.sticker-card{flex-direction:row}.sticker-reveal .mascot{display:none}}@media (prefers-reduced-motion:reduce){.earned-star,.confetti{display:none}.game-progress .star-slot{animation:none!important}}.silhouette .prompt-art .art{filter:brightness(0);opacity:.7}.pair .prompt-art{border-style:dashed}.count-stage.basket-round{align-content:center;gap:20px}.count-basket{background:#f5d3a0;border:4px solid #bc8552;border-top:8px solid #a16d3c;border-radius:12px 12px 24px 24px;grid-template-columns:repeat(5,48px);gap:6px;padding:10px 14px;display:grid}.basket-space{background:#fff9e8;border-radius:10px;place-items:center;width:48px;height:48px;display:grid;position:relative}.basket-space>span{color:#714921;background:#fff9e8;border-radius:6px;font:20px Fredoka,sans-serif;position:absolute;bottom:0;right:2px}.basket-space .art{object-fit:contain;width:90%;height:90%;animation:.4s .2s both pop}.basket-round .counted .tile-art{opacity:.18}.basket-flight{z-index:15;pointer-events:none;width:48px;height:48px;animation:basket-collect .4s var(--ease-settle) both;position:fixed}@keyframes basket-collect{to{transform:translate(var(--basket-x), var(--basket-y));opacity:.5}}.sticker-stage{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:16px;display:grid}.scene-area{text-align:center;width:min(100%,660px)}.scene-instruction{margin:0 0 10px;font-size:16px}.sticker-scene{background:linear-gradient(#dff5ff 0 43%,#d8edb7 43% 100%);border:3px solid #b0c990;border-radius:26px;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px;padding:12px;display:grid}.scene-space{color:#587763;cursor:pointer;background:#ffffff45;border:2px dashed #678d6d70;border-radius:18px;place-items:center;min-height:96px;padding:2px;font-size:32px;display:grid}.scene-space .art{object-fit:contain;width:84px;height:84px;animation:.3s pop}.sticker-slot[aria-pressed=true]{border-radius:24px;outline:4px solid #157b66}@media (min-width:760px){.sticker-stage{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(310px,1fr) minmax(320px,1fr)}.sticker-stage .sticker-grid{width:100%}}@media (orientation:landscape) and (max-height:520px){.count-basket{grid-template-columns:repeat(10,42px);gap:4px;padding:5px 10px}.basket-space{width:42px;height:42px}.count-stage.basket-round{gap:12px}.count-stage .count-grid .tile{max-width:110px}.sticker-stage{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr 1fr}.scene-space{min-height:68px}.scene-space .art{width:58px;height:58px}}@media (prefers-reduced-motion:reduce){.basket-flight{display:none}.basket-space .art,.scene-space .art{animation:none}}.hub-mascot{margin-bottom:56px}.puzzle{--board:min(64vmin, 360px, calc(100dvh - 2 * var(--tray-piece) - clamp(96px, 16vmin, 140px) - 104px - var(--caption-space)))}.practice-settings .screen-bg{opacity:.12}@media (orientation:landscape) and (max-height:520px){.puzzle{--board:min(64vmin, 360px, calc(100dvh - 190px - var(--caption-space)))}.count-stage.basket-round{grid-template-columns:auto minmax(0,1fr);gap:16px}.basket-round .count-basket{grid-template-columns:repeat(3,42px)}.basket-round .count-grid{grid-template-columns:repeat(5,96px);justify-content:center;gap:8px;width:100%}.basket-round .count-grid .tile{width:96px}}.completed-picture{pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.completed-picture .art{object-fit:contain;width:100%;height:100%}.hub{grid-template-rows:auto minmax(0,1fr) auto}.hub-stage{grid-template-columns:1fr;align-items:center}.hub .menu-grid{aspect-ratio:auto;grid-template-rows:repeat(3,minmax(96px,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:min(100%,840px);height:100%;max-height:570px}.hub .menu-grid .tile{border-radius:22px;min-width:96px;min-height:96px;padding:6px 4px 8px}.hub .tile-label{text-align:center;font-size:clamp(16px,2.5vmin,24px);line-height:1.15}.menu-illustration{place-items:center;width:100%;height:100%;min-height:0;display:grid;position:relative}.menu-illustration .art{object-fit:contain;width:86%;height:94%;position:absolute}.menu-detail{color:#344631;background:#fff4c9;border-radius:9px;padding:3px 7px;font:600 clamp(15px,2.5vmin,22px) Fredoka,sans-serif;position:absolute;bottom:2px;right:5px;box-shadow:0 2px #dac98d}.hub-footer{justify-content:space-between;align-items:flex-end;gap:16px;padding-top:6px;display:flex}.hub-footer .practice-open{position:static;transform:none}.hub-footer .hub-mascot{margin:0}.hub-footer .hub-mascot .art{height:58px}.learning-game .topbar{min-height:72px}.learning-game .topbar>.tile-small{width:72px;height:72px}.activity-heading{align-items:center;gap:10px;display:flex}.activity-heading .mascot .art{height:72px}.activity-heading h1{color:#1d2a44;margin:0;font:600 clamp(20px,3vmin,30px) Fredoka,sans-serif}.learning-content{touch-action:pan-y;overscroll-behavior:contain;flex-direction:column;align-items:center;gap:12px;min-height:0;padding:12px 8px 8px;display:flex;overflow:auto}.learning-content>:first-child{margin-top:auto}.learning-status{text-align:center;color:#254d42;max-width:600px;min-height:24px;margin:0 0 auto;font-size:16px;font-weight:600}.activity-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;font-weight:600;display:flex}.text-button:disabled{opacity:.55;cursor:default}.text-button[aria-pressed=true]{background:#e0f6e9;border-color:#157b66}.word-activity,.sum-activity{justify-items:center;gap:24px;width:min(100%,650px);display:grid}.word-picture{aspect-ratio:1;background:#fff9df;border-radius:40px;place-items:center;width:clamp(160px,30vmin,260px);display:grid}.word-picture .art{object-fit:contain;width:90%;height:90%}.word-options,.sum-options{justify-content:center;gap:14px;width:100%;display:flex}.word-options .tile,.sum-options .tile{color:#1d2a44;flex:1;min-width:0;max-width:180px;min-height:100px;font:600 clamp(32px,6vmin,64px) Fredoka,sans-serif}.sum-equation{color:#1d2a44;font-variant-numeric:tabular-nums;font:600 clamp(44px,9vmin,80px) Fredoka,sans-serif}.sum-equation>span{text-align:center;background:#fff9df;border-radius:16px;min-width:1.2em;display:inline-block}.sum-objects{background:#ffffffc9;border-radius:24px;justify-content:center;align-items:center;gap:14px;width:100%;padding:12px;display:flex}.apple-group{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.apple{width:clamp(36px,8vmin,70px);height:clamp(36px,8vmin,70px);position:relative}.apple.removed .art{opacity:.25}.apple.removed:after{content:"";background:#85514a;border-radius:4px;width:90%;height:4px;position:absolute;top:50%;left:5%;transform:rotate(-45deg)}.sum-sign{font:600 32px Fredoka,sans-serif}.trace-activity{justify-items:center;gap:16px;width:100%;display:grid}.trace-board{aspect-ratio:1;touch-action:none;cursor:crosshair;background:#fffef5;border:3px solid #d9d0bd;border-radius:28px;width:min(100%,380px,100dvh - 300px);min-width:240px;display:block}.trace-board:focus-visible{outline-offset:3px;outline:4px solid #155ab6}.trace-lines{stroke:#e4dfcb;stroke-width:1px;stroke-dasharray:5 5}.trace-track,.trace-dashes,.trace-ink{fill:none;stroke-linecap:round;stroke-linejoin:round}.trace-track{stroke:#d9e4de;stroke-width:26px}.trace-dashes{stroke:#7f9b8a;stroke-width:2px;stroke-dasharray:3 7}.trace-ink{stroke:#21856f;stroke-width:18px}.trace-target{fill:#157b66;stroke:#fff;stroke-width:3px}.trace-number{fill:#fff;text-anchor:middle;pointer-events:none;font:600 12px system-ui,sans-serif}.trace-pen{fill:#f1b947;stroke:#1d2a44;stroke-width:1px;pointer-events:none}.picture-activity{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;width:min(100%,880px);display:grid}.picture-board-column,.picture-tray-column{justify-items:center;gap:16px;min-width:0;display:grid}.picture-controls{grid-column:1/-1;width:100%}.picture-board,.picture-tray{grid-template-columns:repeat(var(--picture-size), minmax(0, 1fr));aspect-ratio:1;width:100%;display:grid}.picture-board{background:#fffdf3;border:3px solid #bbbc9f;border-radius:8px;position:relative}.picture-reference,.picture-finished{pointer-events:none;position:absolute;inset:0;overflow:hidden}.picture-reference{opacity:0}.picture-reference.shown{opacity:.4}.picture-slot{aspect-ratio:1;cursor:pointer;background:0 0;border:0;min-width:0;min-height:0;padding:0;position:relative}.picture-slot.filled{z-index:1}.picture-slot.picture-hint{z-index:2}.picture-hint .jigsaw-edge{fill:#99d9b680;stroke:#157b66;stroke-width:3px}.picture-tray{gap:3px}.picture-piece{aspect-ratio:1;cursor:grab;touch-action:none;background:0 0;border:0;border-radius:12px;min-width:0;padding:0;display:block}.picture-piece[aria-pressed=true]{background:#e0f6e980}.picture-piece[aria-pressed=true] .jigsaw-edge{stroke:#157b66;stroke-width:3px}.picture-piece.picture-placed{visibility:hidden}.puzzle-picture{pointer-events:none;border-radius:inherit;width:100%;height:100%;display:block;overflow:hidden}.picture-drag{z-index:15;pointer-events:none;filter:drop-shadow(0 6px 4px #254d4244);width:80px;height:80px;position:fixed}.jigsaw-piece{pointer-events:none;width:100%;height:100%;display:block;overflow:visible}.jigsaw-edge{fill:none;stroke:#8d9e88;stroke-width:1px;stroke-linejoin:round}.jigsaw-tray{filter:drop-shadow(0 2px 1px #526e5c66)}.jigsaw-tray .jigsaw-edge{stroke:#fffdf3;stroke-width:1.5px}.jigsaw-placed .jigsaw-edge{stroke:#fffdf399}.picture-finished{z-index:3}.maze-activity{justify-content:center;align-items:center;gap:24px;width:100%;display:flex}.maze-board{grid-template-columns:repeat(var(--maze-size), 1fr);aspect-ratio:1;touch-action:none;background:#fffdf3;border:3px solid #57866c;border-radius:12px;width:min(100%,390px);min-width:264px;padding:4px;display:grid}.maze-cell{aspect-ratio:1;cursor:pointer;color:#157b66;background:0 0;border:2px solid #57866c;place-items:center;min-width:0;min-height:0;padding:0;font-size:24px;display:grid;position:relative}.maze-cell.visited{background:#eff7de}.maze-cell .art{object-fit:contain;width:90%;height:90%}.maze-crumb{background:#88ad72;border-radius:50%;width:10px;height:10px}.maze-cell.maze-hint{background:#b8ebce}.maze-tools{justify-items:center;gap:20px;display:grid}.direction-pad{grid-template-columns:repeat(3,52px);gap:6px;display:grid}.direction-pad .text-button{min-height:52px;padding:4px;font-size:28px}.direction-up{grid-area:1/2}.direction-left{grid-area:2/1}.direction-down{grid-area:2/2}.direction-right{grid-area:2/3}@media (max-width:600px){.activity-heading{flex-direction:column;gap:0}.activity-heading .mascot .art{height:48px}.activity-heading h1{font-size:20px}.picture-activity{grid-template-columns:minmax(0,1fr);gap:16px;max-width:340px}.picture-board,.picture-tray{max-width:min(100%, max(var(--picture-min), calc((100dvh - 370px) / 2)))}.picture-controls{gap:8px}.picture-controls .text-button{padding-inline:10px;font-size:14px}.maze-activity{flex-direction:column;gap:16px}.maze-tools{align-items:center;gap:16px;display:flex}}@media (orientation:landscape) and (max-height:520px){.hub .topbar{height:64px;min-height:64px}.hub .topbar .tile-small{border-radius:18px;width:64px;height:58px}.hub .menu-grid{grid-template-rows:repeat(2,minmax(96px,1fr));grid-template-columns:repeat(5,minmax(96px,1fr));gap:10px;max-width:800px}.hub-footer{padding-top:0}.hub-footer .hub-mascot .art{height:42px}.learning-game .topbar{height:56px;min-height:56px}.learning-game .topbar>.tile-small{border-radius:16px;width:56px;height:52px}.learning-game .activity-heading .mascot .art{height:56px}.learning-game .game-tools{display:flex}.learning-content{padding-top:4px}.word-activity{gap:28px;display:flex}.word-picture{width:160px;min-width:160px}.sum-activity{grid-template-columns:1fr 1fr;gap:12px 24px}.sum-equation{font-size:44px}.sum-objects{grid-area:2/1}.sum-options{grid-area:1/2/3}.trace-activity{justify-content:center;gap:28px;display:flex}.trace-board{width:210px;min-width:210px}.picture-activity{max-width:640px}.picture-board,.picture-tray{max-width:min(100%, max(var(--picture-min), calc(100dvh - 230px)))}.maze-board{width:264px}}
