.gym-maths{margin:40px 0;padding:24px;background:#f0f5ee;border-radius:12px}.gym-maths fieldset{border:0;padding:0;margin:20px 0}.gym-maths legend{font-size:20px;font-weight:700;margin-bottom:12px}.maths-numbers{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.maths-numbers label{background:white;border:2px solid #dce4dc;border-radius:8px;padding:10px;cursor:pointer;text-align:center}.maths-numbers label:has(input:checked){border-color:#07402b;box-shadow:0 0 0 3px #ffe000}.maths-numbers img{width:100%;height:130px;object-fit:contain;display:block}.maths-numbers strong{font-size:24px}.gym-maths .gym-controls label{background:white;padding:12px;border-radius:8px}.maths-pile{display:grid;grid-template-columns:repeat(auto-fit,minmax(85px,1fr));gap:8px;margin:12px 0}.maths-pile figure{margin:0;background:white;border-radius:8px;text-align:center;padding:8px}.maths-pile img{width:100%;height:140px;object-fit:contain}.maths-pile figcaption{font-weight:700}.maths-picture-sign{font-size:32px;font-weight:700}.gym-maths h3{font-size:32px;margin:16px 0}.gym-maths input[type=number]{width:110px;padding:12px;margin:12px;font:inherit}.gym-maths [hidden]{display:none!important}#maths-restart{margin:12px 0}#maths-feedback{font-weight:700}@media(max-width:700px){.maths-numbers{grid-template-columns:repeat(3,1fr)}.gym-maths{padding:16px}.maths-numbers img{height:110px}}

.maths-celebration{position:fixed;inset:0;pointer-events:none;z-index:200;overflow:hidden;visibility:hidden}.maths-celebration.is-celebrating{visibility:visible}
.maths-firework-trail{position:absolute;width:17px;height:3px;border-radius:50%;background:currentColor;box-shadow:0 0 9px currentColor,0 0 2px white;opacity:0;animation:maths-firework 1.5s ease-out forwards}.maths-firework-trail:after{content:"";position:absolute;right:-3px;top:-1px;width:5px;height:5px;background:#fff6b2;border-radius:50%;box-shadow:0 0 7px white}.maths-firework-ring{position:absolute;width:20px;height:20px;margin:-10px;border:2px solid #ffd44e;border-radius:50%;opacity:0;animation:maths-ring 1s ease-out forwards}
.maths-balloon-art{position:absolute;width:85px;height:180px;filter:drop-shadow(3px 7px 5px #07402b20);opacity:0;animation:maths-balloon-rise 3s ease-out forwards}.maths-balloon-art svg{display:block;width:100%;height:100%}
@keyframes maths-firework{0%{opacity:0;transform:translate(0,0) rotate(var(--angle)) scaleX(.2)}12%{opacity:1}65%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--angle)) scaleX(.25)}@keyframes maths-ring{10%{opacity:.8}100%{transform:scale(7);opacity:0}}@keyframes maths-balloon-rise{0%{opacity:0;transform:translate(-50%,0) rotate(-4deg)}15%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--sway)),-520px) rotate(5deg)}}@keyframes maths-reward-pop{from{opacity:0;transform:translate(-50%,-90%) scale(.6)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}
#maths-sound{background:white;color:#07402b;border:1px solid #07402b;border-radius:6px;padding:10px 14px;font:inherit;cursor:pointer;margin:8px 0}
@media(max-width:600px){.maths-balloon-art{width:65px;height:140px}.maths-reward{min-width:180px;padding:14px 20px}.maths-reward strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){.maths-reward{animation:none}.maths-firework-trail,.maths-firework-ring,.maths-balloon-art{display:none}}

.maths-retry-star{position:absolute;font-size:25px;line-height:1;text-shadow:0 2px 3px #07402b15;animation:maths-retry-pop 1.1s ease-out forwards}.maths-answer-wobble{animation:maths-wobble .45s ease-in-out;border:3px solid #ffc928!important;box-shadow:0 0 0 5px #ffc92830}@keyframes maths-retry-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}20%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(70deg) scale(.7)}}@keyframes maths-wobble{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}@media(prefers-reduced-motion:reduce){.maths-answer-wobble,.maths-retry-star{animation:none}}
