/* Zählwiese / Tiere zählen V243 — ausschließlich handgemalte Bildassets, kein Canvas. */
#app:has(.zw243-game){
 --zw243-plum:#80513b;position:relative!important;isolation:isolate!important;
 background:#a3d88d url('/animal-feeding-v85/meadow-portrait.webp') center/cover no-repeat!important;
 overflow:hidden!important;
}
#app:has(.zw243-game)>.app-header{
 flex:0 0 auto;min-height:0!important;height:0!important;padding:0!important;
 position:absolute!important;inset:0 0 auto 0!important;
 background:transparent!important;z-index:80;pointer-events:none;
}
#app:has(.zw243-game)>.app-header .header-tools{pointer-events:auto}
#app .main-content.zw243-game{
 flex:1 1 0;min-height:0;width:100%;max-width:none!important;height:100%!important;
 padding:0 clamp(7px,2vw,20px) max(6px,env(safe-area-inset-bottom,0px))!important;
 background:transparent!important;overflow:hidden!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;
 justify-content:space-between!important;
 position:relative!important;isolation:isolate!important;
 user-select:none!important;-webkit-user-select:none!important;
 touch-action:manipulation!important;
}
#app .zw243-game *,#app .zw243-game *::before,#app .zw243-game *::after{box-sizing:border-box}
#app .zw243-game .zw243-sr{
 position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;
 clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;
 white-space:nowrap!important;
}
#app .zw243-game .zw243-head{
 display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
 gap:0;position:relative;z-index:15;width:100%;flex:0 0 auto;
 height:clamp(105px,16dvh,132px);
 padding-top:clamp(57px,7.6dvh,66px);
}
#app .zw243-game .zw243-title-art{
 display:block;object-fit:contain;width:clamp(174px,48vw,270px);
 height:clamp(36px,5.4dvh,51px);max-width:58%;pointer-events:none;
 filter:drop-shadow(0 3px 2px #6c4d3540);
}
#app .zw243-game .zw243-progress{
 width:min(77%,385px);height:27px;display:flex;align-items:center;
 justify-content:center;gap:0;position:relative;z-index:3;flex:0 0 auto;
}
#app .zw243-game .zw243-progress-mark{
 width:10%;min-width:0;max-width:33px;height:25px;object-fit:contain;
 opacity:.48;transform:scale(.64);filter:grayscale(.3);
}
#app .zw243-game .zw243-progress-mark.is-done{opacity:1;filter:none;transform:scale(.89)}
#app .zw243-game .zw243-progress-mark.is-current{opacity:1;filter:none;transform:scale(1.1);animation:zw243-pulse 2.4s ease-in-out infinite}
#app .zw243-game .zw243-land{
 flex:1 1 0;min-height:0;width:min(100%,830px);max-width:100%;
 position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;
 padding:2px 0 0;overflow:hidden;z-index:4;
}
#app .zw243-game .zw243-pet-grid{
 --cols:1;--rows:1;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));
 grid-template-rows:repeat(var(--rows),minmax(0,1fr));gap:clamp(0px,.7vw,12px);
 align-items:center;justify-items:center;align-content:center;
 width:100%;height:100%;max-height:510px;min-height:0;position:relative;z-index:5;
 padding:0 4px;
}
#app .zw243-game .zw243-pet{
 appearance:none!important;-webkit-appearance:none!important;
 border:0!important;background:transparent!important;box-shadow:none!important;
 padding:0!important;margin:0!important;min-width:0!important;min-height:0!important;
 width:100%;height:100%;max-width:240px;max-height:290px;
 display:flex!important;align-items:center!important;justify-content:center!important;
 position:relative!important;overflow:visible!important;isolation:isolate;
 touch-action:manipulation;cursor:pointer;
 animation:zw243-bob 3.2s ease-in-out infinite;animation-delay:calc(var(--n)*-.17s);
 -webkit-tap-highlight-color:transparent;
 transform-origin:50% 80%;
}
#app .zw243-game .zw243-pet:focus-visible{outline:3px dashed #be6d54!important;outline-offset:-4px}
#app .zw243-game .zw243-pet-grid[style*="--total:1"] .zw243-pet{max-width:260px;max-height:285px}
#app .zw243-game .zw243-pet-grid[style*="--total:2"] .zw243-pet{max-width:220px;max-height:240px}
#app .zw243-game .zw243-pet-grid[style*="--total:3"] .zw243-pet,
#app .zw243-game .zw243-pet-grid[style*="--total:4"] .zw243-pet{max-width:185px;max-height:218px}
#app .zw243-game .zw243-pet-grid[style*="--total:9"] .zw243-pet:nth-child(9),
#app .zw243-game .zw243-pet-grid[style*="--total:10"] .zw243-pet:nth-child(9){grid-column:2}
#app .zw243-game .zw243-pet .zw243-sprite,
#app .zw243-game .zw243-pet .zw243-hedgehog{
 display:block!important;position:relative!important;inset:auto!important;
 width:100%!important;height:100%!important;max-width:100%!important;
 max-height:100%!important;margin:0!important;padding:0!important;
 object-fit:contain!important;pointer-events:none!important;
 filter:drop-shadow(0 5px 1px #325b2c22);
}
#app .zw243-game .zw243-pet .zw243-sprite .zw88-frame{
 display:block!important;position:relative!important;inset:auto!important;
 width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
 object-fit:contain!important;pointer-events:none!important;
}
#app .zw243-game .zw243-pet.is-counted{animation:zw243-yes .55s cubic-bezier(.2,1.4,.4,1) 1 both}
#app .zw243-game .zw243-count-stamp,
#app .zw243-game .zw243-fed-heart{
 position:absolute;z-index:8;top:0;right:-3px;width:clamp(35px,9vw,52px);height:clamp(35px,9vw,52px);
 display:grid;place-items:center;pointer-events:none;
 background:url('/animal-feeding-v85/food-button.webp') center/contain no-repeat;
 opacity:0;transform:translateY(11px) scale(.55);
 transition:transform .3s cubic-bezier(.1,1.6,.45,1),opacity .15s linear;
}
#app .zw243-game .zw243-count-stamp img,
#app .zw243-game .zw243-fed-heart img{display:block;width:79%;height:79%;object-fit:contain}
#app .zw243-game .zw243-fed-heart{background:transparent;top:1%;right:6%;width:clamp(33px,8vw,45px)}
#app .zw243-game .zw243-pet.is-counted .zw243-count-stamp,
#app .zw243-game .zw243-pet.is-fed .zw243-fed-heart{opacity:1;transform:translateY(0) scale(1)}
#app .zw243-game .zw243-pet.is-fed .zw243-fed-heart{animation:zw243-heartBeat 1.6s ease-in-out infinite}
#app .zw243-game .zw243-pet.is-fed .zw243-sprite{filter:drop-shadow(0 4px 5px #fff7c78a)}
#app .zw243-game .zw243-scene-butterfly,
#app .zw243-game .zw243-scene-flower{
 position:absolute;object-fit:contain;pointer-events:none!important;z-index:2;
 filter:drop-shadow(0 2px 2px #385b2b25);opacity:.88;
}
#app .zw243-game .zw243-scene-butterfly{width:clamp(33px,8vw,58px);height:clamp(33px,8vw,58px);animation:zw243-butterfly 6s ease-in-out infinite}
#app .zw243-game .zw243-butterfly-one{left:4%;top:9%;animation-delay:-.5s}
#app .zw243-game .zw243-butterfly-two{right:4%;top:18%;width:34px;animation-delay:-3s}
#app .zw243-game .zw243-scene-flower{width:clamp(24px,5vw,43px);height:clamp(24px,5vw,43px);bottom:10%}
#app .zw243-game .zw243-flower-one{left:3%;transform:rotate(12deg)}
#app .zw243-game .zw243-flower-two{right:3%;transform:rotate(-17deg)}
#app .zw243-game .zw243-bottom{
 flex:0 0 auto;position:relative;z-index:13;
 width:min(100%,690px);height:clamp(118px,19dvh,163px);
 display:flex;align-items:center;justify-content:center;
 padding:0 5px;
}
#app .zw243-game .zw243-picnic-art{
 position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:.94;
 filter:drop-shadow(0 6px 4px #473b2930);pointer-events:none;
}
#app .zw243-game .zw243-answers{
 width:100%;height:100%;z-index:2;display:flex!important;
 align-items:center!important;justify-content:center!important;
 gap:clamp(4px,2vw,16px)!important;flex-wrap:nowrap!important;
 padding:5px 9px;
}
#app .zw243-game button.zw243-answer{
 appearance:none!important;-webkit-appearance:none!important;
 position:relative!important;flex:0 1 104px!important;display:grid!important;place-items:center!important;
 width:clamp(64px,19vw,104px)!important;height:clamp(64px,19vw,104px)!important;
 min-width:0!important;min-height:0!important;
 border:0!important;border-radius:50%!important;background:transparent!important;
 padding:0!important;margin:0!important;
 box-shadow:none!important;overflow:visible!important;
 cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 4px 3px #59402869);
 transition:transform .13s ease;
}
#app .zw243-game button.zw243-answer:active{transform:scale(.88) rotate(4deg)!important}
#app .zw243-game button.zw243-answer:focus-visible{outline:4px dashed #cc7659!important}
#app .zw243-game .zw243-round-wood{
 width:100%;height:100%;position:absolute;inset:0;object-fit:contain;pointer-events:none;
}
#app .zw243-game .zw243-digit{
 width:75%;height:75%;position:relative;object-fit:contain;pointer-events:none;
}
#app .zw243-game button.zw243-answer.wrong,
#app .zw243-game button.zw243-answer[aria-invalid=true]{animation:zw243-shake .35s ease both}
#app .zw243-game .zw243-count-hint{position:absolute;left:5px;top:-13px;width:35px;height:35px;z-index:6;pointer-events:none;animation:zw243-pulse 2.5s ease-in-out infinite}
#app .zw243-game .zw243-count-hint img{width:100%;height:100%;object-fit:contain}
#app .zw243-game.zw243-all-counted .zw243-progress-mark.is-current{filter:drop-shadow(0 0 5px white)}
/* Versorgung: echtes Drag-and-drop mit gezeichnetem Teller, Futter, Getränk und Drachen */
#app .zw243-game .zw243-action-bottom{height:clamp(143px,23dvh,195px);gap:0}
#app .zw243-game .zw243-action-counter{
 position:absolute;z-index:4;left:5px;top:17%;width:clamp(96px,29%,174px);height:clamp(53px,42%,81px);
 display:flex;justify-content:center;align-items:center;
 transition:opacity .25s,transform .3s;
}
#app .zw243-game .zw243-action-counter.is-hidden{opacity:.2;transform:scale(.83);pointer-events:none}
#app .zw243-game .zw243-count-board{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
#app .zw243-game .zw243-counter-food{position:relative;z-index:2;object-fit:contain;width:35%;height:75%}
#app .zw243-game .zw243-multiply{z-index:2;font:900 clamp(24px,5vw,40px)/1 'Chalkboard SE','Marker Felt',cursive;color:#9e6a47;transform:rotate(-6deg)}
#app .zw243-game .zw243-counter-digit{position:relative;z-index:2;width:31%;height:73%;object-fit:contain}
#app .zw243-game .zw243-strike{display:none;position:absolute;z-index:6;top:49%;left:14%;width:75%;height:5px;border-radius:8px;transform:rotate(-14deg);background:#ae6851}
#app .zw243-game.zw243-feeding-done .zw243-strike{display:block}
#app .zw243-game .zw243-tool-place{
 flex:0 0 auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-45%);
 width:clamp(104px,34vw,176px);height:95%;max-height:171px;
 display:flex;align-items:center;justify-content:center;z-index:8;
}
#app .zw243-game .zw243-feed-plate{
 position:absolute;z-index:1;bottom:6%;left:0;width:100%;height:55%;object-fit:contain;
 pointer-events:none;
}
#app .zw243-game button.zw243-tool{
 appearance:none!important;-webkit-appearance:none!important;
 position:relative;z-index:3;border:0!important;background:transparent!important;
 width:clamp(87px,25vw,134px);height:clamp(86px,14dvh,128px);
 display:flex;align-items:center;justify-content:center;
 padding:0!important;margin:-8px 0 0!important;cursor:grab;touch-action:none!important;
 box-shadow:none!important;user-select:none!important;-webkit-user-select:none!important;
 filter:drop-shadow(0 3px 3px #71543740);
 animation:zw243-food-idle 2s ease-in-out infinite;
}
#app .zw243-game button.zw243-tool:focus-visible{outline:3px dashed #a96749!important;border-radius:20px!important}
#app .zw243-game button.zw243-tool:active,#app .zw243-game button.zw243-tool.is-dragging{
 cursor:grabbing;filter:brightness(1.08) drop-shadow(0 5px 2px #584c3960);
}
#app .zw243-game .zw243-tool-image{width:95%;height:95%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-select:none}
#app .zw243-game .zw243-tool-arrow{width:clamp(29px,5vw,45px);height:clamp(29px,5vw,45px);position:absolute;z-index:5;left:65%;top:-9%;object-fit:contain;transform:rotate(-89deg);animation:zw243-arrow 1s ease-in-out infinite;pointer-events:none}
#app .zw243-game .zw243-action-progress{
 position:absolute;right:7px;top:20%;width:clamp(84px,25%,147px);height:68%;
 z-index:6;display:flex;gap:clamp(1px,.4vw,5px);align-items:center;justify-content:center;
}
#app .zw243-game .zw243-phase-dot{
 flex:1 1 0;min-width:0;aspect-ratio:1/1;max-width:49px;max-height:50px;
 display:grid;place-items:center;opacity:.45;transform:scale(.78);
 background:url('/animal-feeding-v85/food-button.webp') center/contain no-repeat;
 transition:transform .28s ease,opacity .28s;
}
#app .zw243-game .zw243-phase-dot img{width:75%;height:75%;object-fit:contain}
#app .zw243-game .zw243-phase-dot.is-active{opacity:1;transform:scale(1.1);filter:drop-shadow(0 2px 3px #76543e55);animation:zw243-pulse 2s ease-in-out infinite}
#app .zw243-game .zw243-phase-dot.is-done{opacity:.92;transform:scale(.96)}
#app .zw243-game .zw243-phase-dot.is-done::after{
 content:'✓';position:absolute;right:-2px;bottom:-5px;
 color:#538e58;font:900 19px 'Chalkboard SE',cursive;text-shadow:0 1px #fff;
}
#app .zw243-game .zw243-reward-stars{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
#app .zw243-game .zw243-deco-star{
 position:absolute;width:clamp(16px,4.5vw,35px);height:clamp(16px,4.5vw,35px);
 object-fit:contain;left:var(--a);top:var(--b);opacity:.62;
 animation:zw243-floater 5s ease-in-out infinite;animation-delay:calc(var(--delay)*-1);
}
#app .zw243-game.zw243-feeding-done .zw243-pet.is-fed{animation:zw243-bob 1.8s ease-in-out infinite alternate}
#app .zw243-game[data-zw243-phase=water] .zw243-tool-image{animation:zw243-bottle 1.5s ease-in-out infinite}
#app .zw243-game[data-zw243-phase=play] .zw243-tool{animation:zw243-kite-wobble 2s ease-in-out infinite}
#app .zw243-game.zw243-watering .zw243-tool{animation:zw243-pour .8s ease-in-out 2}
#app .zw243-game.zw243-celebrating .zw243-pet{animation:zw243-party .48s ease-in-out infinite alternate!important}
#app .zw243-game .zw243-flying-kite{
 position:absolute;z-index:20;left:20%;top:80%;width:min(29%,160px);height:min(29%,160px);
 object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 3px #61504355);
 animation:zw243-fly-kite 3.3s ease-in-out forwards;
}
#app .zw243-game.zw243-finale-leaving{animation:zw243-stage-leave .48s ease-in-out forwards}
.zw243-food-fly,.zw243-pop-heart,.zw243-drag-ghost{
 position:fixed!important;z-index:2147480010!important;pointer-events:none!important;
 object-fit:contain!important;max-width:none!important;max-height:none!important;user-select:none!important;
}
.zw243-food-fly{height:70px;transition:transform .5s cubic-bezier(.15,.8,.25,1),opacity .5s ease;will-change:transform}
.zw243-drag-ghost{width:80px!important;height:80px!important;filter:drop-shadow(0 6px 5px #65482b77)}
.zw243-pop-heart{width:42px!important;height:42px!important;animation:zw243-pop-heart 1s ease-out forwards}
#app .zw243-game .zw243-hedgehog-react .zw243-hedgehog{animation:zw243-yes .54s ease-out 2 alternate}
@keyframes zw243-bob{0%,100%{transform:translateY(3px) rotate(-1.5deg)}50%{transform:translateY(-5px) rotate(1.8deg)}}
@keyframes zw243-pulse{0%,100%{transform:scale(.94)}50%{transform:scale(1.09)}}
@keyframes zw243-heartBeat{0%,100%{transform:scale(.9)}50%{transform:scale(1.12)}}
@keyframes zw243-yes{0%{transform:scale(.83) translateY(8px)}60%{transform:scale(1.1) translateY(-7px)}100%{transform:scale(1)}}
@keyframes zw243-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
@keyframes zw243-food-idle{0%,100%{transform:translateY(3px) rotate(-4deg)}50%{transform:translateY(-7px) rotate(4deg)}}
@keyframes zw243-arrow{0%,100%{transform:rotate(-89deg) translateX(0)}50%{transform:rotate(-89deg) translateX(10px)}}
@keyframes zw243-butterfly{0%,100%{transform:translate(0,4px) rotate(-9deg)}25%{transform:translate(9px,-9px) rotate(5deg)}65%{transform:translate(-6px,-4px) rotate(-6deg)}}
@keyframes zw243-floater{0%,100%{transform:translateY(5px) rotate(-9deg)}50%{transform:translateY(-9px) rotate(7deg)}}
@keyframes zw243-bottle{0%,100%{transform:rotate(-12deg)}45%{transform:rotate(12deg)}}
@keyframes zw243-kite-wobble{0%,100%{transform:rotate(-9deg) translateY(3px)}50%{transform:rotate(8deg) translateY(-6px)}}
@keyframes zw243-pour{0%,100%{transform:rotate(0)}50%{transform:rotate(65deg)}}
@keyframes zw243-party{0%{transform:translateY(4px) rotate(-7deg)}100%{transform:translateY(-12px) rotate(8deg)}}
@keyframes zw243-pop-heart{0%{opacity:0;transform:translateY(10px) scale(.3)}30%{opacity:1;transform:translateY(-11px) scale(1.2)}100%{opacity:0;transform:translateY(-58px) scale(.9)}}
@keyframes zw243-fly-kite{0%{transform:translate(0,0) rotate(-30deg);opacity:.7}20%{opacity:1}60%{transform:translate(110%,-150%) rotate(18deg)}100%{transform:translate(230%,-245%) rotate(-5deg);opacity:.4}}
@keyframes zw243-stage-leave{to{opacity:0;transform:translateY(-18px)}}
@media(orientation:landscape){
 #app:has(.zw243-game){background-image:url('/animal-feeding-v85/meadow-landscape.webp')!important}
 #app .zw243-game .zw243-head{height:clamp(45px,13dvh,72px);padding-top:4px;flex-direction:row;justify-content:center;gap:12px}
 #app .zw243-game .zw243-title-art{width:clamp(160px,22vw,250px);height:clamp(38px,11dvh,53px);max-width:36%}
 #app .zw243-game .zw243-progress{width:clamp(130px,40vw,330px);height:24px}
 #app .zw243-game .zw243-bottom{height:clamp(74px,24dvh,112px)}
 #app .zw243-game .zw243-action-bottom{height:clamp(79px,25dvh,119px)}
 #app .zw243-game .zw243-count-stamp{width:clamp(26px,5dvh,40px);height:clamp(26px,5dvh,40px)}
 #app .zw243-game .zw243-answer{height:clamp(57px,14dvh,83px)!important;width:clamp(57px,14dvh,83px)!important;flex-basis:83px!important}
 #app .zw243-game .zw243-pet-grid{max-height:100%;width:min(100%,830px)}
 #app .zw243-game .zw243-pet-grid[style*="--total:1"] .zw243-pet{max-height:210px;max-width:210px}
 #app .zw243-game .zw243-action-counter{height:70%;top:17%;max-width:140px}
 #app .zw243-game .zw243-tool-place{height:95%;width:120px}
 #app .zw243-game button.zw243-tool{height:90%;width:90px;margin:0!important}
 #app .zw243-game .zw243-scene-butterfly{max-height:37px}
}
@media(min-width:950px){
 #app:has(.zw243-game){
  width:min(100vw,1020px)!important;max-width:1020px!important;
  margin:0 auto!important;min-height:100dvh!important;height:100dvh!important;max-height:100dvh!important;
  border:0!important;border-radius:0!important;box-shadow:0 4px 25px #4768544a!important;
 }
 #app .zw243-game .zw243-head{height:120px;padding-top:56px}
 #app .zw243-game .zw243-pet-grid{width:min(100%,760px)}
 #app .zw243-game .zw243-land{width:min(100%,850px)}
 #app .zw243-game .zw243-bottom{width:min(100%,640px)}
}
@media(max-width:360px){
 #app .zw243-game .zw243-head{height:97px;padding-top:53px}
 #app .zw243-game .zw243-title-art{width:190px;max-width:58%;height:37px}
 #app .zw243-game .zw243-progress{height:23px}
 #app .zw243-game .zw243-bottom{height:128px}
 #app .zw243-game button.zw243-answer{width:clamp(54px,17vw,68px)!important;height:clamp(54px,17vw,68px)!important;flex-basis:68px!important}
 #app .zw243-game .zw243-action-bottom{height:145px}
 #app .zw243-game .zw243-tool-place{width:102px}
 #app .zw243-game button.zw243-tool{width:85px;height:88px}
 #app .zw243-game .zw243-multiply{font-size:22px}
}
@media(max-height:620px) and (orientation:portrait){
 #app .zw243-game .zw243-head{height:93px;padding-top:48px}
 #app .zw243-game .zw243-bottom{height:112px}
 #app .zw243-game .zw243-action-bottom{height:125px}
 #app .zw243-game .zw243-tool{height:79px!important}
}
@media(prefers-reduced-motion:reduce){
 #app .zw243-game .zw243-pet,#app .zw243-game .zw243-scene-butterfly,
 #app .zw243-game .zw243-deco-star,#app .zw243-game .zw243-tool,
 #app .zw243-game .zw243-progress-mark,#app .zw243-game .zw243-flying-kite{
  animation-duration:.001s!important;animation-iteration-count:1!important;
 }
}

/* V243 illustrated asset crop / stronger storybook framing */
#app .zw243-game .zw243-pet .zw243-sprite .zw88-frame{
 transform:scale(1.27)!important;transform-origin:50% 50%;
}
#app .zw243-game .zw243-pet .zw243-hedgehog{
 transform:scale(1.15)!important;transform-origin:center;
}
#app .zw243-game .zw243-pet-grid[style*="--total:1"] .zw243-sprite .zw88-frame,
#app .zw243-game .zw243-pet-grid[style*="--total:2"] .zw243-sprite .zw88-frame{
 transform:scale(1.37)!important;
}
#app .zw243-game .zw243-tool-image{
 width:105%;height:105%;max-width:none;max-height:none;
 filter:drop-shadow(0 3px 3px #5f51362a);
}
#app .zw243-game .zw243-action-counter .zw243-counter-food{
 width:39%;
}
#app .zw243-game[data-zw243-phase=feed] .zw243-tool{
 animation:zw243-food-idle 1.7s ease-in-out infinite;
}
@media(min-width:950px){
 #app .zw243-game .zw243-head{height:137px!important;padding-top:59px!important}
 #app .zw243-game .zw243-land{width:min(100%,900px)!important}
 #app .zw243-game .zw243-pet-grid{max-height:590px!important;width:min(100%,850px)!important}
 #app .zw243-game .zw243-pet-grid[style*="--total:1"] .zw243-pet{
  max-height:340px!important;max-width:340px!important;
 }
 #app .zw243-game .zw243-pet-grid[style*="--total:2"] .zw243-pet{
  max-height:280px!important;max-width:270px!important;
 }
 #app .zw243-game .zw243-bottom{width:min(100%,740px)!important;height:158px!important}
 #app .zw243-game .zw243-action-bottom{height:185px!important}
 #app .zw243-game button.zw243-tool{height:126px!important;width:135px!important}
 #app .zw243-game .zw243-tool-place{height:150px!important;width:176px!important}
}

/* The larger groups live on the grass, never suspended among clouds. */
#app:has(.zw243-game .zw243-pet-grid[style*="--rows:2"]),
#app:has(.zw243-game .zw243-pet-grid[style*="--rows:3"]){
 background-size:auto 118%!important;background-position:center bottom!important;
}
#app .zw243-game .zw243-pet-grid[style*="--rows:2"]{
 height:76%!important;max-height:410px!important;transform:translateY(28px);
}
#app .zw243-game .zw243-pet-grid[style*="--rows:3"]{
 height:72%!important;max-height:390px!important;transform:translateY(53px);
}
@media(orientation:landscape) and (max-height:540px){
 #app .zw243-game .zw243-pet-grid[style*="--rows:2"],
 #app .zw243-game .zw243-pet-grid[style*="--rows:3"]{
  height:92%!important;max-height:100%!important;transform:translateY(10px);
 }
}
@media(min-width:950px){
 #app .zw243-game .zw243-pet-grid[style*="--rows:2"],
 #app .zw243-game .zw243-pet-grid[style*="--rows:3"]{
  height:75%!important;max-height:450px!important;transform:translateY(58px);
 }
}

/* Water-sparkle and character celebration: painted image sprites only. */
#app .zw243-game .zw243-water-glint{
 width:clamp(19px,5vw,39px);height:clamp(19px,5vw,39px);
 position:absolute;left:var(--x);top:var(--y);z-index:10;pointer-events:none;
 object-fit:contain;opacity:0;
 animation:zw243-water-pop 1.65s ease-out var(--delay) both;
}
#app .zw243-game .zw243-cheer-friend{
 position:absolute;z-index:17;bottom:-3%;width:clamp(62px,17vw,120px);
 height:clamp(78px,22vw,144px);object-fit:contain;
 pointer-events:none;filter:drop-shadow(0 3px 2px #3e4b3655);
 animation:zw243-cheer-enter .7s cubic-bezier(.18,1.6,.32,1) forwards,zw243-cheer-dance .58s ease-in-out .7s infinite alternate;
}
#app .zw243-game .zw243-cheer-left{left:0}
#app .zw243-game .zw243-cheer-right{right:0}
@keyframes zw243-water-pop{
 0%{opacity:0;transform:translateY(18px) scale(.3) rotate(-16deg)}
 25%{opacity:.9;transform:translateY(0) scale(1.12) rotate(7deg)}
 80%{opacity:.8;transform:translateY(-35px) scale(.85) rotate(-10deg)}
 100%{opacity:0;transform:translateY(-47px) scale(.65)}
}
@keyframes zw243-cheer-enter{from{opacity:0;transform:translateY(120%) scale(.6)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes zw243-cheer-dance{from{transform:rotate(-12deg) translateY(1px)}to{transform:rotate(13deg) translateY(-11px)}}
@media(orientation:landscape) and (max-height:540px){
 #app .zw243-game .zw243-cheer-friend{width:75px;height:90px;bottom:-8%}
}

/* Landscape / desktop keep the whole field image covered, without side strips. */
@media(orientation:landscape) and (max-height:540px){
 #app:has(.zw243-game .zw243-pet-grid[style*="--rows:2"]),
 #app:has(.zw243-game .zw243-pet-grid[style*="--rows:3"]){
  background-size:160% auto!important;background-position:center bottom!important;
 }
 #app .zw243-game .zw243-pet-grid[style*="--rows:3"]{
  transform:translateY(29px)!important;
 }
}
@media(min-width:950px){
 #app .zw243-game .zw243-pet-grid[style*="--rows:2"],
 #app .zw243-game .zw243-pet-grid[style*="--rows:3"]{
  transform:translateY(92px)!important;
 }
}
