/* ZÄHLWIESE 108 – visual master: approved home and finger-counting colored-pencil storybook.
All food, scenery, basket and controls use actual layered hand-drawn picture assets. */
#app .zw107.main-content{background:#79b9e1!important;isolation:isolate!important;overflow:hidden!important}
.zw107 .zw108-painting{position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/picnic-v108/meadow-portrait.webp') center center/100% 100% no-repeat!important}
.zw107:after{opacity:.09!important}
.zw107 .zw107-title{left:29%!important;top:1.2%!important;width:42%!important;height:10.8%!important;background:url('/picnic-v108/logo.webp') center/contain no-repeat!important;filter:drop-shadow(0 3px 2px #70452164)!important}
.zw107 .zw107-title svg{display:none!important}
#app:has(.zw107) .app-header button.zw-go-home{width:clamp(57px,9vw,80px)!important;min-width:clamp(57px,9vw,80px)!important;height:clamp(57px,9vw,80px)!important;border:none!important;box-shadow:none!important;outline:none!important;padding:0!important;background:transparent url('/picnic-v108/btn-home.webp') center/contain no-repeat!important;filter:drop-shadow(0 4px 3px #70482c68)}
#app:has(.zw107) .app-header button.zw-go-home svg{visibility:hidden!important}
#app:has(.zw107) .app-header .header-tools{top:7px!important;left:1.5%!important;max-width:82px!important}
.zw107 .zw107-controls{top:1.6%!important;right:1.5%!important;gap:7px!important}
.zw107 button.zw107-roundbtn{width:clamp(54px,9vw,78px)!important;height:clamp(54px,9vw,78px)!important;min-width:54px!important;min-height:54px!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;background-color:transparent!important;border:none!important;border-radius:50%!important;padding:0!important;box-shadow:none!important;filter:drop-shadow(0 4px 3px #62493366)!important}
.zw107 button.zw107-roundbtn svg{display:none!important}
.zw107 button.zw107-help{background-image:url('/picnic-v108/btn-hint.webp')!important}
.zw107 button.zw107-restart{background-image:url('/picnic-v108/btn-restart.webp')!important}
.zw107 .zw107-order{top:12.5%!important;height:16.3%!important;left:5%!important;right:5%!important;padding:9px 10px!important;gap:3px!important;outline:none!important;border:clamp(4px,.8vw,9px) solid #bc8956!important;border-radius:35px 42px 35px 40px/23px 24px 26px 25px!important;background:#fff0ce url('/picnic-v108/paper-card.webp') center/100% 100% no-repeat!important;box-shadow:inset 0 0 0 3px #fce6b9,0 4px 0 #9e694999,0 6px 8px #65563a4b!important;transform:rotate(-.4deg)!important;overflow:visible!important}
.zw107 .zw107-order:before{content:"";position:absolute;inset:6px;border:2px dashed #d9a269;border-radius:29px 32px 29px 31px;pointer-events:none}
.zw107 .zw107-goal{position:relative;z-index:1;gap:1px!important;padding:0 2px;overflow:visible}
.zw107 .zw107-goal+.zw107-goal{border-left:2px dashed #d7aa7a!important}
.zw107 .zw107-goal-food{height:77%!important;overflow:visible!important}
.zw107 .zw107-goal-piece{height:100%!important;max-width:60px!important;filter:drop-shadow(1px 2px 1px #81572f55)!important}
.zw107 .zw107-goal-piece.done{filter:drop-shadow(0 0 5px #aad665)!important;transform:translateY(-3px) scale(.93)!important}
.zw107 .zw107-goal-dots{gap:6px}
.zw107 .zw107-goal-dots i{width:12px;height:12px;border-radius:50%;background:#ffefd1;border:2px solid #aa7a45}
.zw107 .zw107-goal-dots i.yes{background:#7eb25a;border-color:#60934b;box-shadow:0 0 5px #fef8c4}
.zw107 .zw107-garden{top:29%!important;left:4%!important;width:92%!important;height:37.5%!important;align-items:flex-end!important;z-index:6}
.zw107 .zw107-friend{height:97%!important;width:29%!important;display:flex!important;align-items:flex-end!important;filter:drop-shadow(0 3px 3px #4f612b82)!important;transform-origin:50% 90%}
.zw107 .zw108-character-img{display:block;width:115%;height:100%;min-width:0;object-fit:contain;object-position:center bottom;overflow:visible;filter:drop-shadow(0 1px 1px #ffecc4)}
.zw107 .zw107-igor .zw108-character-img{width:121%;max-width:none}
.zw107 .zw107-basket-target{width:43%!important;height:98%!important;touch-action:none!important;filter:drop-shadow(0 6px 3px #735b3488)!important}
.zw107 .zw107-basket-illustration{position:absolute;inset:0;overflow:visible}
.zw107 .zw108-basket-img{position:absolute;left:-6%;top:8%;width:112%;height:96%;object-fit:contain;filter:drop-shadow(0 2px 2px #71543a77)}
.zw107 .zw108-basket-lid-img{position:absolute;z-index:9;left:1%;top:13%;width:98%;height:47%;object-fit:contain;opacity:0;transform-origin:bottom center;transform:perspective(400px) rotateX(68deg) translateY(-15%);transition:opacity .4s ease,transform 1.1s cubic-bezier(.21,.72,.24,1),top 1.1s}
.zw107.zw107-win .zw108-basket-lid-img{opacity:1;transform:perspective(400px) rotateX(0deg) translateY(25%);top:38%}
.zw107 .zw107-basket-filled{z-index:8!important;top:47%!important;left:16%!important;width:68%!important;height:26%!important;inset:47% 16% 27%!important;gap:0!important;align-content:center}
.zw107 .zw107-collected{flex:0 0 21%;height:45%;max-height:48px;filter:drop-shadow(0 2px 1px #6548327d)}
.zw107.zw107-win .zw107-basket-filled{opacity:0;transition:opacity .6s}
.zw107 .zw107-collected img{object-fit:contain;display:block;width:100%;height:100%}
.zw107 .zw107-drop-halo{border:5px dashed #fff2aa!important;border-radius:40%!important}
.zw107 .zw107-garden:before{content:"";position:absolute;inset:auto 0 -2%;height:22%;z-index:0;border:6px solid #fdf0d7;border-radius:24% 24% 18% 19%;background:repeating-linear-gradient(90deg,transparent 0 14px,#d968627c 15px 32px,transparent 33px 47px),repeating-linear-gradient(0deg,#f8e9d4 0 14px,#d5655890 15px 32px,#f8e9d4 33px 48px);transform:rotate(-3deg);box-shadow:0 4px 4px #594f3161}
.zw107 .zw107-garden>.zw107-friend,.zw107 .zw107-garden>.zw107-basket-target{z-index:1}
.zw107 .zw107-tray{left:1.3%!important;right:1.3%!important;bottom:.6%!important;height:31.7%!important;border:6px solid #bd8158!important;border-radius:38px 42px 34px 36px!important;background:#f8e4c1 url('/picnic-v108/paper-tray.webp') center/100% 100% no-repeat!important;box-shadow:0 0 0 3px #e7ab8e,inset 0 0 0 3px #fff5dc,0 5px 6px #66553588!important}
.zw107 .zw107-tray:before{content:"";position:absolute;inset:9px;border:2px dashed #d6a17d;border-radius:30px;pointer-events:none}
.zw107 .zw107-food-grid{padding:16px 12px 12px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(3,minmax(0,1fr))!important;gap:2px 3px!important}
.zw107 .zw107-food-button{height:100%!important;width:100%!important;max-width:82px!important;max-height:none!important;cursor:grab;filter:drop-shadow(0 3px 1px #b58b6270)!important;touch-action:none!important}
.zw107 .zw107-food-button img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-select:none;image-rendering:auto}
.zw107 .zw108-foodimg{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(1px 2px 1px #815d3778)}
.zw107 .zw107-goal-piece .zw108-foodimg{height:100%!important}
.zw107 .zw107-tray-seam{opacity:.11}
.zw107-ghost img{width:100%;height:100%;object-fit:contain}
.zw107 .zw107-trip-blanket{background:#fff0db url('/picnic-v108/plaid.webp') center/cover no-repeat!important;border:7px solid #fdf3d5!important;box-shadow:0 5px 7px #5b563479!important}
.zw107 .zw107-next{background-image:url('/picnic-v108/next.webp')!important;border:0!important}
.zw107 .zw107-next-wrap{top:50%!important;right:5%!important}
#app:has(.zw107) #zw95Restart{display:none!important}
@media (min-aspect-ratio:6/5){
 .zw107 .zw108-painting{background-image:url('/picnic-v108/meadow-landscape.webp')!important}
 .zw107 .zw107-title{left:34%!important;top:-1%!important;width:32%!important;height:15%!important}
 .zw107 .zw107-order{left:19%!important;right:19%!important;top:12.2%!important;height:18%!important;padding:3px 10px!important}
 .zw107 .zw107-garden{left:20%!important;width:60%!important;top:30%!important;height:40%!important}
 .zw107 .zw107-tray{left:1%!important;right:1%!important;height:29%!important;bottom:0!important;border-radius:28px!important}
 .zw107 .zw107-food-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;padding:5px 12px!important}
 .zw107 .zw107-food-button{width:100%!important;max-width:75px!important;max-height:100%!important}
 .zw107 .zw107-trip{right:10%;width:38%}
 #app:has(.zw107) .app-header button.zw-go-home{height:54px!important;width:54px!important;min-width:54px!important}
}
@media (max-width:400px) and (orientation:portrait){
 .zw107 .zw107-title{left:26%!important;width:48%!important;top:1.5%!important}
 .zw107 .zw107-controls{gap:2px!important;right:.5%!important;top:2.3%!important}
 .zw107 button.zw107-roundbtn{width:53px!important;height:53px!important;min-width:53px!important;min-height:53px!important}
 #app:has(.zw107) .app-header button.zw-go-home{width:53px!important;min-width:53px!important;height:53px!important}
 .zw107 .zw107-order{left:4%!important;right:4%!important;top:12%!important;height:16.5%!important;padding:6px 7px!important}
 .zw107 .zw107-goal-dots{gap:4px}
 .zw107 .zw107-goal-dots i{width:9px;height:9px}
 .zw107 .zw107-garden{left:1%!important;width:98%!important;top:29%!important;height:38%!important}
 .zw107 .zw107-friend{width:30%!important}
 .zw107 .zw107-basket-target{width:42%!important}
 .zw107 .zw107-tray{height:32.3%!important;bottom:.5%!important;border-width:4px!important}
 .zw107 .zw107-food-grid{padding:10px 6px!important}
 .zw107 .zw107-food-button{max-width:69px!important}
}
@media (max-height:450px) and (orientation:landscape){
 .zw107 .zw107-order{height:18%!important}
 .zw107 .zw107-garden{top:29%!important;height:42%!important}
 .zw107 .zw107-tray{height:28.6%!important}
 .zw107 .zw107-food-grid{padding:2px 13px!important}
 .zw107 .zw107-food-button{max-width:59px!important}
 .zw107 .zw107-title{height:13%!important}
 .zw107 button.zw107-roundbtn{height:51px!important;width:51px!important;min-width:51px!important;min-height:51px!important}
}
@media (prefers-reduced-motion:reduce){.zw107 .zw108-basket-lid-img{transition-duration:.3s!important}}

/* iPhone landscape regression: constrain each painted food to its own grid cell. */
.zw107 .zw107-food-button{position:relative!important;overflow:visible!important;box-sizing:border-box!important;min-height:0!important}
.zw107 .zw107-food-button img.zw108-foodimg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;display:block!important}
.zw107 .zw107-goal-piece img.zw108-foodimg,.zw107 .zw107-collected img.zw108-foodimg{position:static!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
