/* Zählwiese Backstube V140 – unified original pencil illustration and gentle tactile motion. */
#app:has(.b140-page){background:#f6dfba!important}
#app .b140-page{
 position:relative!important;isolation:isolate!important;box-sizing:border-box!important;
 width:100%!important;max-width:none!important;min-width:0!important;
 height:calc(100dvh - 72px)!important;min-height:0!important;max-height:calc(100dvh - 72px)!important;
 margin:0!important;padding:0!important;overflow:hidden!important;
 background:#f7e3bf url('/bakery-v140/kitchen-portrait.webp') center center/100% 100% no-repeat!important;
 -webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;
 touch-action:manipulation!important;overscroll-behavior:none!important;
}
#app .b140-page *,#app .b140-page *:before,#app .b140-page *:after{
 box-sizing:border-box!important;-webkit-user-select:none!important;user-select:none!important
}
#app .b140-page button{
 display:grid;place-items:center;position:relative;outline:none;cursor:pointer;
 -webkit-tap-highlight-color:transparent!important;touch-action:manipulation;
 border:0!important;-webkit-touch-callout:none!important;
}
#app .b140-page button:focus-visible{outline:4px dashed #906242!important;outline-offset:3px!important}
#app .b140-page img{display:block;object-fit:contain;max-width:100%;max-height:100%;pointer-events:none;-webkit-user-drag:none}
#app .b140-stage{position:absolute;inset:0;padding:clamp(7px,1.7dvh,16px);min-width:0;min-height:0;z-index:2}
#app .b140-ornaments{position:absolute;inset:0;pointer-events:none;z-index:3}
#app .b140-ornament{
 position:absolute;left:var(--x);top:var(--y);
 width:clamp(19px,6vw,39px);aspect-ratio:1;opacity:.67;
 animation:b140-float 5.5s ease-in-out infinite alternate
}
#app .b140-ornament-1{animation-delay:-2s}
#app .b140-ornament-2{animation-delay:-3.4s}
#app .b140-ornament-3{animation-delay:-.9s}
#app .b140-fx{position:absolute;inset:0;z-index:40;pointer-events:none;overflow:hidden}
#app .b140-particle{
 width:clamp(26px,9vw,54px);height:clamp(26px,9vw,54px);
 position:absolute;transform:translate(-50%,-50%);
 animation:b140-particle .95s cubic-bezier(.22,.65,.4,1) both
}
#app .b140-flying{position:absolute;width:65px;height:65px;transform:translate(-50%,-50%);
 animation:b140-fly .72s cubic-bezier(.28,.35,.34,1) both}
.b140-ghost{position:fixed;z-index:999999;pointer-events:none;width:clamp(76px,20vw,115px);height:clamp(76px,20vw,115px);
 transform:translate(-50%,-50%);filter:drop-shadow(0 6px 4px #79553c55)}
.b140-ghost img{width:100%;height:100%;object-fit:contain}
/* Start: approved, fully illustrated large picture with floating baked treats. */
#app .b140-intro .b140-stage{
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 gap:clamp(12px,2.2dvh,22px)!important;padding:3% 5% 6%!important
}
#app .b140-intro-picture{
 position:relative;flex:0 1 auto;min-width:0;min-height:0;
 width:min(100%,520px);aspect-ratio:940/714;
 display:grid;place-items:center;
 border:8px solid #c99162;border-radius:clamp(20px,5vw,38px);
 box-shadow:0 0 0 4px #f8e5b8 inset,0 5px 0 #926347,0 9px 10px #7b533d55;
 overflow:visible;animation:b140-picture 6s ease-in-out infinite alternate
}
#app .b140-hero{width:100%;height:100%;object-fit:cover;border-radius:clamp(13px,4vw,27px)}
#app .b140-hero-sparkles{position:absolute;inset:-6%;pointer-events:none;z-index:2}
#app .b140-hero-sparkles img{position:absolute;width:clamp(22px,8vw,54px);animation:b140-glint 4s ease-in-out infinite}
#app .b140-hero-sparkles img:nth-child(1){left:5%;top:40%}
#app .b140-hero-sparkles img:nth-child(2){right:2%;top:12%;animation-delay:-1.5s}
#app .b140-hero-sparkles img:nth-child(3){right:19%;bottom:-1%;animation-delay:-2.4s}
#app .b140-intro-controls{width:min(90%,385px);min-height:90px;display:flex;align-items:center;justify-content:center;gap:clamp(18px,6vw,48px)}
#app .b140-floating-bake{width:clamp(64px,19vw,102px);height:clamp(64px,19vw,102px);animation:b140-plate 4.6s ease-in-out infinite alternate}
#app .b140-floating-bake:last-child{animation-delay:-2.5s}
/* Big round hand-painted controls for preschool hands. */
#app .b140-round{
 width:clamp(70px,21vw,92px);height:clamp(70px,21vw,92px);flex-shrink:0;
 border-radius:50%!important;padding:15px!important;
 background:transparent url('/picnic-v120/token-mint.webp') center/100% 100% no-repeat!important;
 filter:drop-shadow(0 4px 3px #78563850);transition:scale .18s ease,filter .18s ease
}
#app .b140-round img{width:86%;height:86%;filter:drop-shadow(0 1px 2px #a46c4770)}
#app .b140-round:active{scale:.91}
#app .b140-start{animation:none!important}
#app .b140-start img{animation:b140-startpulse 2.8s ease-in-out infinite}
/* Recipe picker: illustrated circular plate assets and characters, no square images. */
#app .b140-selection .b140-stage{display:grid;grid-template-rows:minmax(100px,27%) minmax(0,1fr);gap:clamp(10px,1.5dvh,20px)}
#app .b140-selection-top{min-width:0;min-height:0;display:flex;justify-content:space-between;align-items:end;position:relative}
#app .b140-selection-top .b140-friend{position:relative;width:26%;height:100%;flex-shrink:0;align-self:end}
#app .b140-selection-top .b140-friend img{max-height:100%}
#app .b140-sign{position:absolute;inset:3% 28% 4%;display:grid;place-items:center;pointer-events:none}
#app .b140-sign>img:first-child{width:100%;height:100%;animation:b140-bowlbreathe 4.1s ease-in-out infinite}
#app .b140-sign-heart{position:absolute;right:3%;top:0;width:28%;height:30%;animation:b140-heart 3.2s ease-in-out infinite}
#app .b140-selection-grid{
 width:100%;min-width:0;min-height:0;display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));
 gap:clamp(6px,1.8vw,13px);align-items:center;justify-items:center;padding:10px 3% 12px;
}
#app .b140-recipe{
 width:min(100%,145px);height:auto;max-height:100%;aspect-ratio:1;
 border-radius:50%!important;
 background:transparent url('/picnic-v120/token-gold.webp') center/100% 100% no-repeat!important;
 padding:clamp(5px,1.3vw,12px)!important;
 filter:drop-shadow(0 3px 3px #7b503e50);
 animation:b140-recipe-appear .55s cubic-bezier(.24,.9,.35,1.2) both;
 animation-delay:calc(var(--index)*45ms);transition:transform .2s ease!important
}
#app .b140-recipe:nth-child(3n+2){background-image:url('/picnic-v120/token-rose.webp')!important}
#app .b140-recipe:nth-child(3n+3){background-image:url('/picnic-v120/token-blue.webp')!important}
#app .b140-recipe img{width:100%;height:100%;object-fit:contain}
#app .b140-recipe:active{transform:scale(.88) rotate(-3deg)!important}
/* Cook: visual ingredients recipe above, full theatrical scene, large round tray. */
#app .b140-work .b140-stage{
 display:grid;grid-template-columns:minmax(0,1fr);
 grid-template-rows:minmax(94px,17%) minmax(0,1fr) minmax(100px,22%);
 gap:clamp(3px,.9dvh,9px)
}
#app .b140-goal{
 position:relative;min-width:0;min-height:0;
 display:flex;align-items:center;justify-content:center;gap:clamp(4px,1.2vw,12px);
 padding:clamp(13px,3vw,21px) clamp(16px,5vw,32px) clamp(15px,3vw,22px);
 border:0!important;
 background:transparent url('/bakery-v130/recipe-panel.webp') center/100% 100% no-repeat!important;
 filter:drop-shadow(0 3px 2px #82553540)
}
#app .b140-goal-items{display:flex;justify-content:center;align-items:center;min-width:0;
 max-width:54%;height:100%;gap:clamp(1px,.75vw,7px)}
#app .b140-goal-items img{width:clamp(39px,10vw,67px);height:100%;object-fit:contain;min-width:0}
#app .b140-goal-arrow{width:clamp(25px,6vw,43px);height:78%;transform:rotate(-90deg);flex-shrink:0}
#app .b140-goal-arrow img{width:100%;height:100%}
#app .b140-goal-bowl{width:clamp(54px,18vw,95px);height:98%;flex-shrink:0}
#app .b140-goal-bowl img{height:100%;width:100%}
#app .b140-goal-progress{position:absolute;bottom:7%;left:0;right:0;display:flex;gap:8px;justify-content:center}
#app .b140-goal-progress i{
 width:clamp(8px,2.3vw,14px);height:clamp(8px,2.3vw,14px);
 border:2px solid #a8704c;border-radius:50%;background:#fff2d6;
 box-shadow:0 1px 0 #fff9e6 inset
}
#app .b140-goal-progress i.is-full{background:#e8ac68;box-shadow:0 0 5px #f8d98c}
/* Scene characters are distinct sprites, gentle slow movement and tap reactions. */
#app .b140-scene{position:relative;isolation:isolate;width:100%;height:100%;min-width:0;min-height:0}
#app .b140-scene::before{
 content:"";position:absolute;inset:8% 8% 12%;
 border-radius:50%;
 background:radial-gradient(ellipse at 50% 65%,#fff9d099 0%,#fff8da66 37%,transparent 67%);
 pointer-events:none;z-index:0;animation:b140-light 5.5s ease-in-out infinite alternate
}
#app .b140-scene-friends{position:absolute;inset:0;z-index:3;pointer-events:none}
#app .b140-friend{
 display:grid;place-items:center;background:transparent!important;border:0!important;
 padding:0!important;overflow:visible!important;touch-action:manipulation!important;
 min-width:44px;min-height:44px;pointer-events:auto;
 transform-origin:50% 89%;animation:b140-friend 4.5s ease-in-out infinite alternate
}
#app .b140-friend img{width:100%;height:100%;object-fit:contain}
#app .b140-igor{animation-delay:-1.8s}
#app .b140-scene .b140-friend{
 position:absolute;width:35%;height:57%;bottom:9%;
}
#app .b140-scene .b140-moritz{left:0}
#app .b140-scene .b140-igor{right:0}
#app .b140-friend.b140-cheer{animation:b140-cheer .8s ease-in-out 1!important}
#app .b140-center{
 position:absolute;left:23%;bottom:5%;width:54%;height:74%;z-index:4;
 display:grid;place-items:center;min-width:0;min-height:0;
 transition:filter .2s ease;transform-origin:50% 78%
}
#app .b140-centerpiece{position:relative;width:100%;height:100%;object-fit:contain;
 filter:drop-shadow(0 8px 4px #805b4a45)}
#app .b140-drop-hover{filter:drop-shadow(0 0 14px #f2c45f)!important;animation:b140-bowlbreathe .6s ease-in-out infinite}
#app .b140-target{position:absolute;inset:15% 4% 12%;pointer-events:none;z-index:7}
#app .b140-added{
 position:absolute;top:42%;left:25%;width:50%;height:26%;display:flex;
 gap:0;justify-content:center;align-items:center;z-index:8;pointer-events:none
}
#app .b140-small-food{width:28%;height:100%;filter:drop-shadow(0 2px 1px #62452e60)}
#app .b140-small-1{transform:rotate(-17deg)}
#app .b140-small-2{transform:rotate(13deg)}
#app .b140-counter-decor{
 position:absolute;bottom:1%;left:0;right:0;height:20%;display:flex;
 justify-content:space-between;align-items:end;z-index:1;pointer-events:none;opacity:.76
}
#app .b140-counter-decor img{width:20%;height:100%;object-fit:contain}
#app .b140-counter-decor img:nth-child(2){opacity:.35}
#app .b140-tray{
 min-height:0;min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
 align-items:center;justify-items:center;gap:clamp(3px,1vw,10px);
 padding:clamp(9px,2vw,15px);border:6px solid #bb875c;
 border-radius:clamp(22px,4vw,35px);
 background:#fae7c9eb;box-shadow:0 2px 0 #fff8de inset,0 5px 8px #79513644;
}
#app .b140-food{
 display:grid;place-items:center;
 width:100%;max-width:108px;min-width:0;height:auto;max-height:100%;
 aspect-ratio:1;padding:clamp(4px,1.4vw,11px)!important;border-radius:50%!important;
 background:transparent url('/picnic-v120/token-gold.webp') center/100% 100% no-repeat!important;
 overflow:visible!important;touch-action:none!important;
 transition:scale .12s ease,filter .18s ease!important;
 animation:b140-food-appear .5s ease both
}
#app .b140-food:nth-child(2){animation-delay:.05s}
#app .b140-food:nth-child(3){animation-delay:.10s}
#app .b140-food:nth-child(4){animation-delay:.15s}
#app .b140-food:nth-child(5){animation-delay:.2s}
#app .b140-color-1{background-image:url('/picnic-v120/token-rose.webp')!important}
#app .b140-color-2{background-image:url('/picnic-v120/token-mint.webp')!important}
#app .b140-color-3{background-image:url('/picnic-v120/token-blue.webp')!important}
#app .b140-food img{width:100%;height:100%;object-fit:contain}
#app .b140-food:active{scale:.88}
#app .b140-wrong{animation:b140-wrong .42s ease 1!important}
/* Mixing: real illustrated whisk pivots above the bowl and the bowl jiggles on action. */
#app .b140-goal-tool{gap:10px}
#app .b140-goal-tool>img{width:clamp(55px,16vw,94px);height:94%;object-fit:contain}
#app .b140-goal-tool>img.b140-tool-arrow{width:clamp(35px,8vw,65px);height:75%;transform:rotate(-90deg)}
#app .b140-tray-one{grid-template-columns:minmax(0,1fr);justify-items:center}
#app .b140-tool{width:clamp(80px,22vw,115px)!important;max-width:115px!important;padding:13px!important}
#app .b140-dough{position:absolute;left:29%;top:9%;width:43%;height:52%;z-index:6;display:grid;place-items:center;pointer-events:none}
#app .b140-dough img{width:92%;height:92%;transform:rotate(12deg);transform-origin:50% 80%;
 filter:drop-shadow(0 2px 2px #b4836c55)}
#app .b140-working .b140-dough img{animation:b140-stir .63s ease-in-out infinite alternate}
#app .b140-working .b140-scene-mix .b140-center{animation:b140-wobble .55s ease-in-out infinite alternate}
#app .b140-scene-oven .b140-center{width:61%;left:19.5%;height:87%;bottom:1%}
#app .b140-oven-pastry{position:absolute;z-index:5;width:38%;height:38%;left:31%;top:36%;pointer-events:none}
#app .b140-oven-pastry img{width:100%;height:100%}
#app .b140-fire-glow{
 position:absolute;left:16%;top:22%;width:68%;height:49%;
 border-radius:45%;background:radial-gradient(ellipse,#ffe88a77,transparent 69%);
 z-index:4;pointer-events:none;animation:b140-oven-glow 2s ease-in-out infinite alternate
}
#app .b140-oven-steam{position:absolute;z-index:6;inset:0;pointer-events:none;overflow:visible}
#app .b140-oven-steam i{
 position:absolute;bottom:39%;left:calc(39% + var(--s)*11%);
 width:16px;height:33px;border-radius:45%;
 border-left:4px solid #fff2cdbb;opacity:.3;
 animation:b140-steam 2.5s ease-in-out infinite;animation-delay:calc(var(--s)*.5s)
}
/* Result: dance, floating pastry and handdrawn particles */
#app .b140-victory .b140-stage{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:5px}
#app .b140-victory .b140-scene{align-self:stretch}
#app .b140-victory .b140-friend{animation:b140-dance 1.45s ease-in-out infinite alternate}
#app .b140-victory .b140-igor{animation-delay:-.73s}
#app .b140-victory .b140-center{left:20%;width:60%;height:69%;bottom:11%}
#app .b140-victory .b140-centerpiece{animation:b140-reward 3.8s ease-in-out infinite alternate}
#app .b140-victory-hearts{position:absolute;inset:6% 7% 15%;z-index:5;pointer-events:none}
#app .b140-victory-hearts img{position:absolute;width:clamp(35px,13vw,80px);height:80px;animation:b140-heart 3s ease-in-out infinite}
#app .b140-victory-hearts img:nth-child(1){left:12%;top:20%}
#app .b140-victory-hearts img:nth-child(2){right:10%;top:10%;animation-delay:-.9s}
#app .b140-victory-hearts img:nth-child(3){left:44%;top:0;animation-delay:-1.7s}
#app .b140-finish{display:flex;align-items:center;justify-content:center;gap:clamp(18px,6vw,38px);min-height:96px;padding-bottom:9px}
#app .b140-finish>img{width:clamp(44px,16vw,80px);height:80px;animation:b140-flowerdance 4s ease-in-out infinite alternate}
#app .b140-finish>img:last-child{animation-delay:-1.2s}
/* Consistent layout across phone widths. */
@media(orientation:portrait) and (max-height:650px){
 #app .b140-work .b140-stage{grid-template-rows:clamp(78px,18%,95px) minmax(0,1fr) clamp(87px,22%,115px);gap:3px}
 #app .b140-goal{padding:11px 16px 15px}
 #app .b140-goal-items img{width:clamp(29px,10vw,45px)}
 #app .b140-tray{padding:6px;border-width:4px}
 #app .b140-selection .b140-stage{grid-template-rows:minmax(76px,24%) minmax(0,1fr)}
 #app .b140-selection-grid{gap:7px}
 #app .b140-intro .b140-stage{gap:8px!important}
 #app .b140-intro-picture{width:min(90%,430px)}
 #app .b140-intro-controls{min-height:65px}
 #app .b140-round{width:66px;height:66px}
}
@media(orientation:landscape){
 #app:has(.b140-page){background-image:none!important}
 #app .b140-page{
  height:calc(100dvh - 74px)!important;max-height:calc(100dvh - 74px)!important;
  background-image:url('/bakery-v140/kitchen-landscape.webp')!important;
 }
 #app .b140-stage{padding:clamp(4px,1.3vh,9px)}
 #app .b140-work .b140-stage{
  display:grid;grid-template-columns:minmax(0,60%) minmax(0,40%);
  grid-template-rows:minmax(0,45%) minmax(0,55%);
  gap:2px 7px;
 }
 #app .b140-work .b140-goal{grid-area:1/2;align-self:stretch;padding:5px 10px 13px}
 #app .b140-work .b140-scene{grid-area:1/1/3/2}
 #app .b140-work .b140-tray{grid-area:2/2;border-width:4px;padding:5px;gap:2px}
 #app .b140-scene .b140-friend{height:76%;width:31%;bottom:4%}
 #app .b140-center{width:48%;left:26%;height:90%;bottom:2%}
 #app .b140-goal-items img{width:min(5.5vw,50px)}
 #app .b140-goal-arrow{height:65%;width:min(4vw,38px)}
 #app .b140-goal-bowl{height:90%;width:min(7vw,67px)}
 #app .b140-goal-tool>img{width:min(10vw,100px)}
 #app .b140-scene-oven .b140-center{height:96%;bottom:0}
 #app .b140-food{max-width:80px;padding:4px!important}
 #app .b140-tray-one .b140-food{width:clamp(65px,10vw,100px)!important}
 #app .b140-selection .b140-stage{grid-template-columns:minmax(0,31%) minmax(0,69%);grid-template-rows:minmax(0,1fr)}
 #app .b140-selection-top{grid-area:1/1}
 #app .b140-selection-top .b140-friend{width:49%;height:74%;position:absolute;bottom:0}
 #app .b140-selection-top .b140-moritz{left:0}
 #app .b140-selection-top .b140-igor{right:0}
 #app .b140-sign{inset:3% 19% 36%}
 #app .b140-selection-grid{grid-area:1/2;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;padding:2px}
 #app .b140-recipe{width:min(100%,clamp(65px,23vh,130px))}
 #app .b140-intro .b140-stage{flex-direction:row;gap:clamp(10px,3vw,24px)!important;padding:10px!important}
 #app .b140-intro-picture{width:auto;max-width:min(72%,575px);max-height:98%;height:auto}
 #app .b140-intro-controls{width:min(31%,210px);flex-direction:column;min-height:0;gap:5px}
 #app .b140-floating-bake{width:clamp(34px,7vw,70px);height:clamp(34px,7vw,70px)}
 #app .b140-victory .b140-stage{grid-template-columns:minmax(0,1fr) 105px;grid-template-rows:minmax(0,1fr)}
 #app .b140-victory .b140-scene{grid-area:1/1}
 #app .b140-victory .b140-finish{grid-area:1/2;flex-direction:column;gap:3px;min-height:0}
 #app .b140-victory .b140-finish>img{width:48px;height:48px}
 #app .b140-victory .b140-center{height:90%;width:39%;left:30.5%;bottom:0}
}
@media(prefers-reduced-motion:reduce){
 #app .b140-page *,#app .b140-page *::before,#app .b140-page *::after{
 animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important
 }
}
@keyframes b140-float{to{transform:translate(0,-12px) rotate(7deg)}}
@keyframes b140-glint{0%,100%{transform:scale(.78) rotate(-6deg);opacity:.35}45%{transform:scale(1.13) rotate(7deg);opacity:1}}
@keyframes b140-picture{to{transform:translateY(-3px) rotate(.3deg)}}
@keyframes b140-plate{to{transform:translateY(-8px) rotate(7deg)}}
@keyframes b140-startpulse{50%{transform:scale(1.06)}}
@keyframes b140-bowlbreathe{50%{transform:scale(1.025)}}
@keyframes b140-heart{50%{transform:translateY(-13px) rotate(10deg) scale(1.1)}}
@keyframes b140-light{to{opacity:.45}}
@keyframes b140-friend{to{transform:translateY(-6px) rotate(2deg)}}
@keyframes b140-cheer{0%,100%{transform:rotate(0) scale(1)}30%{transform:rotate(-12deg) translateY(-14px) scale(1.1)}65%{transform:rotate(9deg) translateY(-7px)}}
@keyframes b140-dance{to{transform:translateY(-12px) rotate(7deg)}}
@keyframes b140-reward{to{transform:translateY(-15px) rotate(5deg) scale(1.055)}}
@keyframes b140-flowerdance{to{transform:rotate(17deg) scale(1.08)}}
@keyframes b140-recipe-appear{from{opacity:0;transform:scale(.4) rotate(-16deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes b140-food-appear{from{opacity:1;transform:translateY(6px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes b140-oven-glow{to{opacity:.4;transform:scale(1.1)}}
@keyframes b140-steam{0%{opacity:0;transform:translateY(10px) skewX(-10deg)}30%{opacity:.85}100%{opacity:0;transform:translateY(-55px) skewX(15deg)}}
@keyframes b140-stir{to{transform:rotate(-24deg) translateY(-7px)}}
@keyframes b140-wobble{to{transform:rotate(2deg) scale(1.035)}}
@keyframes b140-wrong{25%{transform:translateX(-6px) rotate(-4deg)}50%{transform:translateX(6px) rotate(3deg)}75%{transform:translateX(-4px)}}
@keyframes b140-particle{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}18%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot)) scale(.65)}}
@keyframes b140-fly{0%{opacity:1;transform:translate(-50%,-50%) scale(.85)}45%{opacity:1;transform:translate(calc(-50% + var(--dxh)),calc(-50% + var(--dyh) - 45px)) rotate(45deg) scale(1.05)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(100deg) scale(.24)}}

/* V141 polished, unified storybook scene. No duplicate wallpaper or floating food props. */
#app:has(.b140-page)>.app-header,
#app:has(.b140-page) .app-header{
 background:#f6dfba!important;
}
#app .b140-counter-decor{display:none!important}
#app .b140-scene::after{
 content:"";position:absolute;z-index:0;pointer-events:none;
 left:24%;bottom:4%;width:52%;height:10%;
 background:radial-gradient(ellipse,#654a3750 0%,transparent 72%);
 filter:blur(5px);
}
#app .b140-food{min-width:44px!important;min-height:44px!important;animation-duration:.25s!important}
#app .b140-intro{
 background:#f8e7c9 url('/bakery-v140/kitchen-portrait.webp') center/100% 100% no-repeat!important;
}
#app .b140-selection-grid{
 border:5px solid #bd8759!important;
 border-radius:clamp(22px,5vw,36px)!important;
 padding:clamp(11px,3vw,20px)!important;
 background:#fff0d4df!important;
 box-shadow:0 2px 0 #fff9e8 inset,0 5px 7px #79523840!important;
}
#app .b140-recipe{
 animation-duration:.4s!important;
}
#app .b140-goal{
 filter:drop-shadow(0 4px 3px #72503955)!important;
}
@media (orientation:landscape){
 #app .b140-selection-grid{padding:4px 11px!important;border-width:4px!important}
 #app .b140-intro{
   background:#f8e7c9 url('/bakery-v140/kitchen-landscape.webp') center/100% 100% no-repeat!important;
 }
 #app .b140-work .b140-scene::after{bottom:1%!important}
}
@media (prefers-reduced-motion:reduce){
 #app .b140-page *,#app .b140-page *::before,#app .b140-page *::after{
   animation-delay:0s!important;
 }
}



/* 140b polish after photographed device QA: touch targets, clipping, picture hierarchy. */
#app .b140-intro {
 background-image:url('/bakery-v130/paper-portrait.webp')!important;
}
#app .b140-victory .b140-friend{
 width:31%!important;height:55%!important;
}
#app .b140-victory .b140-moritz{left:3%!important}
#app .b140-victory .b140-igor{right:3%!important}
#app .b140-victory .b140-center{left:25%!important;width:50%!important;height:65%!important}
#app .b140-victory .b140-pastry{filter:drop-shadow(0 5px 5px #7c523d50)}
#app .b140-food{min-width:44px!important;min-height:44px!important}
#app .b140-recipe{min-width:60px!important;min-height:60px!important}
@media(orientation:portrait) and (max-width:350px){
 #app .b140-tray{
  padding:3px!important;border-width:3px!important;
  gap:1px!important;
 }
 #app .b140-food{width:100%!important;min-width:44px!important;padding:2px!important}
 #app .b140-work .b140-stage{padding:4px!important}
 #app .b140-victory .b140-friend{height:51%!important}
}
@media(orientation:landscape){
 #app .b140-intro{background-image:url('/bakery-v130/paper-landscape.webp')!important}
 #app .b140-victory .b140-center{left:32%!important;width:36%!important;height:86%!important}
 #app .b140-victory .b140-friend{height:77%!important}
 #app .b140-victory .b140-igor{right:1%!important}
 #app .b140-victory .b140-moritz{left:1%!important}
}

/* V140c – visual staging: the characters and bowl actually stand at the workbench. */
@media(orientation:portrait){
 #app .b140-work .b140-scene .b140-friend{
  width:39%!important;height:61%!important;bottom:-7%!important
 }
 #app .b140-work .b140-scene .b140-moritz{left:-1%!important}
 #app .b140-work .b140-scene .b140-igor{right:-1%!important}
 #app .b140-work .b140-scene .b140-center{
  left:17%!important;width:66%!important;height:81%!important;bottom:-11%!important
 }
 #app .b140-work .b140-scene-oven .b140-center{
  left:15%!important;width:70%!important;height:83%!important;bottom:-8%!important
 }
 #app .b140-work .b140-counter-decor{
  bottom:-8%!important;height:16%!important
 }
 #app .b140-victory .b140-scene .b140-friend{
  width:36%!important;height:58%!important;bottom:0!important
 }
 #app .b140-victory .b140-center{
  left:22%!important;width:56%!important;height:73%!important;bottom:3%!important
 }
 #app .b140-tray .b140-food{
  min-width:44px!important;min-height:44px!important
 }
}
@media(orientation:landscape){
 #app .b140-tray .b140-food{min-width:44px!important;min-height:44px!important}
}


/* Zaehlwiese Backstube V141 – illustrated UX polish, single consolidated stylesheet */
#app .b140-selection .b140-stage{
 width:100%!important;max-width:690px!important;margin:0 auto!important;
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:minmax(0,28%) minmax(0,52%)!important;
 align-content:center!important;gap:clamp(7px,1.3dvh,13px)!important;
}
#app .b140-selection .b140-selection-top{
 grid-area:1/1!important;min-width:0!important;min-height:0!important;
 z-index:3!important;
}
#app .b140-selection .b140-selection-grid{
 grid-area:2/1!important;min-width:0!important;min-height:0!important;
 width:100%!important;height:100%!important;max-height:none!important;
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 grid-template-rows:repeat(2,minmax(0,1fr))!important;
 gap:clamp(5px,2vw,17px)!important;
 padding:clamp(10px,2.4vw,20px)!important;
 border:6px solid #b78559!important;border-radius:clamp(22px,4vw,37px)!important;
 background:#fcebd1fa!important;opacity:1!important;
 box-shadow:0 0 0 3px #f6d29e inset,0 4px 0 #fff9e8 inset,0 7px 12px #78523640!important;
 align-items:center!important;justify-items:center!important;
}
#app .b140-selection .b140-recipe{
 display:grid!important;place-items:center!important;
 width:min(100%,132px)!important;height:auto!important;
 min-width:54px!important;min-height:54px!important;
 max-width:132px!important;max-height:100%!important;
 aspect-ratio:1!important;padding:clamp(5px,1.25vw,11px)!important;
 opacity:1!important;visibility:visible!important;animation:none!important;
 border:0!important;border-radius:50%!important;
 filter:drop-shadow(0 3px 3px #77503840)!important;
 transition:scale .14s ease, filter .14s ease!important;
}
#app .b140-selection .b140-recipe img{
 display:block!important;width:100%!important;height:100%!important;
 object-fit:contain!important;opacity:1!important;
 animation:b141-recipe-bob 4s ease-in-out infinite alternate!important;
 animation-delay:calc(var(--index) * -.38s)!important;
}
#app .b140-selection .b140-recipe:active{scale:.93!important;filter:drop-shadow(0 1px 1px #77503840)!important}
#app .b140-selection .b140-selection-top .b140-friend{
 height:95%!important;width:29%!important;max-width:130px!important;
 align-self:end!important;animation-duration:5s!important;
}
#app .b140-selection .b140-sign{inset:5% 30% 6%!important}
#app .b141-selection-decor{
 position:absolute!important;inset:0!important;z-index:2!important;
 overflow:visible!important;pointer-events:none!important;
}
#app .b141-selection-garland{
 position:absolute!important;left:9%!important;top:0%!important;
 width:82%!important;height:13%!important;
 object-fit:contain!important;opacity:.93!important;
 animation:b141-garland-sway 6s ease-in-out infinite alternate!important;
}
#app .b141-selection-pin{
 position:absolute!important;left:35%!important;top:24%!important;
 width:30%!important;height:9%!important;opacity:.9!important;
 object-fit:contain!important;transform:rotate(-9deg)!important;
}
#app .b140-work .b140-goal{z-index:6!important}
#app .b140-scene{isolation:isolate!important}
#app .b141-set{
 position:absolute!important;inset:0!important;z-index:1!important;
 pointer-events:none!important;overflow:visible!important;
}
#app .b141-set img{position:absolute!important;object-fit:contain!important;pointer-events:none!important}
#app .b141-garland{
 left:17%!important;top:0%!important;width:66%!important;height:12%!important;
 opacity:.95!important;transform-origin:center top!important;
 animation:b141-garland-sway 7s ease-in-out infinite alternate!important;
}
#app .b141-utensils{
 left:42%!important;top:9%!important;width:16%!important;height:31%!important;
 opacity:.94!important;transform-origin:50% 5%!important;
 animation:b141-utensils-sway 5.7s ease-in-out infinite alternate!important;
}
#app .b141-egg-basket{
 left:1%!important;bottom:6%!important;width:20%!important;height:20%!important;
 opacity:.93!important;filter:drop-shadow(0 3px 2px #70503d35)!important;
}
#app .b141-tea-towel{
 right:0%!important;bottom:6%!important;width:20%!important;height:21%!important;
 transform:rotate(6deg)!important;opacity:.88!important;
 filter:drop-shadow(0 3px 1px #70503d20)!important;
}
#app .b141-mix-halo{
 left:31%!important;bottom:18%!important;width:38%!important;height:43%!important;
 opacity:0!important;animation:none!important;
}
#app .b141-mixing .b141-mix-halo{
 opacity:.52!important;animation:b141-slow-glint 2.3s ease-in-out infinite alternate!important;
}
#app .b141-finish-set .b141-garland{
 left:12%!important;top:4%!important;width:76%!important;height:12%!important;
}
#app .b141-finish-set .b141-sunburst{
 position:absolute!important;left:26%!important;top:18%!important;
 width:48%!important;height:67%!important;opacity:.38!important;
 animation:b141-halo-turn 19s linear infinite!important;
}
#app .b141-finish-set .b141-cookie-board{
 position:absolute!important;right:2%!important;bottom:7%!important;
 width:21%!important;height:19%!important;opacity:.75!important;
 transform:rotate(8deg)!important;
}
#app .b140-work .b140-scene-friends .b140-friend::after{
 content:"";position:absolute;bottom:0;left:16%;width:68%;height:8%;
 background:radial-gradient(ellipse,#66503b45 0%,transparent 75%);
 filter:blur(5px);z-index:-1;pointer-events:none;
}
#app .b141-add-success .b140-scene .b140-friend{
 animation:b141-joy-hop .65s ease-out 1!important;
}
#app .b140-scene .b141-bowl-pop{
 animation:b141-bowl-pop .5s cubic-bezier(.23,.6,.35,1.2) 1!important;
}
#app .b141-mixing .b140-dough img{
 animation:b141-vigorous-stir .54s ease-in-out infinite alternate!important;
}
#app .b141-mixing .b140-center{
 animation:b141-bowl-wobble .54s ease-in-out infinite alternate!important;
}
#app .b141-baking .b140-fire-glow{
 animation:b141-warm-oven .58s ease-in-out infinite alternate!important;
}
#app .b140-victory .b140-victory-hearts img{
 animation:b141-heart-rise 3s ease-in-out infinite alternate!important;
}
#app .b140-victory .b140-victory-hearts img:nth-child(2){animation-delay:-1.1s!important}
#app .b140-victory .b140-victory-hearts img:nth-child(3){animation-delay:-2.2s!important}
#app .b140-victory .b140-centerpiece{
 animation:b141-reward-dance 3.2s ease-in-out infinite alternate!important;
}
#app .b140-finish #bakery128Next{z-index:12!important;animation:none!important}
#app .b140-finish #bakery128Next img{
 animation:b141-arrow-pulse 2.8s ease-in-out infinite!important;
}
@media(orientation:portrait){
 #app .b140-work .b140-scene .b140-friend{bottom:-4%!important}
 #app .b140-work .b140-scene .b140-center{bottom:-8%!important}
 #app .b140-work .b141-egg-basket{left:5%!important;bottom:2%!important;width:16%!important;height:18%!important}
 #app .b140-work .b141-tea-towel{right:4%!important;bottom:2%!important;width:17%!important;height:18%!important}
 #app .b140-victory .b140-stage{padding-bottom:clamp(10px,2vh,18px)!important}
 #app .b140-victory .b140-scene .b140-friend{height:60%!important;width:33%!important;bottom:3%!important}
 #app .b140-victory .b140-center{left:25%!important;width:50%!important;height:67%!important;bottom:6%!important}
}
@media(orientation:landscape){
 #app .b140-selection .b140-stage{
  grid-template-columns:minmax(0,30%) minmax(0,70%)!important;
  grid-template-rows:minmax(0,1fr)!important;align-content:stretch!important;
  max-width:none!important;padding:6px!important;gap:7px!important;
 }
 #app .b140-selection .b140-selection-top{grid-area:1/1!important}
 #app .b140-selection .b140-selection-grid{grid-area:1/2!important;padding:5px 12px!important}
 #app .b140-selection .b140-recipe{width:min(100%,125px)!important;max-height:95%!important}
 #app .b141-selection-garland{left:2%!important;top:3%!important;width:26%!important;height:22%!important}
 #app .b141-selection-pin{left:10%!important;top:29%!important;width:14%!important;height:17%!important}
 #app .b141-garland{top:2%!important;left:18%!important;width:64%!important;height:16%!important}
 #app .b141-utensils{left:45%!important;top:17%!important;width:11%!important;height:30%!important;opacity:.8!important}
 #app .b141-egg-basket,#app .b141-tea-towel{display:none!important}
 #app .b141-finish-set .b141-cookie-board{right:1%!important;bottom:5%!important;width:13%!important;height:23%!important}
}
@media(orientation:portrait) and (max-height:650px){
 #app .b140-selection .b140-stage{
  grid-template-rows:minmax(0,24%) minmax(0,64%)!important;
  gap:5px!important;
 }
 #app .b140-selection .b140-selection-grid{padding:5px!important;gap:3px!important;border-width:4px!important}
 #app .b140-selection .b140-recipe{width:min(100%,100px)!important}
 #app .b141-utensils{height:27%!important;top:8%!important}
 #app .b141-garland{height:10%!important}
}
@media(prefers-reduced-motion:reduce){
 #app .b140-page .b141-set *,
 #app .b140-page .b141-selection-decor *,
 #app .b140-page .b140-selection .b140-recipe img,
 #app .b140-page .b141-sunburst{
  animation:none!important;transition:none!important;
 }
}
@keyframes b141-garland-sway{to{transform:rotate(2deg) translateY(3px)}}
@keyframes b141-utensils-sway{to{transform:rotate(2deg) translateX(2px)}}
@keyframes b141-slow-glint{from{opacity:.15;transform:rotate(-9deg) scale(.84)}to{opacity:.65;transform:rotate(14deg) scale(1.1)}}
@keyframes b141-halo-turn{to{transform:rotate(360deg)}}
@keyframes b141-recipe-bob{to{transform:translateY(-4px) rotate(2deg)}}
@keyframes b141-joy-hop{0%,100%{transform:translateY(0)}36%{transform:translateY(-9px) rotate(-4deg)}70%{transform:translateY(-4px) rotate(3deg)}}
@keyframes b141-bowl-pop{0%,100%{transform:scale(1)}38%{transform:scale(1.075) rotate(2deg)}65%{transform:scale(.98) rotate(-1deg)}}
@keyframes b141-vigorous-stir{to{transform:translateY(-10px) rotate(-29deg)}}
@keyframes b141-bowl-wobble{to{transform:rotate(2deg) scale(1.02)}}
@keyframes b141-warm-oven{to{opacity:.9;filter:brightness(1.3)}}
@keyframes b141-heart-rise{50%{transform:translateY(-14px) rotate(10deg) scale(1.09)}}
@keyframes b141-reward-dance{to{transform:translateY(-13px) rotate(3deg) scale(1.03)}}
@keyframes b141-arrow-pulse{50%{transform:translateY(4px) scale(1.09)}}


/* Explicit finite size for the hand-drawn jam jar. Prevents native image dimensions
   from covering the bowl and characters on any viewport. */
#app .b140-scene .b141-jam-jar{
 position:absolute!important;right:3%!important;left:auto!important;
 top:31%!important;bottom:auto!important;
 display:block!important;width:clamp(31px,12%,60px)!important;
 height:clamp(42px,20%,96px)!important;max-width:13%!important;
 max-height:22%!important;opacity:.70!important;
 object-fit:contain!important;pointer-events:none!important;z-index:0!important;
 transform:rotate(5deg)!important;
}
@media (orientation:landscape){#app .b140-scene .b141-jam-jar{display:none!important}}

/* Keep isolated jam jar on the kitchen shelf, never at its full source size. */
#app .b140-page .b141-set img.b141-jam-jar{
 position:absolute!important;left:auto!important;right:1%!important;top:31%!important;
 width:13%!important;height:19%!important;max-width:76px!important;max-height:110px!important;
 opacity:.92!important;object-fit:contain!important;z-index:1!important;
 filter:drop-shadow(0 2px 2px #8d5c4335);
}
@media(orientation:landscape){
 #app .b140-page .b141-set img.b141-jam-jar{
   left:auto!important;right:0%!important;top:28%!important;
   width:10%!important;height:27%!important;max-height:75px!important;
 }
}


/* Backstube V145 – pedagogical counting, clean oven recipe sprites, protected characters */
/* A single extension to the existing unified stylesheet. */
#app .b140-ingredients .b145-goal{
 position:relative!important;display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:34% 56% 10%!important;align-content:stretch!important;
 padding:clamp(8px,1.45dvh,14px) clamp(13px,3vw,21px)!important;
 gap:0!important;overflow:visible!important;isolation:isolate!important;
 background:transparent url('/bakery-v130/recipe-panel.webp') center/100% 100% no-repeat!important;
 border:0!important;z-index:10!important;
}
#app .b140-ingredients .b145-goal .b145-goal-heading{
 position:relative!important;display:flex!important;align-items:center!important;
 justify-content:center!important;gap:clamp(4px,1vw,10px)!important;
 min-height:0!important;padding:0 clamp(32px,9vw,49px)!important;
 color:#553b2c!important;white-space:nowrap!important;
}
#app .b145-goal-number{
 font-size:clamp(24px,6.5vw,41px)!important;line-height:1!important;
 font-weight:900!important;color:#633d2c!important;
 text-shadow:0 1px #fff8dc,1px 0 #fff8dc;
 font-variant-numeric:tabular-nums!important;
}
#app .b145-times{font-size:clamp(20px,5.4vw,34px)!important;line-height:1!important;color:#9d6248!important;font-weight:900!important}
#app .b145-goal-label{
 font-family:system-ui,'Trebuchet MS',sans-serif!important;font-size:clamp(20px,5vw,31px)!important;
 font-weight:800!important;letter-spacing:-.025em!important;line-height:1.05!important;
 overflow:hidden!important;text-overflow:ellipsis!important;
 color:#694832!important;
}
#app .b145-repeat{
 position:absolute!important;top:50%!important;right:1px!important;
 transform:translateY(-50%)!important;z-index:3!important;
 display:grid!important;place-items:center!important;
 width:clamp(30px,7vw,43px)!important;height:clamp(30px,7vw,43px)!important;
 min-width:30px!important;min-height:30px!important;
 border:2px solid #956742!important;border-radius:50%!important;
 background:#f0c98b!important;box-shadow:0 2px 1px #b77f5d50!important;
}
#app .b145-speaker{
 position:relative!important;display:block!important;width:13px!important;height:14px!important;
 background:#5c785e!important;clip-path:polygon(0 32%,30% 32%,70% 0,70% 100%,30% 68%,0 68%)!important;
}
#app .b145-speaker::after{content:"";position:absolute;right:-5px;top:0;width:7px;height:12px;border:2px solid #5c785e;border-left:0;border-radius:50%}
#app .b145-goal-objects{
 display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;
 min-width:0!important;min-height:0!important;max-width:100%!important;
 overflow:visible!important;gap:clamp(3px,1vw,12px)!important;padding:0 5px!important;
}
#app .b145-goal-unit{
 position:relative!important;display:grid!important;place-items:center!important;flex:0 1 auto!important;
 width:min(17%,70px)!important;max-width:70px!important;
 height:100%!important;max-height:100%!important;aspect-ratio:1!important;
 min-width:0!important;min-height:0!important;overflow:visible!important;
 animation:b145-goal-arrive .35s ease-out both;
}
#app .b145-goal-unit img.b145-goal-picture{
 width:100%!important;height:100%!important;max-height:100%!important;
 object-fit:contain!important;opacity:1!important;filter:drop-shadow(0 1px 1px #916e3e40)!important;
 transition:opacity .2s ease,filter .2s ease,transform .25s ease!important;
}
#app .b145-goal-unit.b145-checked img{
 opacity:.51!important;filter:grayscale(.32) drop-shadow(0 1px 1px #8a6a5540)!important;
 transform:scale(.93)!important;
}
#app .b145-strike{
 position:absolute!important;z-index:2!important;left:7%!important;top:47%!important;
 width:85%!important;height:clamp(4px,1.3vw,7px)!important;
 background:#b54447!important;border:1px solid #ffe1c0!important;border-radius:5px!important;
 box-shadow:0 1px 2px #79443866!important;
 transform:rotate(-37deg) scaleX(0)!important;transform-origin:50% 50%!important;
 opacity:0!important;transition:none!important;pointer-events:none!important;
}
#app .b145-goal-unit.b145-checked .b145-strike{
 opacity:1!important;transform:rotate(-37deg) scaleX(1)!important;
 animation:b145-strike-draw .38s ease-out both!important;
}
#app .b145-progress{
 position:absolute!important;bottom:clamp(5px,.7dvh,9px)!important;left:50%!important;
 transform:translateX(-50%)!important;display:flex!important;align-items:center!important;
 justify-content:center!important;gap:4px!important;
 color:#73513e!important;font-size:clamp(10px,2.75vw,14px)!important;line-height:1!important;
 font-weight:750!important;font-variant-numeric:tabular-nums!important;
}
#app .b145-progress strong{color:#934e40!important;font-weight:950!important}
#app .b140-work .b140-scene-friends{z-index:8!important}
#app .b140-work .b140-center{z-index:4!important}
#app .b140-work .b141-set{z-index:1!important}
#app .b140-work .b140-scene .b140-friend{
 width:33%!important;height:57%!important;max-width:145px!important;
 bottom:-2%!important;z-index:9!important;
}
#app .b140-work .b140-scene .b140-moritz{left:-2%!important}
#app .b140-work .b140-scene .b140-igor{right:-2%!important}
#app .b140-work .b140-scene .b140-center{
 left:23%!important;width:54%!important;height:77%!important;bottom:-7%!important;
}
#app .b140-work .b140-scene-oven .b140-center{
 left:19%!important;width:62%!important;height:85%!important;bottom:0!important;
}
#app .b140-work .b140-scene .b140-centerpiece{max-width:100%!important;max-height:100%!important}
#app .b140-scene-oven .b145-oven-image{
 z-index:2!important;position:relative!important;
 animation:b145-oven-breathe 3.3s ease-in-out infinite alternate!important;
}
#app .b141-baking .b145-oven-image{animation:b145-oven-active .65s ease-in-out infinite alternate!important}
#app .b145-oven-image.b145-ready{animation:b145-oven-ready 1.4s ease-in-out infinite alternate!important}
#app .b140-scene-oven .b140-fire-glow{z-index:1!important}
#app .b140-scene-oven .b140-oven-pastry{display:none!important}
#app .b140-scene-oven .b140-oven-steam{z-index:5!important}
#app .b140-intro .b140-stage{
 display:flex!important;flex-direction:column!important;justify-content:flex-start!important;
 align-items:center!important;gap:clamp(18px,2.8dvh,32px)!important;
 padding:clamp(32px,6dvh,78px) clamp(9px,3vw,24px) clamp(15px,3dvh,32px)!important;
}
#app .b140-intro-picture{
 width:min(96%,580px)!important;max-width:580px!important;
 min-height:0!important;height:auto!important;max-height:min(64dvh,680px)!important;
 aspect-ratio:940 / 714!important;flex:0 1 auto!important;
}
#app .b140-intro-controls{
 display:flex!important;justify-content:center!important;
 min-height:84px!important;gap:0!important;
 width:100%!important;flex:0 0 auto!important;
}
#app .b140-intro .b140-floating-bake{display:none!important}
#app .b140-intro .b140-start{
 width:clamp(86px,23vw,110px)!important;height:clamp(86px,23vw,110px)!important;
 animation:b145-start-breathe 3.2s ease-in-out infinite alternate!important;
}
#app .b140-intro .b140-start img{
 animation:none!important;transform:rotate(-90deg)!important;
}
#app .b140-intro .b140-hero-sparkles{pointer-events:none!important}
#app .b140-victory .b140-scene-friends{z-index:8!important}
#app .b140-victory .b140-center{z-index:4!important}
#app .b140-victory .b140-scene .b140-friend{
 width:34%!important;height:57%!important;bottom:2%!important
}
#app .b140-victory .b140-scene .b140-moritz{left:-1%!important}
#app .b140-victory .b140-scene .b140-igor{right:-1%!important}
#app .b140-victory .b140-center{width:50%!important;left:25%!important;height:69%!important;bottom:6%!important}
@media(orientation:portrait) and (max-height:650px){
 #app .b140-ingredients .b145-goal{
  grid-template-rows:32% 58% 10%!important;padding:5px 10px!important
 }
 #app .b145-goal-number{font-size:23px!important}
 #app .b145-goal-label{font-size:19px!important}
 #app .b145-goal-unit{max-width:49px!important}
 #app .b145-repeat{width:30px!important;height:30px!important}
 #app .b140-intro .b140-stage{padding-top:clamp(15px,4dvh,30px)!important;gap:12px!important}
 #app .b140-intro-picture{max-height:66dvh!important}
 #app .b140-intro .b140-start{width:74px!important;height:74px!important}
}
@media(orientation:landscape){
 #app .b140-ingredients .b145-goal{
  grid-template-rows:30% 60% 10%!important;
  padding:7px 12px!important
 }
 #app .b145-goal-number{font-size:clamp(20px,3.3vw,33px)!important}
 #app .b145-goal-label{font-size:clamp(17px,3vw,28px)!important}
 #app .b145-goal-unit{width:min(17%,60px)!important;max-width:60px!important}
 #app .b140-work .b140-scene .b140-friend{
  width:31%!important;height:70%!important;bottom:1%!important
 }
 #app .b140-work .b140-scene .b140-center{
  left:24%!important;width:52%!important;height:92%!important;bottom:1%!important
 }
 #app .b140-work .b140-scene-oven .b140-center{left:20%!important;width:60%!important;height:98%!important}
 #app .b140-intro .b140-stage{
  flex-direction:row!important;justify-content:center!important;
  padding:8px!important;gap:clamp(15px,3vw,30px)!important
 }
 #app .b140-intro-picture{width:auto!important;max-width:min(75%,585px)!important;max-height:96%!important}
 #app .b140-intro-controls{width:auto!important;min-height:0!important;flex:0 0 auto!important}
 #app .b140-intro .b140-start{width:clamp(78px,9vw,106px)!important;height:clamp(78px,9vw,106px)!important}
}
@media(prefers-reduced-motion:reduce){
 #app .b145-goal-unit,#app .b145-goal-unit.b145-checked .b145-strike,
 #app .b140-intro .b140-start,#app .b145-oven-image{
 animation:none!important;transition:none!important
 }
}
@keyframes b145-goal-arrive{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes b145-strike-draw{from{transform:rotate(-37deg) scaleX(0)}to{transform:rotate(-37deg) scaleX(1)}}
@keyframes b145-start-breathe{to{transform:translateY(-4px) scale(1.065)}}
@keyframes b145-oven-breathe{to{filter:brightness(1.08) drop-shadow(0 6px 4px #ba885766)}}
@keyframes b145-oven-active{to{transform:translateY(-2px);filter:brightness(1.27) drop-shadow(0 0 9px #ffc36dbd)}}
@keyframes b145-oven-ready{50%{filter:brightness(1.2) drop-shadow(0 0 10px #ffe1a4b8)}}


/* Backstube V146 – visual learning only, without speech bot or synthesized voice. */
#app .b140-ingredients .b146-goal .b145-goal-heading{
 padding:0 4px!important;justify-content:center!important;
}
#app .b140-ingredients .b146-goal{
 grid-template-rows:30% 64% 6%!important;
}
#app .b140-ingredients .b146-goal .b145-goal-objects{
 gap:clamp(6px,1.6vw,15px)!important;
}
#app .b140-ingredients .b146-goal .b145-goal-unit{
 position:relative!important;width:min(18%,75px)!important;
 padding:0 0 clamp(10px,1.5dvh,16px) 0!important;
 overflow:visible!important;
}
#app .b140-ingredients .b146-goal .b145-goal-unit img{
 width:100%!important;height:100%!important;
 max-width:100%!important;max-height:100%!important;
 object-fit:contain!important;
}
#app .b146-unit-index{
 position:absolute!important;bottom:0!important;left:50%!important;
 transform:translateX(-50%)!important;
 display:grid!important;place-items:center!important;
 width:clamp(17px,3.6vw,24px)!important;height:clamp(17px,3.6vw,24px)!important;
 border-radius:50%!important;background:#f9e7c0!important;
 color:#875839!important;border:2px solid #be8e59!important;
 font-size:clamp(11px,2.7vw,16px)!important;
 font-weight:900!important;font-variant-numeric:tabular-nums!important;
 box-shadow:0 1px 2px #8c5b3933!important;
}
#app .b146-goal .b145-checked .b146-unit-index{
 background:#a3cc91!important;color:#3e6b39!important;
 border-color:#6e9f62!important;
 animation:b146-mark .34s ease-in-out 1!important;
}
#app .b146-goal .b145-strike{top:38%!important}
#app .b146-goal .b145-progress{
 bottom:1%!important;font-size:clamp(11px,2.9vw,15px)!important;
 padding:0 6px!important;
 background:#fdf0cebb!important;border-radius:9px!important;
}
#app .b146-tray .b140-food{animation:b140-food-appear .4s ease-out both}
#app .b146-tray .b140-food.b146-hint{
 animation:b146-hint 1.15s ease-in-out infinite!important;
 filter:drop-shadow(0 0 10px #d7aa64)!important;
}
#app .b140-work .b141-set{z-index:1!important;pointer-events:none!important}
#app .b140-work .b140-center{z-index:4!important;isolation:isolate!important}
#app .b140-work .b140-scene-friends{z-index:8!important;pointer-events:none!important}
#app .b140-work .b140-friend{pointer-events:auto!important}
#app .b140-victory .b140-center{z-index:4!important}
#app .b140-victory .b140-scene-friends{z-index:8!important}
#app .b140-victory .b140-friend{pointer-events:auto!important}
#app .b140-intro .b140-stage{gap:clamp(12px,2dvh,22px)!important}
#app .b140-intro .b146-intro-still{
 position:relative!important;display:flex!important;align-items:center!important;
 justify-content:center!important;gap:clamp(8px,4vw,30px)!important;
 min-height:72px!important;max-height:112px!important;
 width:min(87%,400px)!important;flex:0 0 auto!important;pointer-events:none!important;
}
#app .b140-intro .b146-intro-still img{
 display:block!important;position:relative!important;width:28%!important;
 height:clamp(62px,10dvh,96px)!important;max-height:100%!important;
 object-fit:contain!important;filter:drop-shadow(0 3px 3px #93654755)!important;
 animation:b146-intro-paint 4s ease-in-out infinite alternate!important;
}
#app .b140-intro .b146-intro-still img:nth-child(2){
 width:24%!important;animation-delay:-1.5s!important;
}
#app .b140-intro .b146-intro-still img:nth-child(3){
 width:24%!important;animation-delay:-2.7s!important;
}
#app .b140-intro .b140-intro-picture{filter:drop-shadow(0 4px 4px #7852383d)!important}
#app .b140-scene-mix .b140-dough img{animation:b140-stir 1.6s ease-in-out infinite alternate!important}
#app .b140-scene-mix .b140-dough::after{
 content:"";display:block!important;position:absolute!important;
 width:35%!important;height:21%!important;left:5%!important;bottom:16%!important;
 background:radial-gradient(circle at 40% 35%,#fff5d4b6 0%,#fff5d433 60%,transparent 68%)!important;
 border-radius:50%!important;z-index:-1!important;
 animation:b146-batter-glow 2.3s ease-in-out infinite alternate!important;
}
#app .b140-scene-oven .b140-oven-steam i{animation-duration:3.5s!important}
#app .b140-victory .b140-centerpiece{
 animation:b146-celebrate 3.1s ease-in-out infinite alternate!important;
}
@media(orientation:portrait) and (max-height:650px){
 #app .b140-ingredients .b146-goal{grid-template-rows:26% 68% 6%!important}
 #app .b146-unit-index{width:17px!important;height:17px!important}
 #app .b140-intro .b146-intro-still{min-height:40px!important;max-height:65px!important}
 #app .b140-intro .b146-intro-still img{height:clamp(36px,8dvh,57px)!important}
 #app .b140-intro .b140-stage{gap:6px!important}
}
@media(orientation:landscape){
 #app .b140-intro .b146-intro-still{display:none!important}
 #app .b140-ingredients .b146-goal{grid-template-rows:29% 61% 10%!important}
 #app .b146-unit-index{bottom:-2px!important}
 #app .b140-ingredients .b146-goal .b145-goal-unit{
  width:min(17%,60px)!important;padding-bottom:9px!important;
 }
}
@media(prefers-reduced-motion:reduce){
 #app .b146-unit-index,#app .b146-tray .b146-hint,
 #app .b140-intro .b146-intro-still img,#app .b140-victory .b140-centerpiece,
 #app .b140-scene-mix .b140-dough img{
  animation:none!important;transition:none!important;
 }
}
@keyframes b146-hint{
 0%,100%{transform:scale(1) rotate(0)}48%{transform:scale(1.09) rotate(-4deg)}
}
@keyframes b146-mark{
 0%{transform:translateX(-50%) scale(.7)}55%{transform:translateX(-50%) scale(1.15)}
 100%{transform:translateX(-50%) scale(1)}
}
@keyframes b146-intro-paint{to{transform:translateY(-5px) rotate(3deg)}}
@keyframes b146-celebrate{to{transform:translateY(-9px) rotate(4deg) scale(1.04)}}
@keyframes b146-batter-glow{to{opacity:.4;transform:scale(1.07)}}

/* Buttons have stationary hitboxes. Only the illustration inside may move. */
#app .b140-intro .b140-start{
 animation:none!important;transform:none!important;
}
#app .b140-intro .b140-start img{
 transform:rotate(-90deg)!important;
 animation:b146-start-icon 2.7s ease-in-out infinite alternate!important;
}
@keyframes b146-start-icon{
 0%{transform:rotate(-90deg) scale(1)}
 100%{transform:rotate(-90deg) scale(1.085)}
}
#app .b140-page .b140-friend{
 animation:none!important;
}
#app .b140-page .b140-friend img{
 animation:b140-friend 4.5s ease-in-out infinite alternate!important;
}
#app .b140-page .b140-igor img{animation-delay:-1.8s!important}
#app .b140-victory .b140-friend img{
 animation:b140-dance 1.45s ease-in-out infinite alternate!important;
}
#app .b140-victory .b140-igor img{animation-delay:-.73s!important}
#app .b140-page .b140-friend.b140-cheer img{
 animation:b140-cheer .8s ease-in-out 1!important;
}
@media(prefers-reduced-motion:reduce){
 #app .b140-intro .b140-start img,#app .b140-page .b140-friend img{animation:none!important}
}


/* Zählwiese Backstube V150: brand-new uncropped pencil illustrations and scene-specific motion */
#app .b140-selection .b140-selection-grid .b140-recipe{
 background:transparent!important;background-image:none!important;
 width:min(100%,150px)!important;max-width:150px!important;
 padding:0!important;overflow:visible!important;
 border:0!important;box-shadow:none!important;
 filter:drop-shadow(0 4px 3px #8f674855)!important;
 animation:none!important;transform:translateZ(0);
}
#app .b140-selection .b140-selection-grid .b140-recipe:nth-child(n){
 background:none!important;background-image:none!important;
}
#app .b140-selection .b140-selection-grid .b140-recipe img{
 width:100%!important;height:100%!important;object-fit:contain!important;
 max-width:100%!important;max-height:100%!important;
 animation:b150-plate-bob 4.1s ease-in-out infinite alternate!important;
 animation-delay:calc(var(--index)*-.43s)!important;
 transition:filter .23s ease!important;
}
#app .b140-selection .b140-selection-grid .b140-recipe:active img{
 filter:brightness(1.06)!important;animation:none!important;
 transform:scale(.94) rotate(-4deg)!important;
}
#app .b140-selection .b140-selection-grid{gap:clamp(3px,1.2vw,12px)!important}
#app .b140-victory .b140-center{
 left:25%!important;width:50%!important;height:67%!important;bottom:6%!important;
}
#app .b140-victory .b140-pastry{
 width:100%!important;height:100%!important;
 object-fit:contain!important;
 filter:drop-shadow(0 8px 5px #80543766)!important;
 animation:b150-plate-celebrate 3.6s ease-in-out infinite alternate!important;
}
#app .b150-batter-ripple{
 position:absolute!important;left:24%!important;top:40%!important;
 width:52%!important;height:26%!important;border:5px solid #fff4d9dd!important;
 border-radius:50%!important;z-index:6!important;
 opacity:0!important;pointer-events:none!important;
 box-shadow:0 0 10px #fbdb9d80,inset 0 0 9px #e7c89588!important;
}
#app .b140-ingredients .b150-batter-ripple.b150-ripple-live{
 animation:b150-batter-bloom .72s ease-out 1!important;
}
#app .b150-scene-arrive .b140-centerpiece{
 animation:b150-stage-arrive .8s cubic-bezier(.32,.73,.25,1) both!important;
}
#app .b150-scene-arrive .b140-friend img{
 animation:b150-friend-arrive .86s ease-out 1!important;
}
#app .b140-scene-oven .b150-oven-twinkles{
 position:absolute!important;left:10%!important;top:10%!important;right:10%!important;
 bottom:12%!important;z-index:5!important;pointer-events:none!important;opacity:0!important;
}
#app .b150-oven-twinkles img{
 position:absolute!important;width:23%!important;height:23%!important;
 filter:drop-shadow(0 0 6px #fff0b9)!important;
 animation:b150-oven-stars 1.6s ease-in-out infinite alternate!important;
}
#app .b150-oven-twinkles img:first-child{left:3%!important;top:18%!important}
#app .b150-oven-twinkles img:nth-child(2){right:2%!important;bottom:16%!important;animation-delay:-.8s!important}
#app .b141-baking .b150-oven-twinkles{opacity:.55!important;animation:b150-starglow 1.8s ease-in-out infinite alternate!important}
#app .b145-oven-image.b150-risen{
 animation:b150-oven-reveal 1.2s cubic-bezier(.19,.77,.28,1) both!important;
 filter:brightness(1.12) drop-shadow(0 0 8px #ffd78aaa)!important;
}
#app .b150-confetti-sprites{
 position:absolute!important;inset:11% 7% 20%!important;z-index:7!important;
 pointer-events:none!important;overflow:visible!important;
}
#app .b150-confetti-sprites img{
 position:absolute!important;left:20%!important;top:8%!important;
 width:60%!important;height:63%!important;
 object-fit:contain!important;opacity:.8!important;pointer-events:none!important;
 animation:b150-confetti-float 3.5s ease-in-out infinite alternate!important;
}
#app .b150-confetti-sprites img:nth-child(2){
 left:10%!important;top:15%!important;transform:rotate(24deg)!important;
 animation-delay:-1.1s!important;opacity:.68!important;
}
#app .b150-confetti-sprites img:nth-child(3){
 left:30%!important;top:3%!important;transform:rotate(-18deg)!important;
 animation-delay:-2.1s!important;opacity:.68!important;
}
/* Characters are never covered by the dish or by reward particles. */
#app .b140-victory .b140-scene-friends{z-index:9!important}
#app .b140-victory .b140-center{z-index:4!important}
#app .b140-victory .b141-set{z-index:1!important}
#app .b140-victory .b140-victory-hearts{z-index:5!important}
#app .b140-victory .b150-confetti-sprites{z-index:6!important}
#app .b140-ingredients .b140-scene-friends{z-index:9!important}
#app .b140-ingredients .b140-center{z-index:4!important}
@media(orientation:landscape){
 #app .b140-selection .b140-selection-grid .b140-recipe{
 width:min(100%,clamp(76px,22vh,140px))!important;max-width:140px!important;
 }
 #app .b140-victory .b140-center{
 left:32%!important;width:36%!important;height:86%!important;bottom:0!important
 }
 #app .b150-confetti-sprites{inset:5% 8% 14%!important}
 #app .b150-confetti-sprites img{height:90%!important}
}
@media(orientation:portrait) and (max-height:650px){
 #app .b140-selection .b140-selection-grid .b140-recipe{
 width:min(100%,108px)!important;
 }
 #app .b140-victory .b140-center{left:28%!important;width:44%!important;height:63%!important}
 #app .b150-confetti-sprites{inset:10% 8% 23%!important}
}
@media(prefers-reduced-motion:reduce){
 #app .b140-selection .b140-selection-grid .b140-recipe img,
 #app .b140-victory .b140-pastry,#app .b150-batter-ripple,
 #app .b150-scene-arrive .b140-centerpiece,
 #app .b150-oven-twinkles img,#app .b150-confetti-sprites img,
 #app .b145-oven-image.b150-risen{animation:none!important;transition:none!important}
}
@keyframes b150-plate-bob{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-5px) rotate(2deg)}}
@keyframes b150-batter-bloom{0%{opacity:.75;transform:scale(.35)}40%{opacity:.88}100%{opacity:0;transform:scale(1.32)}}
@keyframes b150-stage-arrive{from{transform:translateY(25px) scale(.87);opacity:.45}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes b150-friend-arrive{0%{transform:translateY(17px) rotate(-7deg)}70%{transform:translateY(-5px) rotate(4deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes b150-oven-stars{from{transform:scale(.6) rotate(-15deg);opacity:.25}to{transform:scale(1.16) rotate(19deg);opacity:1}}
@keyframes b150-starglow{to{opacity:.85}}
@keyframes b150-oven-reveal{0%{transform:scale(.86);opacity:.65}45%{transform:scale(1.035);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes b150-plate-celebrate{to{transform:translateY(-12px) rotate(4deg) scale(1.035)}}
@keyframes b150-confetti-float{to{translate:0 -22px;rotate:6deg}}

/* v150b: bigger but fully visible new plates, no character cropping on 844x390. */
#app .b140-selection .b140-selection-grid .b140-recipe img{
 animation:b150-plate-bob-large 4.1s ease-in-out infinite alternate!important;
 animation-delay:calc(var(--index)*-.43s)!important;
}
@keyframes b150-plate-bob-large{
 from{transform:translateY(0) rotate(-1deg) scale(1.14)}
 to{transform:translateY(-4px) rotate(2deg) scale(1.18)}
}
@media(orientation:landscape){
 #app .b140-victory .b140-scene .b140-friend{
  width:23%!important;height:48%!important;
  bottom:5%!important;max-width:150px!important;
  min-height:0!important;align-self:end!important;
 }
 #app .b140-victory .b140-scene .b140-moritz{left:8%!important}
 #app .b140-victory .b140-scene .b140-igor{right:8%!important}
 #app .b140-victory .b140-scene .b140-friend img{
  height:100%!important;width:100%!important;object-fit:contain!important;
 }
 #app .b140-victory .b140-center{left:33%!important;width:34%!important;height:83%!important;bottom:2%!important}
 #app .b140-victory .b140-victory-hearts img{max-height:56px!important}
}
@media(orientation:portrait) and (max-width:350px){
 #app .b140-selection .b140-selection-grid .b140-recipe img{
  animation:b150-plate-bob-small 4.1s ease-in-out infinite alternate!important;
  animation-delay:calc(var(--index)*-.43s)!important;
 }
 @keyframes b150-plate-bob-small{
  from{transform:translateY(0) scale(1.08)}
  to{transform:translateY(-4px) rotate(1.5deg) scale(1.12)}
 }
}
@media(prefers-reduced-motion:reduce){
 #app .b140-selection .b140-selection-grid .b140-recipe img{
  animation:none!important;transform:scale(1.12)!important;
 }
}
