:root{--haus-bg: #fbe3b9;--haus-bg-deep: #f6cf8f;--plop-color: #f7a072}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}body{background:radial-gradient(ellipse at 50% 30%,var(--haus-bg) 0%,var(--haus-bg-deep) 100%);font-family:system-ui,sans-serif}#stage{position:fixed;inset:0}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation:fadein .35s ease}@keyframes fadein{0%{opacity:0}to{opacity:1}}.house{display:flex;flex-direction:column;align-items:center}.roof{width:0;height:0;border-left:40vmin solid transparent;border-right:40vmin solid transparent;border-bottom:20vmin solid #d96b47}.facade{width:72vmin;padding:4vmin;background:#f28f6b;border-radius:0 0 3vmin 3vmin;display:grid;grid-template-columns:1fr 1fr;gap:4vmin}.door{position:relative;min-width:80px;min-height:80px;height:22vmin;padding:0;display:flex;align-items:center;justify-content:center;background:#fff5ea;border:.9vmin solid #d96b47;border-radius:3vmin 3vmin 1.5vmin 1.5vmin;font:inherit;cursor:pointer;transform-origin:left center;touch-action:none}.door-icon{font-size:10vmin;line-height:1;pointer-events:none}.door.enabled{animation:breathe 2.2s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.door.locked:after{content:"🔒";position:absolute;right:1.2vmin;bottom:1.2vmin;font-size:4vmin;line-height:1}.door.wiggle{animation:wiggle .4s ease;border-color:#e03b2f;box-shadow:0 0 0 .9vmin #e03b2f73}@keyframes wiggle{0%,to{transform:translate(0)}20%{transform:translate(-2vmin)}40%{transform:translate(2vmin)}60%{transform:translate(-1.2vmin)}80%{transform:translate(1.2vmin)}}.door.opening{animation:none;transition:transform .5s ease-in;transform:perspective(70vmin) rotateY(-85deg)}.room-screen{background:linear-gradient(#fdf3e0 0% 65%,#ecd9ae 65%,#e2c893)}.back-btn{position:absolute;top:2.5vmin;left:2.5vmin;width:max(13vmin,80px);height:max(13vmin,80px);display:flex;align-items:center;justify-content:center;background:#fff5ea;border:.9vmin solid #d96b47;border-radius:50%;font-size:7vmin;cursor:pointer;touch-action:none}.back-btn:active{transform:scale(.92)}.picker-screen{background:radial-gradient(ellipse at 50% 30%,#fdf3e0,#f2ddb4)}.animal-row{display:flex;gap:4vmin;align-items:flex-end;justify-content:center;flex-wrap:wrap;padding:0 4vmin}.animal-btn{min-width:80px;min-height:80px;padding:2vmin;background:#fff5ea;border:.9vmin solid #d96b47;border-radius:4vmin;cursor:pointer;touch-action:none;transition:transform .25s ease,opacity .4s ease}.animal-btn img,.animal-btn .animal-btn-sprite{height:22vmin;display:block;pointer-events:none}.animal-btn:active{transform:scale(.94)}.animal-btn.picked{animation:picked-bounce .7s ease infinite;border-color:#f2a24b;box-shadow:0 0 0 1.2vmin #f2a24b73}@keyframes picked-bounce{0%,to{transform:translateY(0) scale(1.06)}50%{transform:translateY(-2.5vmin) scale(1.1)}}.picked-one .animal-btn:not(.picked){opacity:.35}.game-screen{background:#f6ead2}.scene-box{position:relative;width:min(96vw,calc(92vh * 16 / 9));aspect-ratio:16 / 9;border-radius:2vmin;overflow:visible;background:linear-gradient(#faf2e0 0% 64%,#dcc492 64%,#d2b57c);background-size:cover;background-position:center}.spot{position:absolute;min-width:80px;min-height:80px}.spot-fg{position:absolute;inset:0;width:100%;height:100%;z-index:2;transition:transform .4s ease;transform-origin:bottom center}.spot-fg.placeholder{display:flex;align-items:center;justify-content:center;border:.6vmin solid rgba(0,0,0,.15);border-radius:1.5vmin;font-size:7vmin}.spot-fg span{pointer-events:none}.spot-fg.open{transform:rotate(-14deg) translateY(-10%)}.spot-fg[data-reveal=curtain-slide].open{transform-origin:left center;transform:scaleX(.25)}.spot-fg[data-reveal=tilt].open{transform:rotate(-13deg) translateY(-9%)}.spot-fg[data-reveal=lid-open].open{transform-origin:bottom left;transform:rotate(-18deg)}.spot-fg[data-reveal=bush-shake].open{transform-origin:bottom center;transform:rotate(15deg) translate(18%)}.peek{position:absolute;height:78%;z-index:1;opacity:0;transform:translate(-50%);transition:opacity .25s;pointer-events:none}.peek.peeking{opacity:1;animation:peek-wiggle 1.6s ease-in-out infinite;pointer-events:auto;touch-action:none}@keyframes peek-wiggle{0%,to{transform:translate(-50%) rotate(-3deg)}50%{transform:translate(-50%) rotate(3deg)}}.peek.excited{animation:peek-wiggle-strong .6s ease-in-out infinite}@keyframes peek-wiggle-strong{0%,to{transform:translate(-50%) rotate(-8deg)}50%{transform:translate(-50%) rotate(8deg)}}.peek.jump{opacity:1;z-index:3;animation:jump .8s cubic-bezier(.3,1.4,.5,1) forwards}@keyframes jump{0%{transform:translate(-50%) translateY(15%) scale(.85)}55%{transform:translate(-50%) translateY(-55%) scale(1.35)}to{transform:translate(-50%) translateY(-25%) scale(1.25)}}.runner{position:absolute;height:28%;z-index:4;transform:translate(-50%,-50%);transition:left 1.8s ease-in-out,top 1.8s ease-in-out;pointer-events:none}.runner.wave{animation:wave 1s ease-in-out infinite}@keyframes wave{0%,to{transform:translate(-50%,-50%) rotate(-5deg)}50%{transform:translate(-50%,-50%) rotate(5deg)}}.dark-overlay{position:fixed;inset:0;z-index:5;background:#2b2350;opacity:0;transition:opacity .5s;pointer-events:none}.dark-overlay.on{opacity:.45}.dark-overlay.full.on{opacity:.98}.confetti-piece{position:absolute;top:-4vmin;left:var(--x);width:2vmin;height:3vmin;z-index:6;border-radius:.5vmin;background:var(--c);opacity:0;animation:confetti-fall var(--dur) ease-in var(--delay) forwards;pointer-events:none}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:.9;transform:translateY(105vh) rotate(540deg)}}.celebrate{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5vmin;background:#fbe3b9f0;animation:fadein .4s ease}.cuddle{display:flex;align-items:flex-end}.cuddle img,.cuddle .cuddle-a,.cuddle .cuddle-b{height:34vmin}.cuddle-a{animation:cuddle-left 2.2s ease forwards}.cuddle-b{animation:cuddle-right 2.2s ease forwards}@keyframes cuddle-left{0%{transform:translate(-16vmin) rotate(0)}60%{transform:translate(1vmin) rotate(0)}to{transform:translate(2.5vmin) rotate(9deg)}}@keyframes cuddle-right{0%{transform:translate(16vmin) rotate(0)}60%{transform:translate(-1vmin) rotate(0)}to{transform:translate(-2.5vmin) rotate(-9deg)}}.hearts span{position:absolute;bottom:30vmin;font-size:6vmin;animation:float-up 2.6s ease-in infinite;pointer-events:none}@keyframes float-up{0%{transform:translateY(0);opacity:0}20%{opacity:1}to{transform:translateY(-42vmin);opacity:0}}.btn-row{display:flex;gap:8vmin}.big-btn{width:max(16vmin,80px);height:max(16vmin,80px);display:flex;align-items:center;justify-content:center;background:#fff5ea;border:.9vmin solid #d96b47;border-radius:50%;font-size:8vmin;cursor:pointer;touch-action:none}.big-btn:active{transform:scale(.92)}.tier-sprite svg,.tier-sprite img{display:block;height:100%;width:auto}.tier-sprite .augen-zu,.tier-sprite .mund-lachen,.tier-sprite .mund-traurig,.tier-sprite .mund-o{visibility:hidden}.tier-sprite[data-zustand=normal] .augen-offen{animation:ts-blinzeln 5.5s ease-in-out infinite}@keyframes ts-blinzeln{0%,93%,to{opacity:1}95%,97%{opacity:0}}.tier-sprite[data-zustand=lachen] .augen-offen{visibility:hidden}.tier-sprite[data-zustand=lachen] .augen-zu{visibility:visible}.tier-sprite[data-zustand=lachen] .mund-laecheln{visibility:hidden}.tier-sprite[data-zustand=lachen] .mund-lachen{visibility:visible}.tier-sprite[data-zustand=schlafen] .augen-offen{visibility:hidden}.tier-sprite[data-zustand=schlafen] .augen-zu{visibility:visible}.tier-sprite[data-zustand=traurig] .mund-laecheln{visibility:hidden}.tier-sprite[data-zustand=traurig] .mund-traurig{visibility:visible}.tier-sprite[data-zustand=ueberrascht] .mund-laecheln{visibility:hidden}.tier-sprite[data-zustand=ueberrascht] .mund-o{visibility:visible}.tier-sprite[data-zustand=ueberrascht] .pupille{transform:scale(.8);transform-box:fill-box;transform-origin:center}.tier-sprite[data-zustand=gaehnen] .augen-offen{visibility:hidden}.tier-sprite[data-zustand=gaehnen] .augen-zu{visibility:visible}.tier-sprite[data-zustand=gaehnen] .mund-laecheln{visibility:hidden}.tier-sprite[data-zustand=gaehnen] .mund-o{visibility:visible;transform:scale(1.5);transform-box:fill-box;transform-origin:center}.tier-sprite .pupille,.tier-sprite .glanz{transition:transform .3s ease;transform-box:fill-box;transform-origin:center}.tier-sprite[data-blick=links] .pupille,.tier-sprite[data-blick=links] .glanz{transform:translate(-3.5px)}.tier-sprite[data-blick=rechts] .pupille,.tier-sprite[data-blick=rechts] .glanz{transform:translate(3.5px)}.tier-sprite[data-pose=liegend] svg,.tier-sprite[data-pose=liegend] img{transform:rotate(-90deg)}.tier-sprite[data-aktion=strecken] svg,.tier-sprite[data-aktion=strecken] img{animation:ts-strecken 1.6s ease-in-out;transform-origin:bottom center}.tier-sprite[data-aktion=kauen] .mund-o{transform-box:fill-box;transform-origin:center;animation:tier-kauen .36s ease-in-out 3}@keyframes tier-kauen{0%,to{transform:scaleY(1)}50%{transform:scaleY(.35)}}@keyframes ts-strecken{0%,to{transform:scaleY(1)}40%{transform:scaleY(1.12) scaleX(.96) rotate(-3deg)}60%{transform:scaleY(1.12) scaleX(.96) rotate(3deg)}}.bedtime-screen{background:#232744}.bedtime-box{background-color:#2e3457;overflow:hidden}.hint-pulse{animation:hint-pulse 1.4s ease-in-out infinite;cursor:pointer}@keyframes hint-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(247,209,84,0))}50%{transform:scale(1.05);filter:drop-shadow(0 0 2.5vmin rgba(247,209,84,.9))}}.bt-bett{position:absolute;left:24%;top:36%;width:46%;height:42%;touch-action:none;z-index:1}.bt-tier{position:absolute;left:86%;top:44%;height:34%;transform:translate(-50%);transition:left 1s ease-in-out,top 1s ease-in-out,height 1s ease-in-out;touch-action:none;z-index:2}.bt-yawn{animation:bt-sway 2.2s ease-in-out infinite}@keyframes bt-sway{0%,to{transform:translate(-50%) rotate(-4deg)}50%{transform:translate(-50%) rotate(4deg)}}.bt-tier svg,.bt-tier img{transition:transform .9s ease}.bt-tier.in-bed{left:40%;top:37%;height:30%}.bt-tier.asleep{animation:bt-breathe 3s ease-in-out infinite}@keyframes bt-breathe{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.03)}}.bt-decke{position:absolute;left:41.5%;top:40%;width:22.5%;height:30%;z-index:3;clip-path:inset(0 0 0 88%);transition:clip-path 1.2s ease-in-out;touch-action:none}.bt-decke.tucked{clip-path:inset(0 0 0 0)}.bt-decke.hint-pulse{animation:hint-glow 1.4s ease-in-out infinite}@keyframes hint-glow{0%,to{filter:drop-shadow(0 0 0 rgba(247,209,84,0))}50%{filter:drop-shadow(0 0 3vmin rgba(247,209,84,1))}}.bt-lampe{position:absolute;left:11%;top:40%;width:13%;height:34%;z-index:2;transition:filter .8s ease;touch-action:none}.bt-lampe.off{filter:brightness(.45) saturate(.6)}.bt-regal{position:absolute;left:30%;top:6%;width:24%;height:20%;touch-action:none;z-index:1}.bt-buch{position:absolute;left:38%;top:8%;width:6%;height:15%;z-index:7;transition:left 1.1s ease-in-out,top 1.1s ease-in-out,width 1.1s ease-in-out,height 1.1s ease-in-out;touch-action:none}.bt-buch.fliegt{left:14%;top:56%;width:72%;height:59%}.bt-buch img{width:100%;height:100%;display:block}.bt-lese-btn{position:absolute;top:34%;width:max(11vmin,80px);height:max(11vmin,80px);display:flex;align-items:center;justify-content:center;background:#fdf3e0;border:.8vmin solid #c98d5a;border-radius:50%;font-size:6vmin;cursor:pointer;touch-action:none}.bt-lese-btn:active{transform:scale(.92)}.bt-lese-btn.aktiv{border-color:#f2a24b;box-shadow:0 0 0 1vmin #f2a24b80}.bt-stopp{left:9%;top:32%;border-color:#c1554b}.bt-story-row{position:absolute;right:6%;top:30%;display:flex;gap:2vmin}.bt-story-row .bt-lese-btn{position:static}.bt-lese-btn img{width:78%;height:78%;pointer-events:none}.bt-glow{position:absolute;left:8.5%;top:36%;width:18%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f7d15466,#f7d15400 70%);pointer-events:none;transition:opacity 1s ease;z-index:1}.bt-glow.off{opacity:0}.bt-nacht{position:absolute;inset:0;border-radius:inherit;background:#10132b;opacity:0;transition:opacity 2s ease;pointer-events:none;z-index:4}.bt-nacht.on{opacity:.55}.bt-stern{position:absolute;z-index:5;font-size:3.5vmin;opacity:0;animation:stern-funkeln 2.6s ease-in-out infinite;pointer-events:none}@keyframes stern-funkeln{0%,to{opacity:0;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}.bt-zzz{position:absolute;left:32%;top:22%;z-index:5;pointer-events:none}.bt-zzz span{position:absolute;font-size:5vmin;opacity:0;animation:zzz-float 3.3s ease-in-out infinite}@keyframes zzz-float{0%{opacity:0;transform:translate(0) scale(.7)}25%{opacity:1}to{opacity:0;transform:translate(4vmin,-12vmin) scale(1.15)}}.bt-end{position:absolute;bottom:4vmin;left:50%;transform:translate(-50%);z-index:6;animation:fadein .6s ease}.parent-hotspot{position:fixed;top:0;right:0;width:140px;height:140px;z-index:50;touch-action:none}.parent-hold-ring{position:fixed;top:24px;right:24px;width:64px;height:64px;border:7px solid rgba(217,107,71,.35);border-radius:50%;z-index:55;opacity:0;pointer-events:none}.parent-hold-ring.active{opacity:1;animation:hold-fill 3s linear forwards}@keyframes hold-fill{0%{transform:scale(.35);border-color:#d96b4759}to{transform:scale(1);border-color:#d96b47}}.parent-panel{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#2b23508c;animation:fadein .25s ease;touch-action:none}.parent-card{position:relative;width:min(88vw,560px);max-height:88vh;overflow-y:auto;padding:28px 32px;background:#fff5ea;border:4px solid #d96b47;border-radius:24px;font-family:system-ui,sans-serif;color:#3a2b1e;user-select:none}.parent-card h2{margin:0 0 18px;font-size:22px}.parent-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #ecd9c0;font-size:16px}.parent-toggle{min-height:44px;padding:8px 16px;background:#fdf3e0;border:2px solid #d96b47;border-radius:12px;font:inherit;cursor:pointer}.parent-row input[type=range]{width:50%}.parent-levels{display:flex;gap:8px}.parent-level{width:48px;height:44px;background:#fdf3e0;border:2px solid #d96b47;border-radius:12px;font:inherit;font-size:18px;cursor:pointer}.parent-level.active{background:#f2a24b;border-color:#c96f28}.parent-animals{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.parent-animal{width:56px;height:56px;padding:6px;background:#fdf3e0;border:2px solid #d96b47;border-radius:12px;cursor:pointer}.parent-animal img{width:100%;height:100%;object-fit:contain;pointer-events:none}.parent-animal.off{opacity:.3;border-style:dashed}.parent-close{position:absolute;top:12px;right:12px;width:44px;height:44px;background:#fdf3e0;border:2px solid #d96b47;border-radius:50%;font-size:18px;cursor:pointer}.editor-screen{flex-direction:column;gap:12px;background:#efe3cd;user-select:text}.editor-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;padding:8px 12px;font-family:system-ui,sans-serif;font-size:14px}.editor-bar input,.editor-bar select,.editor-bar button{min-height:40px;padding:6px 10px;background:#fff5ea;border:2px solid #d96b47;border-radius:10px;font:inherit;cursor:pointer}.editor-bar input[type=text]{cursor:text;min-width:150px}.editor-box{width:min(92vw,calc(74vh * 16 / 9));background-color:#faf2e0;outline:2px dashed #c9a97c}.edit-spot{position:absolute;border:2px dashed #d96b47;border-radius:6px;background:#d96b471f;touch-action:none;cursor:move}.edit-spot.selected{border-color:#2b6cb0;background:#2b6cb026;z-index:3}.edit-fg{position:absolute;inset:0;width:100%;height:100%;opacity:.55;pointer-events:none}.edit-label{position:absolute;top:2px;left:4px;font-family:system-ui,sans-serif;font-size:12px;background:#fff5eae6;padding:1px 5px;border-radius:6px;pointer-events:none}.edit-handle{position:absolute;right:-14px;bottom:-14px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#d96b47;color:#fff;border-radius:50%;font-size:15px;touch-action:none;cursor:nwse-resize;z-index:4}.edit-peek{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;background:#f2a24b;border:3px solid #fff;border-radius:50%;touch-action:none;cursor:grab;z-index:4}.editor-json{position:absolute;inset:12% 10%;z-index:10;font-family:monospace;font-size:12px}.ripple{z-index:10;position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:radial-gradient(circle,var(--plop-color) 0%,rgba(247,160,114,0) 70%);pointer-events:none;animation:plop .45s ease-out forwards}@keyframes plop{0%{transform:scale(.2);opacity:.9}to{transform:scale(1.5);opacity:0}}.fuettern-screen{background:#f3e7cf}.fu-tisch{position:absolute;left:18%;top:52%;width:64%;height:40%;z-index:1}.fu-tier{position:absolute;left:4%;top:22%;width:22%;height:48%;z-index:2}.fu-zone{position:absolute;left:34%;top:30%;width:34%;height:40%;min-width:80px;min-height:80px;z-index:3;touch-action:none}.fu-zone.aktiv{cursor:pointer}.fu-schuessel{position:absolute;inset:8% 6%;pointer-events:none}.fu-schuessel svg{width:100%;height:100%}.fu-schuessel [class^=inhalt-],.fu-schuessel .stufe-geschnitten,.fu-schuessel .stufe-fertig{display:none}.fu-schuessel[data-stufe=ganz] .inhalt-sichtbar,.fu-schuessel[data-stufe=geschnitten] .stufe-geschnitten,.fu-schuessel[data-stufe=fertig] .stufe-fertig{display:block}.fu-schuessel[data-stufe=fertig] .stufe-fertig{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(var(--fuell, 1));transition:transform .4s ease-out}.fu-schuessel.fu-schnitt{animation:fu-schnitt .35s ease-out}@keyframes fu-schnitt{0%{transform:translateY(0)}40%{transform:translateY(-1.5vmin)}to{transform:translateY(0)}}.fu-schuessel.fu-wirbel{animation:fu-wirbel .6s ease-in-out}@keyframes fu-wirbel{0%,to{transform:rotate(0)}50%{transform:rotate(6deg)}}.fu-brett{position:absolute;left:22%;top:74%;width:56%;height:22%;display:flex;justify-content:space-around;align-items:center;z-index:4}.fu-zutat{width:14vmin;height:14vmin;min-width:80px;min-height:80px;border:0;background:none;padding:0;touch-action:none;transition:transform .6s ease-in,opacity .6s ease-in}.fu-zutat img{width:100%;height:100%;object-fit:contain}.fu-zutat.fu-fliegt{animation:none;transform:translate(var(--dx),var(--dy)) scale(.5);opacity:0}.fu-werkzeug{position:absolute;left:70%;top:40%;width:18%;min-width:80px;z-index:4;border:0;background:none;padding:0;touch-action:none}.fu-werkzeug img{width:100%;height:auto;display:block}.fu-werkzeug:disabled{pointer-events:none}.fu-werkzeug[hidden]{display:none}.hint-pulse-strong{animation:hint-pulse-strong .8s ease-in-out infinite}@keyframes hint-pulse-strong{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(247,209,84,0))}50%{transform:scale(1.12);filter:drop-shadow(0 0 3.5vmin rgba(247,209,84,1))}}.fu-happen{position:absolute;width:12%;min-width:56px;aspect-ratio:6 / 5;transform:translate(-50%,-50%);z-index:5;pointer-events:none}.fu-happen svg{width:100%;height:100%}.fu-happen[hidden]{display:none}.fu-happen.fu-happen-flug{animation:fu-happen-flug .6s ease-in forwards}@keyframes fu-happen-flug{0%{transform:translate(-50%,-50%) scale(1);opacity:1}70%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.8);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.2);opacity:0}}.fu-tier.fu-kuscheln{animation:fu-kuscheln 1.2s ease-in-out 2}@keyframes fu-kuscheln{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.fu-ende{position:absolute;left:50%;top:82%;transform:translate(-50%,-50%);z-index:6}.fu-ende[hidden]{display:none}
