/* Tangible toy scenes. Decorative vessels do not add units; hit areas stay still. */
.multiplication-game.in-game .world-background{background-image:radial-gradient(ellipse at 20% 5%,#47658566,transparent 50%),linear-gradient(135deg,#152839,#162e33)}
.multiplication-game .mission-scene{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.multiplication-game .mission-story{text-align:left}.mission-story #context{margin-bottom:9px}.mission-story #question-title{margin-bottom:10px}.mission-story #hint{font-size:14px}
.count-scene{padding:8px 8px 0;border:0;background:radial-gradient(ellipse at 50% 50%,#42657838,transparent 73%);border-radius:24px}
.count-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#c6d9df;font-size:13px;min-height:44px;margin-bottom:4px}.count-reset{border:1px solid #a8c3d56b;border-radius:20px;min-height:44px;padding:8px 14px;background:#ffffff0c;color:#e6f3ff;font-size:13px}.count-reset:hover{background:#ffffff1c}
.group-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));align-items:start;gap:15px 22px;padding:4px 0 0}
.object-group{position:relative;min-width:0;width:100%;max-width:350px;margin:0 auto;color:#f8ecd9}
.group-header{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:44px;border:0;border-radius:22px;background:transparent;color:inherit;font-size:14px;font-weight:700;cursor:pointer;margin-bottom:0;padding:5px 9px;transition:background .18s}
.group-header:hover{background:#ffffff0c}.group-header[aria-pressed=true]{color:#fff1b1;background:#ffe6a314}
.group-number{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#ffffff12;color:#fff2c5;font-size:12px;border:1px solid #ffffff30}.group-name{line-height:1.2}
.toy-stage{position:relative;isolation:isolate;filter:drop-shadow(0 10px 9px #020d1433)}
.toy-container{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:visible;transform-origin:50% 94%;animation:vessel-breathe 7s ease-in-out infinite;animation-delay:var(--sway-delay,0s)}
.group-items{position:relative;display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));align-items:center;justify-items:center;gap:8px 4px;padding:32px 27px 60px;min-height:165px}
.count-object{position:relative;display:grid;place-items:center;min-width:44px;min-height:58px;width:100%;max-width:68px;background:transparent;border:1px solid transparent;border-radius:50%;padding:2px;color:inherit;cursor:pointer;touch-action:manipulation;transition:background .18s,border-color .18s}
.toy-unit{display:block;width:100%;height:56px;max-width:64px;overflow:visible;filter:drop-shadow(2px 5px 2px #1b162575);transform-origin:center;animation:unit-breathe 5.8s ease-in-out infinite;animation-delay:var(--unit-delay,0s)}
.count-object:hover{background:#fff2b822;border-color:#fff1bd66}.count-object:hover .toy-unit{animation-play-state:paused;transform:translateY(-3px) rotate(-4deg)}
.count-object:active .toy-unit{transform:translateY(2px) scale(.95)}.count-object[aria-pressed=true]{background:radial-gradient(#ffed9561,#ffed9512);border-color:#ffe6a3b3}.count-object[aria-pressed=true] .toy-unit{animation-play-state:paused;filter:drop-shadow(0 3px 2px #33241485)}
.count-check{display:none;position:absolute;top:0;right:0;width:19px;height:19px;border-radius:50%;background:#246747;color:#fff;font-weight:bold;font-size:13px;place-items:center;box-shadow:0 1px 0 #fff9}.count-object[aria-pressed=true] .count-check{display:grid}
.count-status{min-height:23px;margin:3px 0 0;text-align:center;color:#ffe5a4;font-size:16px;font-weight:bold}
.count-scene button:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #673291}
.shape-pot{max-width:330px}.shape-pot .group-items{padding:22px 43px 111px;min-height:194px;column-gap:16px}.shape-pot .count-object{max-width:69px}
.shape-bag .group-items,.shape-basket .group-items{padding:38px 33px 49px}
.shape-wagon .group-items,.shape-bus .group-items{padding:42px 37px 53px}
.shape-ticket .group-items{padding:36px 45px 43px}
.shape-boat .group-items{padding:40px 39px 67px}
.shape-bracelet .group-items{padding:41px 35px 52px}.shape-garland .group-items{padding:38px 20px 38px}
.shape-clock .group-items{padding:31px 47px 43px}
.shape-table .group-items,.shape-bench .group-items,.shape-shelf .group-items,.shape-stand .group-items{padding:37px 33px 67px}
.shape-cake .group-items{padding:27px 40px 77px}
.shape-stage .group-items,.shape-theatre .group-items,.shape-juggler .group-items{padding:29px 30px 84px}
@keyframes unit-breathe{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}
@keyframes vessel-breathe{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-2px) rotate(.35deg)}}
.scene-paused .toy-container,.scene-paused .toy-unit,body:has(dialog[open]) .toy-container,body:has(dialog[open]) .toy-unit{animation-play-state:paused}
@media(min-width:1200px){.multiplication-game .play-screen{max-width:1490px;grid-template-columns:minmax(0,1fr) 275px}.multiplication-game .challenge-card{padding:20px 23px}.multiplication-game #mission-title{margin-bottom:14px}}
@media(max-width:1080px){.group-board{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px 16px}.multiplication-game .mission-story #context{font-size:17px}}
@media(max-width:720px){.count-scene{padding:0}.count-controls{font-size:12px;margin-bottom:0}.count-reset{font-size:12px}.group-board{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 12px}.object-group{max-width:320px}.multiplication-game #mission-title{font-size:25px}.multiplication-game .mission-story #question-title{font-size:23px}.multiplication-game .mission-story #hint{width:auto}.group-header{min-height:44px}.count-status{font-size:15px}}
@media(max-width:360px){.multiplication-game .challenge-card{padding:16px 10px}.group-board{grid-template-columns:1fr}.object-group .group-items{column-gap:2px;padding-left:22px;padding-right:22px}.shape-clock .group-items{padding-left:35px;padding-right:35px}.count-object{min-width:44px;padding:0}.toy-unit{height:53px}.multiplication-game #mission-title{font-size:23px}}
@media(prefers-reduced-motion:reduce){.toy-container,.toy-unit,.count-object{animation:none!important;transition:none!important;transform:none!important}}
.reduce-motion .toy-container,.reduce-motion .toy-unit,.reduce-motion .count-object{animation:none!important;transition:none!important;transform:none!important}
@media(max-width:650px){.count-scene[data-shape=pot] .group-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}.shape-pot .group-items{padding:12px 6px 67px;min-height:137px;column-gap:4px}.shape-pot:last-child:nth-child(odd){grid-column:1/-1;max-width:calc((100% - 12px)/2)}.shape-pot .toy-unit{height:48px}.shape-pot .count-object{min-height:52px}.shape-pot .group-header{font-size:12px;gap:5px}}
