/* Zählwiese V50: picture-first picnic journey, playable destinations, gentle motion */
.zw-picnic-trip{position:absolute;inset:15% 3% 13%;z-index:28;pointer-events:none;overflow:hidden;border:5px solid #b38b5d;border-radius:29px;background:linear-gradient(180deg,#7dcced 0%,#c5edf3 35%,#b7d994 36%,#7ec26b 100%);box-shadow:inset 0 0 0 3px #fff6d4,0 11px 24px #53744c77;isolation:isolate}
.zw-trip-hills{position:absolute;inset:0;background:radial-gradient(ellipse 65% 28% at 28% 63%,#b4e392 0%,transparent 100%),radial-gradient(ellipse 90% 45% at 72% 89%,#579e5b 2%,transparent 88%),linear-gradient(0deg,#8ecb73bb 0%,transparent 42%)}
.zw-trip-flowers{position:absolute;inset:45% 0 0;background-image:radial-gradient(circle,#f3d48f 0 2px,#faeee0 3px 6px,transparent 7px),radial-gradient(circle,#e9a8c2 0 3px,#fff5df 4px 7px,transparent 8px);background-size:61px 74px,83px 95px;background-position:6px 14px,23px 57px;opacity:.86}
.zw-trip-friend{position:absolute;bottom:31%;width:clamp(100px,28vw,153px);height:auto;max-height:40%;object-fit:contain;filter:drop-shadow(1px 5px 2px #56774282);will-change:transform;opacity:1}
.zw-trip-moritz{left:-36%;transform:translate3d(0,0,0) rotate(-7deg)}
.zw-trip-igor{left:-40%;bottom:32%;width:clamp(99px,27vw,145px);transform:translate3d(0,0,0)}
.zw-trip-basket{position:absolute;bottom:27%;left:-18%;width:84px;height:57px;border:5px solid #a47950;border-radius:15px 15px 20px 20px;background:repeating-linear-gradient(90deg,#dcad73 0 11px,#b98455 11px 16px);box-shadow:0 6px 4px #5d813957;will-change:transform}
.zw-trip-basket-handle{position:absolute;left:10px;right:10px;top:-40px;height:59px;border:8px solid #b58b5d;border-bottom:0;border-radius:52% 52% 0 0}
.zw-trip-contents{position:absolute;left:19px;top:-16px;width:47px;height:46px;overflow:visible}.zw-trip-contents svg{width:100%;height:100%}
.zw-trip-blanket{position:absolute;bottom:10%;left:16%;width:68%;height:22%;min-height:75px;border:6px solid #fff5d6;border-radius:14px;background:repeating-linear-gradient(0deg,transparent 0 24px,#ffffff45 24px 33px),repeating-linear-gradient(90deg,#db99a4 0 36px,#f7cdd0 36px 70px);box-shadow:2px 4px #80695a5e;transform:scale(.05);transform-origin:center bottom;opacity:0}
.zw-trip-picnic-food{position:absolute;inset:7%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0}
.zw-trip-picnic-food svg{height:clamp(26px,8vw,39px);width:clamp(26px,8vw,39px);filter:drop-shadow(1px 3px 1px #7b5e5980)}
.zw-trip-sun{position:absolute;top:8%;right:15%;width:59px;height:59px;background:radial-gradient(circle,#fff5bb,#f4d372);border:4px solid #e4be6a;border-radius:50%;box-shadow:0 0 0 8px #fff9be39}
.zw-trip-start .zw-trip-moritz{animation:zw-picnic-walk-moritz 4.5s cubic-bezier(.2,.5,.5,1) both}
.zw-trip-start .zw-trip-igor{animation:zw-picnic-walk-igor 4.5s cubic-bezier(.2,.5,.5,1) both}
.zw-trip-start .zw-trip-basket{animation:zw-picnic-basket 4.5s cubic-bezier(.2,.5,.5,1) both}
.zw-trip-start .zw-trip-blanket{animation:zw-picnic-unpack 4.5s ease both}
@keyframes zw-picnic-walk-moritz{0%{transform:translateX(-8%) translateY(0) rotate(-7deg)}18%,32%,46%,59%{transform:translateX(220%) translateY(-9px) rotate(3deg)}25%,39%,54%{transform:translateX(220%) translateY(5px) rotate(-4deg)}70%,100%{transform:translateX(220%) translateY(0) rotate(2deg)}}
@keyframes zw-picnic-walk-igor{0%{transform:translateX(-4%) rotate(4deg)}18%,32%,46%,59%{transform:translateX(370%) translateY(6px) rotate(-3deg)}25%,39%,54%{transform:translateX(370%) translateY(-9px) rotate(4deg)}70%,100%{transform:translateX(370%) rotate(-2deg)}}
@keyframes zw-picnic-basket{0%{transform:translateX(-10%) translateY(0) rotate(-12deg)}15%,35%,55%{transform:translateX(255%) translateY(-6px) rotate(8deg)}25%,45%,65%{transform:translateX(255%) translateY(7px) rotate(-6deg)}70%{transform:translateX(255%) translateY(0)}85%,100%{transform:translateX(255%) translateY(75px) rotate(-5deg)}}
@keyframes zw-picnic-unpack{0%,68%{opacity:0;transform:scale(.05)}79%{opacity:1;transform:scale(1.07)}88%,100%{opacity:1;transform:scale(1)}}
.picnic-page.extra-success>.extra-next-area{position:relative;z-index:32}
.picnic-page.extra-success>.zw-picnic-trip + .extra-next-area{z-index:32}
.picnic-page.extra-success>.extra-next-area .extra-next{background:linear-gradient(#fff2bf,#edca78);box-shadow:inset 0 2px #fff8de,2px 4px #9776507b}
.picnic-page .zw-finish-sticker{display:none!important}
.picnic-page .extra-food-choice:active{transform:scale(.94)!important}
.zw-map-landmark{filter:drop-shadow(0 2px 1px #40393291)}
.zw-map-landmark.current{animation:zw-pulse-marker 1.65s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
@keyframes zw-pulse-marker{from{opacity:.82}to{opacity:1}}
/* Same recognizable outfits everywhere, no clipped slide fragments. */
.friend-peek-pair .peek-mouse,.friend-peek-pair .peek-hedgehog,
.extra-page img.extra-mouse,.extra-page img.extra-hedgehog,
.kitchen-friend img,.family-maze-story svg{
 object-fit:contain!important;overflow:visible!important;clip-path:none!important;-webkit-mask-image:none!important;
}
.friend-peek-pair .peek-mouse,.friend-peek-pair .peek-hedgehog{max-height:120px!important;transform-origin:center bottom!important}
.friend-peek-pair img{filter:drop-shadow(0 3px 2px #42734355)!important}
/* An electric cake mixer actually moves its two beaters, aerates batter and splashes gently. */
.kitchen-mix .kitchen-scene{position:relative!important;isolation:isolate}
.kitchen-mix .zw-working-mixer{position:absolute;left:48%;top:-5%;z-index:16;width:104px;height:145px;opacity:0;transform-origin:40% 35%;transform:translate(-50%,-7%) rotate(11deg);pointer-events:none}
.zw-working-mixer>.kitchen-svg{display:block;width:94px;height:100px;filter:drop-shadow(1px 4px 3px #7d705f8a)!important}
.zw-mixer-beater{position:absolute;bottom:22px;height:35px;width:16px;border-radius:50%;border:3px solid #eaf0e8;box-shadow:0 0 0 2px #9aa1a2;transform-origin:center top}
.zw-mixer-beater.one{left:34px}.zw-mixer-beater.two{left:62px}
.zw-mixer-splash{position:absolute;bottom:8px;width:16px;height:7px;border-radius:50%;background:#fff1bb;opacity:0}
.zw-mixer-splash.left{left:15px}.zw-mixer-splash.right{right:5px}
.kitchen-stirring .zw-working-mixer{opacity:1;animation:zw-mixer-rock .35s ease-in-out infinite alternate}
.kitchen-stirring .zw-mixer-beater{animation:zw-mixer-spin .16s linear infinite}
.kitchen-stirring .zw-mixer-splash{animation:zw-mixer-splash .61s ease-in-out infinite alternate}
.kitchen-stirring .zw-mixer-splash.right{animation-delay:-.31s}
.kitchen-mix .kitchen-swirl{top:26%;left:28%;width:47%;height:38%;border:7px solid #fff4cf;border-left-color:transparent;border-bottom-color:#ebc78d;border-radius:50%;opacity:0!important;transform:rotate(0);font-size:0;z-index:9}
.kitchen-stirring .kitchen-swirl{opacity:.83!important;animation:zw-mixer-swirl .45s linear infinite}
.kitchen-stirring .kitchen-batter{animation:zw-mixer-batter .42s ease-in-out infinite alternate!important}
@keyframes zw-mixer-rock{from{transform:translate(-50%,-7%) rotate(5deg)}to{transform:translate(-48%,-9%) rotate(16deg)}}
@keyframes zw-mixer-spin{from{transform:scaleX(1)}to{transform:scaleX(-1)}}
@keyframes zw-mixer-splash{0%{opacity:0;transform:translateY(0) scale(.5)}40%{opacity:1}100%{opacity:0;transform:translateY(-39px) translateX(9px) scale(1.25)}}
@keyframes zw-mixer-swirl{to{transform:rotate(360deg)}}
@keyframes zw-mixer-batter{from{transform:scale(.97,.93) rotate(-3deg)}to{transform:scale(1.03,1) rotate(3deg)}}
.family-maze-screen .family-maze-board,.family-maze-screen .family-maze-svg{touch-action:none!important}
.family-maze-screen .family-maze-board{box-shadow:inset 0 0 0 2px #fff1c5,0 5px 13px #42624034}
@media(max-width:355px){.zw-picnic-trip{inset:17% 2% 14%}.zw-trip-basket{transform:scale(.8)}.kitchen-mix .zw-working-mixer{width:86px}}
@media(orientation:landscape) and (max-height:520px){.zw-picnic-trip{inset:6% 6% 12%}.zw-trip-friend{height:39%}.kitchen-mix .zw-working-mixer{top:-23%}}
@media(prefers-reduced-motion:reduce){.zw-trip-start .zw-trip-moritz,.zw-trip-start .zw-trip-igor,.zw-trip-start .zw-trip-basket,.zw-trip-start .zw-trip-blanket{animation-duration:1.7s!important}}
/* Picnic is a real illustrated walk to the meadow, not a flat color sheet. */
.zw-picnic-trip{background:#89c77f url('/gameworld-v49.webp') center bottom/100% 100% no-repeat!important}
.zw-trip-hills{opacity:.16!important}
.zw-trip-flowers{opacity:.25!important}
.zw-celebration-word{display:none!important}
/* Smaller, gentler game motion instead of abrupt visibility changes. */
.extra-animal-choice:focus-visible,.kitchen-recipe-button:focus-visible,.connect-crayon:focus-visible,.hunt-number:focus-visible{outline:4px solid #fff0a0!important;outline-offset:4px!important}
.friend-peek-pair img{animation:zw-sit-wave 4.8s ease-in-out infinite alternate}
.friend-peek-pair img:nth-child(2){animation-delay:-1.8s}
.extra-page .extra-animal-choice img{animation:zw-soft-bounce 3.8s ease-in-out infinite alternate}
.kitchen-select .kitchen-round{animation:zw-soft-bounce 3.5s ease-in-out infinite alternate}
.kitchen-select .kitchen-recipe-button:nth-child(2n) .kitchen-round{animation-delay:-1.6s}
@keyframes zw-sit-wave{0%,65%,100%{transform:rotate(0deg)}75%{transform:rotate(6deg) translateY(-3px)}85%{transform:rotate(-5deg) translateY(-1px)}}
@keyframes zw-soft-bounce{0%,60%,100%{transform:translateY(0)}72%{transform:translateY(-4px)}82%{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.friend-peek-pair img,.extra-page .extra-animal-choice img,.kitchen-select .kitchen-round{animation:none!important}}
