/* V81 – cohesive illustrated playground landscape and original-art joy burst. */
.zw80-home .zw81-joy-layer{
 position:absolute;inset:0;z-index:15;pointer-events:none!important;
 overflow:visible!important;contain:layout style;
}
.zw80-home .zw81-joy{
 position:absolute;left:0;top:0;display:block;
 width:var(--joy-size,23px);height:var(--joy-size,23px);
 pointer-events:none!important;will-change:transform,opacity;
 transform:translate3d(-200px,-200px,0);opacity:0;
}
.zw80-home .zw81-joy-heart{
 background:linear-gradient(135deg,#ffe8ee,#ff709d 70%);
 width:calc(var(--joy-size,23px) * .75);
 height:calc(var(--joy-size,23px) * .75);
 border:2px solid #c95f88;border-radius:3px;
 transform-origin:center;
}
.zw80-home .zw81-joy-heart::before,
.zw80-home .zw81-joy-heart::after{
 content:"";position:absolute;
 width:100%;height:100%;border-radius:50%;
 background:#ff83a6;box-sizing:content-box;
 border:2px solid #c95f88;
}
.zw80-home .zw81-joy-heart::before{left:-2px;top:-52%;border-bottom:0}
.zw80-home .zw81-joy-heart::after{left:48%;top:-2px;border-left:0}
.zw80-home .zw81-joy-bubble{
 border-radius:50%;
 border:2px solid rgba(255,250,255,.92);
 background:radial-gradient(circle at 31% 25%,rgba(255,255,255,.96) 0%,rgba(203,242,255,.47) 30%,rgba(168,191,250,.36) 67%,rgba(247,196,225,.34) 90%);
 box-shadow:inset -3px -4px 6px #759fc73d,0 1px 5px #fff9d28c;
}
.zw80-home .zw81-joy-balloon{
 width:calc(var(--joy-size,23px) * .79);
 height:calc(var(--joy-size,23px) * 1.13);
 border:2px solid #a96f6f;
 border-radius:47% 51% 47% 50%;
 background:radial-gradient(circle at 30% 22%,#fff4de 0%,var(--joy-color,#ff95a5) 29%,var(--joy-color,#ff95a5) 100%);
 box-shadow:inset -4px -4px 7px #8e5c7d38;
}
.zw80-home .zw81-joy-balloon::after{
 content:"";position:absolute;top:100%;left:49%;
 width:2px;height:calc(var(--joy-size,23px) * .72);
 background:#796d6caa;transform:rotate(14deg);
 border-radius:90%;
}
.zw80-home .zw81-joy-confetti{
 width:calc(var(--joy-size,23px) * .35);
 height:calc(var(--joy-size,23px) * .75);
 border-radius:3px;border:1px solid #745b483d;
 background:var(--joy-color,#f6c56b);
 box-shadow:inset 2px 2px 1px #fff5d188;
}
@media(orientation:landscape){
 #app>.zw80-home{
  padding:0!important;
  background-color:#86c676!important;
  background-image:url('/home-v81/landscape-stage.webp')!important;
  background-size:100% 100%!important;
  background-position:center!important;
 }
 .zw80-home .zw80-scene{
  display:grid!important;position:relative!important;
  grid-template-columns:minmax(0,47.4%) minmax(0,52.6%)!important;
  grid-template-rows:minmax(0,1fr) clamp(24px,6.8dvh,57px)!important;
  gap:0!important;
  justify-items:center!important;align-items:center!important;
  width:100%!important;height:100%!important;
  max-width:none!important;min-height:0!important;
  padding:clamp(4px,1.3dvh,14px) 1% clamp(2px,.5dvh,8px)!important;
  margin:0!important;overflow:hidden!important;
  background:transparent!important;
 }
 .zw80-home .zw80-hero{
  position:relative!important;
  grid-column:1!important;grid-row:1!important;
  align-self:start!important;justify-self:center!important;
  display:block!important;
  width:99%!important;max-width:745px!important;
  height:auto!important;min-height:0!important;max-height:100%!important;
  aspect-ratio:1024 / 614!important;
  background:transparent url('/home-v81/hero-seamless.webp') center/contain no-repeat!important;
  box-shadow:none!important;border:0!important;border-radius:0!important;
  margin:0!important;padding:0!important;
  margin-top:clamp(6px,8dvh,85px)!important;
  transform:none!important;overflow:visible!important;
 }
 .zw80-home .zw80-hero-img{visibility:hidden!important}
 .zw80-home .zw80-grid{
  position:relative!important;grid-column:2!important;grid-row:1!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  min-width:0!important;min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  gap:clamp(1px,.6dvh,9px) clamp(2px,.5vw,13px)!important;
  margin:0!important;padding:clamp(13px,3.2dvh,34px) clamp(16px,3.8vw,62px) clamp(7px,2.7dvh,26px) clamp(12px,2vw,35px)!important;
  background:transparent!important;
  border:0!important;box-shadow:none!important;overflow:visible!important;
 }
 .zw80-home .zw80-tile{
  position:relative!important;width:100%!important;height:100%!important;
  min-width:0!important;min-height:0!important;
  border:0!important;outline-offset:2px!important;
  box-shadow:none!important;background:transparent!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;margin:0!important;
 }
 .zw80-home .zw80-tile img{
  display:block!important;
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;
  filter:drop-shadow(1px 3px 2px #7a603c59)!important;
 }
 .zw80-home .zw80-settings{
  position:absolute!important;left:1.8%!important;top:2.3%!important;
  width:13%!important;height:23%!important;
  background:transparent url('/home-v81/settings-exact.webp') center/contain no-repeat!important;
  filter:drop-shadow(0 2px 2px #644d3b55)!important;
 }
 .zw80-home .zw80-wippe{
  position:absolute!important;left:21%!important;top:54%!important;
  width:56%!important;height:46%!important;
 }
 .zw80-home .zw80-footer{
  grid-column:1/3!important;grid-row:2!important;
  justify-self:center!important;align-self:center!important;
  display:flex!important;
  width:min(31%,390px)!important;height:100%!important;
  max-width:90%!important;max-height:none!important;
  padding:0!important;margin:0!important;
  background:transparent!important;
 }
 .zw80-home .zw80-footer img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}
}
@media(orientation:landscape) and (max-height:460px){
 .zw80-home .zw80-scene{grid-template-rows:minmax(0,1fr) 24px!important}
 .zw80-home .zw80-grid{padding:clamp(4px,2dvh,9px) clamp(7px,1.9vw,18px) 2px 4px!important;gap:0 3px!important}
 .zw80-home .zw80-footer{height:23px!important;width:min(35%,240px)!important}
 .zw80-home .zw80-hero{width:100%!important}
}
@media(prefers-reduced-motion:reduce){
 .zw80-home .zw81-joy{will-change:auto!important}
}
