/* Zählwiese V105: gemalte Auto-Labyrinth-Welt mit glattem Fahrverhalten */
#app .zw105.zw93.main-content{
  background:#8dca6a url('/auto-maze-v106/world-portrait.webp') center/cover no-repeat!important;
}
#app .zw105 #zw93Board.zw104-board{
  border:11px solid #bc854a!important;
  border-radius:27px!important;
  background:#78bb53 url('/auto-maze-v106/meadow-board.webp') center/cover no-repeat!important;
  box-shadow:inset 0 0 0 4px #f9e3a9,inset 0 0 0 7px #a87b45,0 7px 8px #63442b73!important;
  overflow:hidden!important;
}
#app .zw105 #zw93Canvas{z-index:2!important}
#app .zw105 .zw104-task{
  border:4px solid #b98a55!important;border-radius:25px 21px 27px 23px!important;
  background:#fff0cbf5!important;
  box-shadow:inset 0 0 0 3px #fff9e8,1px 4px 3px #75533955!important;
}
#app .zw105 .zw105-car{
  background:none!important;border:0!important;outline:0!important;
  transition:left 280ms cubic-bezier(.19,.7,.3,1),top 280ms cubic-bezier(.19,.7,.3,1)!important;
  transform:translate(-50%,-50%)!important;
  animation:none!important;margin:0!important;
  filter:drop-shadow(1px 3px 2px #66543c73)!important;
  will-change:left,top;
}
#app .zw105 .zw105-car .zw103-rotator,
#app .zw105 .zw105-car img,
#app .zw105 .zw105-car.zw103-rolling img,
#app .zw105 .zw105-car.zw97-stepping,
#app .zw105 .zw105-car.zw93-wiggle{
  animation:none!important;transition:none!important;transform:none!important;
}
#app .zw105 .zw105-car .zw103-wheel{display:none!important}
#app .zw105 .zw104-house{
  z-index:8!important;
  filter:drop-shadow(0 4px 3px #5743298c)!important;
  transform:translate(-50%,-53%)!important;
}
#app .zw105 .zw104-goalring{display:none!important}
#app .zw105 .zw104-title{color:#704729!important;text-shadow:1px 2px #fff2cc}
#app .zw105 .zw104-task .zw104-arrow{color:#bd7840!important}
#app .zw105 .zw104-levels .zw93-level{filter:drop-shadow(0 3px 3px #664f2a77)}
@media(orientation:landscape) and (max-height:650px){
 #app .zw105.zw93.main-content{
   background-image:url('/auto-maze-v106/world-landscape.webp')!important;
 }
 #app .zw105 #zw93Board.zw104-board{border-width:8px!important}
}
@media(prefers-reduced-motion:reduce){
 #app .zw105 .zw105-car{transition:none!important;will-change:auto}
}

/* Zählwiese V106 – Bildkachel-Labyrinth, ohne Canvas-Grafiken */
#app .zw106 #zw93Board{background:#75bb4f url('/auto-maze-v106/meadow-board.webp') center/cover no-repeat!important;}
#app .zw106 .zw106-scene,
#app .zw106 .zw106-road-tiles{
 position:absolute!important;inset:0!important;pointer-events:none!important;
 overflow:hidden!important;
}
#app .zw106 .zw106-scene{z-index:1!important}
#app .zw106 .zw106-road-tiles{z-index:3!important}
#app .zw106 .zw106-road-art{position:absolute!important;object-fit:fill!important;
 display:block!important;max-width:none!important;opacity:1!important;filter:none!important;
 user-select:none!important;-webkit-user-drag:none!important}
#app .zw106 .zw106-scenery{position:absolute!important;transform:translate(-50%,-50%)!important;
 object-fit:contain!important;filter:drop-shadow(1px 2px 1px #425f3066)!important;
 pointer-events:none!important;user-select:none!important}
#app .zw106 .zw104-house{z-index:8!important;}
#app .zw106 .zw105-car{z-index:9!important;}

/* V107 – unabhängige Buntstift-Illustrationen, sanfte Bewegungen */
#app .zw107.main-content{
 background:#83c96f url('/auto-maze-v107/world-portrait.webp') center/cover no-repeat!important;
}
#app .zw107 #zw93Board{
 background:#84c961 url('/auto-maze-v107/meadow-board.webp') center/cover no-repeat!important;
}
#app .zw107 .zw106-scene{z-index:1!important}
#app .zw107 .zw106-road-tiles{z-index:3!important}
#app .zw107 .zw107-ambient,#app .zw107 .zw107-traffic-layer{
 position:absolute!important;inset:0!important;pointer-events:none!important;overflow:hidden!important;
}
#app .zw107 .zw107-ambient{z-index:4!important}
#app .zw107 .zw107-traffic-layer{z-index:7!important}
#app .zw107 .zw107-ambient-item{
 position:absolute!important;transform:translate(-50%,-50%);
 pointer-events:none!important;object-fit:contain!important;opacity:.94;
 filter:drop-shadow(1px 2px 2px #536b4142);
}
#app .zw107 .zw107-ambient-item.is-butterfly{
 animation:zw107Butterfly 7.3s ease-in-out infinite alternate;
}
#app .zw107 .zw107-ambient-item.is-duck{
 animation:zw107Duck 5.7s ease-in-out infinite alternate;
}
#app .zw107 .zw107-ambient-item.is-bird{
 animation:zw107Bird 8.5s ease-in-out infinite alternate;
}
#app .zw107 .zw107-scenery{
 animation:zw107SceneryReveal .5s ease-out both;
}
#app .zw107 .zw107-scenery.is-tree,
#app .zw107 .zw107-scenery.is-flower{
 animation:zw107FlowerBreathe 5.2s ease-in-out infinite alternate;
}
#app .zw107 .zw107-traffic-image{
 position:absolute!important;display:block!important;object-fit:contain!important;
 transform:translate(-50%,-50%)!important;
 filter:drop-shadow(1px 3px 2px #6a493f85);
}
#app .zw107 .zw107-traffic-image[data-light="red"]{
 filter:drop-shadow(0 0 4px #f5a19cbb) drop-shadow(1px 2px 1px #664d4190);
}
#app .zw107 .zw107-traffic-image.is-stopping{
 animation:zw107StopSignal .5s ease-out 1;
}
#app .zw107 .zw107-dust,
#app .zw107 .zw107-goal-sparkles{
 position:absolute!important;pointer-events:none!important;object-fit:contain!important;
 max-width:none!important;transform:translate(-50%,-50%)!important;
}
#app .zw107 .zw107-dust{z-index:6!important;height:auto!important;opacity:0}
#app .zw107 .zw107-goal-sparkles{
 z-index:7!important;height:auto!important;opacity:.35;
 animation:zw107Glint 4.2s ease-in-out infinite;
}
#app .zw107 .zw107-goal-sparkles.is-celebrating{
 animation:zw107GlintWin .8s ease-in-out 3;
}
#app .zw107 .zw105-car{
 transition:left 250ms cubic-bezier(.18,.7,.25,1),top 250ms cubic-bezier(.18,.7,.25,1)!important;
 animation:none!important;transform:translate(-50%,-50%)!important;
}
#app .zw107 .zw105-car.zw107-arrived{
 animation:zw107ParkedJoy .7s ease-out 1!important;
}
#app .zw107 .zw104-house{
 transition:none!important;filter:drop-shadow(0 4px 3px #71552d7d)!important;
}
@keyframes zw107Butterfly{
 0%{transform:translate(-58%,-50%) rotate(-9deg) scale(.9)}
 25%{transform:translate(-35%,-80%) rotate(8deg) scale(1.06)}
 55%{transform:translate(-80%,-105%) rotate(-7deg) scale(.96)}
 100%{transform:translate(-8%,-35%) rotate(11deg) scale(1.02)}
}
@keyframes zw107Duck{
 0%{transform:translate(-65%,-50%) rotate(-3deg)}
 50%{transform:translate(-48%,-57%) rotate(1deg)}
 100%{transform:translate(-32%,-49%) rotate(3deg)}
}
@keyframes zw107Bird{
 0%{transform:translate(-52%,-54%) scale(.95);opacity:.8}
 100%{transform:translate(-46%,-63%) scale(1.04);opacity:.98}
}
@keyframes zw107FlowerBreathe{
 from{opacity:.87;filter:drop-shadow(0 2px 2px #5f77503d) saturate(.98)}
 to{opacity:1;filter:drop-shadow(0 3px 2px #5f775055) saturate(1.08)}
}
@keyframes zw107SceneryReveal{
 from{opacity:0}to{opacity:.98}
}
@keyframes zw107StopSignal{
 0%,100%{opacity:1}35%{opacity:.72}70%{opacity:1}
}
@keyframes zw107Glint{
 0%,100%{opacity:.16;filter:saturate(.9)}
 50%{opacity:.48;filter:saturate(1.12)}
}
@keyframes zw107GlintWin{
 0%,100%{opacity:.45;transform:translate(-50%,-50%) scale(1)}
 50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}
}
@keyframes zw107ParkedJoy{
 0%,100%{transform:translate(-50%,-50%) scale(1)}
 50%{transform:translate(-50%,-54%) scale(1.04)}
}
@media (orientation:landscape) and (max-height:650px){
 #app .zw107.main-content{
  background:#8ac97a url('/auto-maze-v107/world-landscape.webp') center/cover no-repeat!important;
 }
}
@media (prefers-reduced-motion:reduce){
 #app .zw107 .zw107-ambient-item,
 #app .zw107 .zw107-scenery,
 #app .zw107 .zw107-goal-sparkles,
 #app .zw107 .zw105-car,
 #app .zw107 .zw107-traffic-image{
  animation:none!important;transition:none!important;
 }
}

/* V107 mobile control fix: make restart visible only inside Auto-Labyrinth. */
#app:has(.zw107) #zw95Restart{
 display:flex!important;visibility:visible!important;opacity:1!important;
 align-items:center!important;justify-content:center!important;
 width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;
 border:0!important;background:transparent!important;box-shadow:none!important;
 position:absolute!important;right:max(10px,env(safe-area-inset-right))!important;
 bottom:max(12px,env(safe-area-inset-bottom))!important;
 z-index:220!important;pointer-events:auto!important;
 padding:0!important;
}
#app:has(.zw107) #zw95Restart img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;}
#app .zw107 .zw107-scenery.is-tree,#app .zw107 .zw107-scenery.is-flower{
 animation:zw107FlowerBreathe 5.2s ease-in-out infinite alternate!important;
}

/* Keep the actual car visible at arrival; do not replace it by a second ghost image. */
#app .zw107 .zw105-car.zw107-arrived,
#app .zw107 .zw105-car.is-hugging{
 opacity:1!important;visibility:visible!important;
 transform:translate(-50%,-50%)!important;
}
#app .zw107 .zw104-success{display:none!important;}
#app .zw107 .zw104-house.zw104-arrived{opacity:1!important;visibility:visible!important;}
