/* Zählwiese Backstube v160 — standalone responsive game. */
#app:has(.zw160){height:100dvh!important;min-height:100dvh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
#app:has(.zw160)>.app-header{flex:0 0 auto!important;background:#f7e6ca!important;z-index:25!important}
#app .zw160{
 position:relative!important;box-sizing:border-box!important;isolation:isolate!important;
 display:block!important;flex:1 1 0!important;
 width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;
 min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;
 overflow:hidden!important;
 background:#f2dfb9 url('/bakery-v140/kitchen-portrait.webp') center/cover no-repeat!important;
 touch-action:manipulation!important;-webkit-user-select:none!important;user-select:none!important;
 -webkit-touch-callout:none!important;overscroll-behavior:contain!important;
}
#app .zw160 *,#app .zw160 *:before,#app .zw160 *:after{box-sizing:border-box!important;-webkit-user-select:none!important;user-select:none!important}
#app .zw160 img{display:block!important;object-fit:contain!important;max-width:100%!important;max-height:100%!important;pointer-events:none!important;-webkit-user-drag:none!important}
#app .zw160 button{border:0!important;outline:0!important;box-shadow:none!important;cursor:pointer!important;-webkit-tap-highlight-color:transparent!important;touch-action:manipulation!important;padding:0!important}
#app .zw160 button:focus-visible{outline:4px dotted #6b5139!important;outline-offset:2px!important}
#app .zw160-canvas{
 position:relative!important;width:min(100%,740px)!important;height:100%!important;
 margin:0 auto!important;min-height:0!important;min-width:0!important;
 padding:clamp(8px,1.8dvh,16px) clamp(10px,2.7vw,20px) max(12px,env(safe-area-inset-bottom))!important;
 z-index:2!important;display:grid!important;gap:clamp(5px,1.2vh,13px)!important;
}
#app .zw160-effects{position:absolute!important;inset:0!important;pointer-events:none!important;overflow:hidden!important;z-index:10!important}
#app .zw160-heading{
 position:relative!important;display:flex!important;gap:12px!important;
 align-items:center!important;justify-content:center!important;
 width:min(88%,420px)!important;min-height:0!important;margin:0 auto!important;
 background:#fdf0d1e8!important;border:4px solid #a77650!important;
 border-radius:29px!important;box-shadow:0 5px 0 #ba895d,0 7px 8px #6846274a!important;
 transform:rotate(-1deg)!important;
}
#app .zw160-heading span{font-size:clamp(24px,7.8vw,42px)!important;font-weight:900!important;color:#8a512c!important;letter-spacing:-1px!important}
#app .zw160-heading img{width:36px!important;height:36px!important}
#app .zw160-circle{
 display:grid!important;place-items:center!important;
 width:clamp(74px,20vw,106px)!important;height:clamp(74px,20vw,106px)!important;
 flex:0 0 auto!important;border-radius:50%!important;
 padding:clamp(13px,3vw,22px)!important;
 background:transparent url('/picnic-v120/token-mint.webp') center/contain no-repeat!important;
 filter:drop-shadow(0 5px 3px #7752387a)!important;transition:scale .15s ease!important;
}
#app .zw160-circle img{width:100%!important;height:100%!important}
#app .zw160-circle:active,#app .zw160-recipe:active,#app .zw160-ingredient:active{scale:.92!important}
#app .zw160-intro .zw160-canvas{grid-template-rows:clamp(68px,13%,105px) minmax(0,1fr) clamp(90px,19%,135px)!important}
#app .zw160-intro-scene,#app .zw160-scene{position:relative!important;width:100%!important;height:100%!important;min-height:0!important;min-width:0!important}
#app .zw160-characters{position:absolute!important;inset:0!important;z-index:5!important;pointer-events:none!important}
#app .zw160-character{
 position:absolute!important;bottom:6%!important;width:43%!important;height:69%!important;
 display:grid!important;place-items:center!important;background:transparent!important;pointer-events:auto!important;
 transform-origin:50% 90%!important;overflow:visible!important;
}
#app .zw160-moritz{left:0!important}
#app .zw160-igor{right:0!important}
#app .zw160-character img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important}
#app .zw160-cheer{animation:zw160-cheer .52s ease-in-out 2!important}
#app .zw160-bowl-unit{
 position:absolute!important;width:70%!important;height:78%!important;
 left:15%!important;bottom:0!important;z-index:6!important;
 display:grid!important;place-items:center!important;
 transform-origin:50% 79%!important;
}
#app .zw160-bowl-base,#app .zw160-bowl-foreground{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important}
#app .zw160-bowl-foreground{z-index:8!important}
#app .zw160-bowl-target{position:absolute!important;top:28%!important;left:11%!important;width:78%!important;height:51%!important;z-index:9!important;pointer-events:none!important}
#app .zw160-bowl-hop{animation:zw160-bowl-bounce .54s ease!important}
#app .zw160-intro-bottom,.zw160-win-bottom{display:flex!important;align-items:center!important;justify-content:center!important;min-height:0!important}
#app .zw160-intro .zw160-characters .zw160-character{height:80%!important}
#app .zw160-intro .zw160-bowl-unit{height:65%!important;width:60%!important;left:20%!important}
#app .zw160-choose .zw160-canvas{grid-template-rows:clamp(60px,11%,88px) clamp(70px,22%,172px) minmax(0,1fr)!important}
#app .zw160-choose-friends{position:relative!important;width:100%!important;height:100%!important;display:flex!important;justify-content:space-evenly!important;align-items:end!important}
#app .zw160-choose-friends img{width:31%!important;height:100%!important;object-position:center bottom!important}
#app .zw160-recipe-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;min-height:0!important;gap:clamp(8px,2vw,17px)!important;align-items:center!important;justify-items:center!important}
#app .zw160-recipe{
 width:min(100%,clamp(92px,23vw,150px))!important;height:auto!important;
 aspect-ratio:1!important;min-height:0!important;max-height:100%!important;
 padding:clamp(6px,1.3vw,11px)!important;border-radius:50%!important;
 background:transparent url('/picnic-v120/token-gold.webp') center/contain no-repeat!important;
 filter:drop-shadow(0 3px 3px #70492f75)!important;
 display:grid!important;place-items:center!important;
}
#app .zw160-recipe:nth-child(even){background-image:url('/picnic-v120/token-rose.webp')!important}
#app .zw160-recipe:nth-child(3n){background-image:url('/picnic-v120/token-mint.webp')!important}
#app .zw160-recipe img{width:100%!important;height:100%!important;object-fit:contain!important}
#app .zw160-collect .zw160-canvas,#app .zw160-mix .zw160-canvas,#app .zw160-bake .zw160-canvas{
 grid-template-rows:clamp(94px,19%,145px) minmax(0,1fr) clamp(93px,20%,150px)!important;
}
#app .zw160-lesson{
 position:relative!important;min-width:0!important;min-height:0!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 gap:clamp(6px,1.5vw,14px)!important;padding:clamp(12px,2vw,20px) clamp(12px,3vw,25px)!important;
 background:transparent url('/bakery-v130/recipe-panel.webp') center/100% 100% no-repeat!important;
 filter:drop-shadow(0 3px 3px #76533a50)!important;
}
#app .zw160-count-pictures{display:flex!important;align-items:center!important;justify-content:center!important;gap:1px!important;min-width:0!important;height:89%!important;max-width:63%!important}
#app .zw160-count-item{display:grid!important;place-items:center!important;position:relative!important;width:clamp(28px,11vw,65px)!important;height:100%!important;min-width:0!important}
#app .zw160-count-item img{height:100%!important;width:100%!important}
#app .zw160-count-item.zw160-ticked{opacity:.35!important}
#app .zw160-count-item.zw160-ticked:after{
 content:''!important;position:absolute!important;left:25%!important;top:48%!important;
 width:50%!important;height:9%!important;transform:rotate(-20deg)!important;
 background:#a87349!important;border-radius:8px!important;
}
#app .zw160-arrow{width:clamp(25px,7vw,54px)!important;height:62%!important;flex:0 0 auto!important;display:grid!important;place-items:center!important}
#app .zw160-arrow img{width:100%!important;height:100%!important;transform:rotate(-90deg)!important}
#app .zw160-lesson-end{width:clamp(48px,15vw,80px)!important;height:94%!important;flex:0 0 auto!important}
#app .zw160-lesson-end img{width:100%!important;height:100%!important}
#app .zw160-tool-image,#app .zw160-lesson-end-image{width:clamp(55px,17vw,100px)!important;height:97%!important;flex:0 0 auto!important}
#app .zw160-tray{
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
 align-items:center!important;justify-items:center!important;gap:clamp(3px,.8vw,9px)!important;
 padding:clamp(5px,1.2vw,11px)!important;min-height:0!important;
 background:#ffe7c5f3!important;border:4px solid #b17b4c!important;
 border-radius:clamp(19px,4vw,29px)!important;box-shadow:0 3px 0 #fff7d7 inset,0 5px 9px #8158315b!important;
}
#app .zw160-ingredient{
 display:grid!important;place-items:center!important;
 width:100%!important;max-width:110px!important;height:auto!important;
 max-height:100%!important;aspect-ratio:1!important;min-width:0!important;
 padding:clamp(4px,1.4vw,9px)!important;border-radius:50%!important;
 background:transparent url('/picnic-v120/token-gold.webp') center/100% 100% no-repeat!important;
}
#app .zw160-ingredient:nth-child(2),#app .zw160-ingredient:nth-child(5){background-image:url('/picnic-v120/token-rose.webp')!important}
#app .zw160-ingredient:nth-child(3){background-image:url('/picnic-v120/token-mint.webp')!important}
#app .zw160-ingredient:nth-child(4){background-image:url('/picnic-v120/token-blue.webp')!important}
#app .zw160-ingredient img{width:100%!important;height:100%!important}
#app .zw160-added{position:absolute!important;z-index:7!important;left:34%!important;top:44%!important;width:32%!important;height:23%!important;pointer-events:none!important;display:flex!important;align-items:center!important;justify-content:center!important}
#app .zw160-added-piece{min-width:0!important;width:29%!important;height:100%!important}
#app .zw160-whisk-actor{
 position:absolute!important;width:42%!important;height:72%!important;
 left:32%!important;top:-17%!important;z-index:7!important;
 transform-origin:53% 79%!important;
 pointer-events:none!important;
}
#app .zw160-whisk-art{width:100%!important;height:100%!important;object-fit:contain!important}
#app .zw160-stirring .zw160-whisk-actor{animation:zw160-whisk-stir .56s ease-in-out infinite!important}
#app .zw160-stirring .zw160-bowl-unit{animation:zw160-bowl-stir .56s ease-in-out infinite!important}
#app .zw160-mix-bottom{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:clamp(3px,1vh,9px)!important;min-height:0!important}
#app .zw160-stir-progress{display:flex!important;align-items:center!important;gap:clamp(9px,3vw,17px)!important;height:18px!important}
#app .zw160-stir-progress span{width:16px!important;height:16px!important;border-radius:50%!important;border:3px solid #9f734d!important;background:#fff0d2!important}
#app .zw160-stir-progress span.done{background:#83b986!important}
#app .zw160-whisk-control{width:clamp(73px,18vw,98px)!important;height:clamp(73px,18vw,98px)!important;min-height:0!important}
#app .zw160-oven-scene{position:relative!important;min-height:0!important}
#app .zw160-oven-wrap{position:absolute!important;left:19%!important;bottom:2%!important;width:62%!important;height:86%!important;z-index:6!important;display:grid!important;place-items:center!important}
#app .zw160-oven-art{width:100%!important;height:100%!important}
#app .zw160-oven-target{position:absolute!important;inset:20% 10% 20%!important;pointer-events:none!important}
#app .zw160-oven-glow .zw160-oven-art{animation:zw160-oven-heat 1.1s ease-in-out infinite alternate!important}
#app .zw160-tray-flying{position:absolute!important;z-index:7!important;width:55%!important;height:50%!important;left:23%!important;top:29%!important;animation:zw160-tray-in 1.5s ease both!important}
#app .zw160-bake-bottom{display:flex!important;align-items:center!important;justify-content:center!important;min-height:0!important}
#app .zw160-tray-button{background-image:url('/picnic-v120/token-rose.webp')!important}
#app .zw160-win .zw160-canvas{grid-template-rows:clamp(40px,12%,82px) minmax(0,1fr) clamp(93px,19%,146px)!important}
#app .zw160-win-stars{display:flex!important;align-items:center!important;justify-content:space-evenly!important;min-height:0!important}
#app .zw160-win-stars img{width:clamp(40px,11vw,72px)!important;height:95%!important}
#app .zw160-win-scene{position:relative!important;min-height:0!important}
#app .zw160-win-scene .zw160-character{bottom:8%!important;height:72%!important}
#app .zw160-result-dish{position:absolute!important;z-index:7!important;width:66%!important;height:75%!important;bottom:3%!important;left:17%!important;filter:drop-shadow(0 5px 4px #76513d5b)!important;animation:zw160-reward-pulse 2s ease-in-out infinite alternate!important}
#app .zw160-wrong{animation:zw160-wrong .3s ease both!important}
#app .zw160-hint{filter:drop-shadow(0 0 13px #f0b95d)!important}
#app .zw160-drop-hint{filter:drop-shadow(0 0 13px #f4c06e)!important}
.zw160-ghost{position:fixed!important;z-index:999999!important;pointer-events:none!important;width:92px!important;height:92px!important;transform:translate(-50%,-50%)!important;filter:drop-shadow(0 5px 3px #6b493c6a)!important}
.zw160-ghost img{width:100%!important;height:100%!important;object-fit:contain!important}
@keyframes zw160-cheer{0%,100%{transform:rotate(0)}35%{transform:rotate(-6deg) translateY(-7px)}70%{transform:rotate(5deg)}}
@keyframes zw160-whisk-stir{0%{transform:translate(-7px,1px) rotate(-12deg)}25%{transform:translate(2px,-6px) rotate(4deg)}50%{transform:translate(9px,3px) rotate(13deg)}75%{transform:translate(-2px,6px) rotate(-3deg)}100%{transform:translate(-7px,1px) rotate(-12deg)}}
@keyframes zw160-bowl-stir{0%,100%{transform:rotate(-.6deg)}50%{transform:rotate(.6deg)}}
@keyframes zw160-bowl-bounce{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes zw160-reward-pulse{to{transform:scale(1.055)}}
@keyframes zw160-wrong{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-3px)}}
@keyframes zw160-oven-heat{to{filter:drop-shadow(0 0 14px #f6bb5cb8)}}
@keyframes zw160-tray-in{from{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(orientation:landscape){
 #app .zw160{background-image:url('/bakery-v140/kitchen-landscape.webp')!important}
 #app .zw160-canvas{width:min(100%,1100px)!important;padding:clamp(3px,.7vh,8px) clamp(9px,2vw,18px) 6px!important;gap:4px!important}
 #app .zw160-intro .zw160-canvas{grid-template-columns:minmax(0,1fr) 110px!important;grid-template-rows:50px minmax(0,1fr)!important}
 #app .zw160-intro .zw160-heading{grid-area:1/1;min-height:40px!important}
 #app .zw160-intro-scene{grid-area:2/1}
 #app .zw160-intro-bottom{grid-area:1/2/3/3}
 #app .zw160-choose .zw160-canvas{grid-template-columns:minmax(0,28%) minmax(0,1fr)!important;grid-template-rows:50px minmax(0,1fr)!important}
 #app .zw160-choose-heading{grid-area:1/1/2/3}
 #app .zw160-choose-friends{grid-area:2/1}
 #app .zw160-choose-friends img{width:50%!important}
 #app .zw160-recipe-grid{grid-area:2/2}
 #app .zw160-recipe{width:min(100%,clamp(55px,24vh,130px))!important}
 #app .zw160-collect .zw160-canvas,#app .zw160-mix .zw160-canvas,#app .zw160-bake .zw160-canvas{
  grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr)!important;
  grid-template-rows:minmax(0,42%) minmax(0,58%)!important;
 }
 #app .zw160-collect .zw160-scene,#app .zw160-mix .zw160-scene,#app .zw160-bake .zw160-oven-scene{grid-area:1/1/3/2}
 #app .zw160-lesson{grid-area:1/2}
 #app .zw160-tray,#app .zw160-mix-bottom,#app .zw160-bake-bottom{grid-area:2/2}
 #app .zw160-scene .zw160-character,#app .zw160-oven-scene .zw160-character{width:34%!important;height:90%!important}
 #app .zw160-scene .zw160-bowl-unit{width:60%!important;left:20%!important;height:98%!important}
 #app .zw160-oven-wrap{height:99%!important;width:55%!important;left:23%!important}
 #app .zw160-ingredient{max-height:84%!important}
 #app .zw160-whisk-control,#app .zw160-tray-button{width:clamp(66px,18vh,95px)!important;height:clamp(66px,18vh,95px)!important}
 #app .zw160-win .zw160-canvas{grid-template-columns:1fr 100px!important;grid-template-rows:45px minmax(0,1fr)!important}
 #app .zw160-win-stars{grid-area:1/1}
 #app .zw160-win-scene{grid-area:2/1}
 #app .zw160-win-bottom{grid-area:1/2/3/3}
 #app .zw160-win-scene .zw160-character{height:95%!important}
 #app .zw160-result-dish{height:100%!important}
}
@media(orientation:portrait) and (max-height:620px){
 #app .zw160-collect .zw160-canvas,#app .zw160-mix .zw160-canvas,#app .zw160-bake .zw160-canvas{grid-template-rows:76px minmax(0,1fr) 78px!important;gap:3px!important}
 #app .zw160-choose .zw160-canvas{grid-template-rows:52px 70px minmax(0,1fr)!important}
 #app .zw160-lesson{padding:8px 13px!important}
 #app .zw160-ingredient{padding:3px!important}
 #app .zw160-recipe{width:min(100%,clamp(70px,18vh,114px))!important}
}
@media(prefers-reduced-motion:reduce){
 #app .zw160 *,#app .zw160 *:before,#app .zw160 *:after{animation:none!important;transition:none!important}
}

/* Visual acceptance refinements: true utensil orientation and large child controls. */
#app .zw160-tool-image[src*="/whisk.webp"],
#app .zw160-whisk-control img,
#app .zw160-whisk-art{transform:rotate(180deg)!important}
#app .zw160-whisk-actor{top:-7%!important;left:33%!important;width:42%!important;height:72%!important}
#app .zw160-mix .zw160-bowl-unit{width:67%!important;left:16.5%!important;height:72%!important;bottom:1%!important}
#app .zw160-intro .zw160-bowl-unit{width:55%!important;left:22.5%!important;height:60%!important;bottom:5%!important}
#app .zw160-collect .zw160-bowl-unit{width:62%!important;left:19%!important;height:68%!important;bottom:1%!important}
#app .zw160-collect .zw160-characters .zw160-character,
#app .zw160-mix .zw160-characters .zw160-character{height:74%!important;bottom:5%!important}
#app .zw160-choose .zw160-recipe-grid{
 align-content:center!important;
 background:#fff0d4e8!important;
 border:4px solid #b37c51!important;border-radius:26px!important;
 padding:clamp(8px,2vw,14px)!important;
 box-shadow:inset 0 4px #fff6e7,0 4px 7px #7b533e45!important;
 gap:clamp(4px,1vw,11px)!important;
}
#app .zw160-recipe{
 width:min(100%,145px)!important;
 padding:clamp(3px,.7vw,6px)!important;
}
#app .zw160-count-lesson{
 background:#fff0d4e9!important;
 border:4px solid #ac7951!important;border-radius:24px!important;
 box-shadow:0 3px 0 #fff4dd inset,0 4px 5px #7853395f!important;
}
#app .zw160-win-scene .zw160-result-dish{height:64%!important;width:57%!important;left:21.5%!important}
#app .zw160-oven-ready{animation:zw160-oven-arrived .45s ease-out 1!important}
@keyframes zw160-oven-arrived{0%{transform:scale(.96)}50%{transform:scale(1.05)}100%{transform:scale(1)}}
@media(orientation:landscape){
 #app .zw160-choose .zw160-recipe-grid{padding:4px 10px!important}
 #app .zw160-recipe{width:min(100%,clamp(65px,26vh,145px))!important}
 #app .zw160-collect .zw160-bowl-unit{width:54%!important;left:23%!important;height:82%!important}
 #app .zw160-mix .zw160-bowl-unit{width:56%!important;left:22%!important;height:84%!important}
 #app .zw160-whisk-actor{top:-9%!important;width:40%!important}
}

/* Six picture recipes form one compact two-row illustrated control panel. */
#app .zw160-choose .zw160-recipe-grid{
 grid-template-rows:repeat(2,minmax(0,clamp(116px,19vh,146px)))!important;
 align-content:center!important;
 row-gap:clamp(8px,2.3vh,23px)!important;
}
@media(orientation:landscape){
 #app .zw160-choose .zw160-recipe-grid{
  grid-template-rows:repeat(2,minmax(0,clamp(68px,28vh,108px)))!important;
  row-gap:4px!important;
 }
}
@media(orientation:portrait) and (max-height:620px){
 #app .zw160-choose .zw160-recipe-grid{
  grid-template-rows:repeat(2,minmax(0,clamp(73px,20vh,98px)))!important;
  row-gap:5px!important;
 }
}
