@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(./fredoka-latin-400-normal-17JuUzdy.woff2)format("woff2"),url(./fredoka-latin-400-normal-DbXSrOeS.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(./fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(./fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(./fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(./nunito-latin-500-normal-EugFkASW.woff2)format("woff2"),url(./nunito-latin-500-normal-B5klmw3Q.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}html,body{background:#7ec8f2;height:100%;margin:0;font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}#ui{pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.lsh-ui{--ink:#3b2f3a;--plum:#4a3848;--muted:#8a7385;--cream:#fffaf2;--cream2:#fff3e0;--pink:#ff9ecd;--pink-d:#f06fa8;--yellow:#ffd166;--mint:#9be3c7;--lav:#c3a6ff;--sky:#8fd3f7;--card:#fffaf2db;--shadow:0 4px 0 #3b2f3a1a, 0 10px 26px #3b2f3a29;--f-display:"Fredoka", "Nunito", ui-rounded, system-ui, sans-serif;--f-body:"Nunito", ui-rounded, system-ui, sans-serif;--st:env(safe-area-inset-top,0px);--sr:env(safe-area-inset-right,0px);--sb:env(safe-area-inset-bottom,0px);--sl:env(safe-area-inset-left,0px);--bounce:cubic-bezier(.34, 1.56, .64, 1);--lb-h:clamp(36px, 10.5vh, 110px);font-family:var(--f-body);color:var(--plum);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.lsh-ui *{box-sizing:border-box}:where(.lsh-ui) button{font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.lsh-ui .ico{display:block;overflow:visible}.ui-safe-probe{visibility:hidden;width:0;height:0;padding:var(--st) var(--sr) var(--sb) var(--sl);position:absolute}.ch-word{white-space:nowrap;display:inline-block}.ch-sp{width:.28em;display:inline-block}.ch{display:inline-block;position:relative}.chb{color:#0000;animation:2.8s ease-in-out infinite chBob;animation-delay:calc(var(--i,0) * -.17s);display:inline-block;position:relative}.chb:before,.chb:after{content:attr(data-ch);position:absolute;top:0;left:0}.chb:before{color:var(--ink);-webkit-text-stroke:.16em var(--ink);text-shadow:0 .075em 0 var(--ink), 0 .14em .2em #3b2f3a59}.chb:after{background:linear-gradient(180deg, var(--hi,#fff) 0 47%, var(--c,#fff3e0) 47% 100%);color:#0000;-webkit-background-clip:text;background-clip:text}@keyframes chBob{0%,to{transform:translateY(0)rotate(-2.5deg)}50%{transform:translateY(-.07em)rotate(2.5deg)}}.ui-vignette{opacity:0;background:radial-gradient(120% 95% at 50% 48%,#0000 52%,#4a38484d 100%),linear-gradient(#fffaf26b 0%,#fffaf200 34% 62%,#ffecf461 100%);transition:opacity 1.2s;position:absolute;top:0;bottom:0;left:0;right:0}.ui-vignette.on{opacity:1}.ui-title{z-index:40;padding:calc(var(--st) + max(18px, 3.2vh)) 16px calc(var(--sb) + max(14px, 2.2vh));flex-direction:column;justify-content:flex-start;align-items:center;display:none;position:absolute;top:0;bottom:0;left:0;right:0}.ui-title.on{display:flex}.ui-title:not(.go) *,.ui-title:not(.go) :before,.ui-title:not(.go) :after{animation-play-state:paused!important}.ui-title.gone{display:none}.title-floaters,.end-floaters{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.floater{left:var(--x);width:var(--s);height:var(--s);opacity:0;animation:floatUp var(--d) linear infinite;animation-delay:var(--delay);position:absolute;bottom:-60px}.floater>.ico{width:100%;height:100%;animation:sway calc(var(--d) / 3.2) ease-in-out infinite alternate;filter:drop-shadow(0 3px #3b2f3a1f)}@keyframes floatUp{0%{opacity:0;transform:translateY(0)}12%{opacity:.8}82%{opacity:.8}to{opacity:0;transform:translateY(calc(-100vh - 140px))}}@keyframes sway{0%{transform:translateX(calc(var(--sway) * -1)) rotate(calc(var(--rot) * -1))}to{transform:translateX(var(--sway)) rotate(var(--rot))}}.title-top{flex-direction:column;align-items:center;display:flex;position:relative}.title-house{width:clamp(46px,min(6vw,8vh),66px);height:clamp(46px,min(6vw,8vh),66px);animation:houseIn .8s var(--bounce) both, houseBob 3s ease-in-out .8s infinite;margin-bottom:-4px;position:relative}.title-house>.ico{filter:drop-shadow(0 4px #3b2f3a26);width:100%;height:100%}.title-house-note{width:34%;height:34%;color:var(--pink);opacity:0;animation:3.2s ease-out .9s infinite chimneyNote;position:absolute;top:-8%;left:62%}.title-house-note.n2{color:var(--lav);animation-delay:2.5s}.title-house-note .ico{width:100%;height:100%}@keyframes houseIn{0%{opacity:0;transform:scale(.2)translateY(30px)}to{opacity:1;transform:none}}@keyframes houseBob{0%,to{translate:0;rotate:-3deg}50%{translate:0 -5px;rotate:3deg}}@keyframes chimneyNote{0%{opacity:0;transform:translate(0)scale(.3)rotate(-10deg)}15%{opacity:1}to{opacity:0;transform:translate(28px,-46px)scale(1.1)rotate(18deg)}}.title-word{font-family:var(--f-display);text-align:center;letter-spacing:.01em;flex-direction:column;align-items:center;margin:0;font-weight:700;line-height:.98;display:flex}.tw-line{white-space:nowrap;display:block}.tw-small{margin-bottom:.08em;font-size:clamp(28px,min(5vw,7.2vh),60px)}.tw-big{font-size:clamp(54px,min(10.4vw,14.5vh),128px)}.title-word .ch{animation:chIn .9s var(--bounce) both;animation-delay:calc(var(--i) * 55ms + .12s)}.tw-small .chb{--c:#fff0dc;--hi:#fff}@keyframes chIn{0%{opacity:0;transform:translateY(-70%)scale(.2)rotate(-14deg)}55%{opacity:1}to{opacity:1;transform:none}}.ui-title.leaving .title-word .ch{animation:.62s ease-in both chOut;animation-delay:calc(var(--i) * 18ms)}@keyframes chOut{0%{opacity:1;transform:none}22%{opacity:1;transform:translateY(6%)scale(1.08,.86)}to{opacity:0;transform:translateY(-170%)scale(.5)rotate(14deg)}}.title-sub{box-shadow:var(--shadow);font:800 clamp(14px, 1.6vw, 18px) / 1.2 var(--f-body);color:var(--plum);animation:fadeUp .8s var(--bounce) both 1.05s;background:#fffaf2d6;border:2px solid #fffffff2;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;margin:max(10px,1.6vh) 0 0;padding:7px 18px 8px;display:inline-flex}.title-sub .dot{background:var(--pink);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 2px #ffe4f1}.title-bottom{animation:fadeUp .9s var(--bounce) both .9s;flex-direction:column;align-items:center;gap:max(10px,1.6vh);margin-top:auto;display:flex;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.ui-title.leaving .title-bottom,.ui-title.leaving .title-sub,.ui-title.leaving .title-credit,.ui-title.leaving .title-house{animation:.45s ease-in both fadeDownOut}.ui-title.leaving .title-bottom{animation-delay:.12s}.ui-title.leaving .play-btn{animation:.4s ease-out both goSquish}@keyframes goSquish{0%{scale:1}35%{scale:1.12 .88}to{opacity:0;scale:1.2}}.ui-title.leaving .title-house,.ui-title.leaving .title-sub{animation-name:fadeUpOut}.ui-title.leaving .title-floaters{opacity:0;transition:opacity .6s}@keyframes fadeDownOut{to{opacity:0;transform:translateY(40px)scale(.9)}}@keyframes fadeUpOut{to{opacity:0;transform:translateY(-40px)scale(.9)}}.title-loading{width:min(300px,72vw);height:38px;transition:opacity .4s ease, transform .5s var(--bounce), height .5s ease .15s, margin .5s ease .15s;align-items:flex-end;display:flex}.title-loading.done{opacity:0;height:0;margin-bottom:calc(-1*max(10px,1.6vh));transform:scale(.6)}.load-track{border:2.5px solid var(--ink);width:100%;height:16px;box-shadow:0 3px 0 var(--ink), 0 8px 18px #3b2f3a33;background:#fffaf2eb;border-radius:999px;padding:2px;position:relative}.load-fill{background:repeating-linear-gradient(-45deg,#ff9ecd 0 7px,#ffb9dc 7px 14px) 0 0/19.8px 100%;border-radius:999px;width:4%;height:100%;transition:width .45s cubic-bezier(.3,.9,.4,1);animation:.8s linear infinite stripes}@keyframes stripes{to{background-position:19.8px 0}}.load-note{width:26px;height:26px;color:var(--pink);margin-left:-13px;transition:left .45s cubic-bezier(.3,.9,.4,1);position:absolute;bottom:14px;left:4%}.load-note .ico{transform-origin:50% 100%;width:100%;height:100%;animation:.55s cubic-bezier(.3,0,.7,1) infinite alternate noteHop}@keyframes noteHop{0%{transform:translateY(0)scale(1.12,.86)rotate(-8deg)}35%{transform:translateY(-4px)scale(.95,1.06)rotate(-2deg)}to{transform:translateY(-13px)scale(1)rotate(10deg)}}.play-btn{pointer-events:auto;border:3px solid var(--ink);min-width:clamp(200px,20vw,250px);box-shadow:0 7px 0 var(--ink), 0 16px 30px #f06fa866;color:#fff;font:700 clamp(26px, 3vw, 34px) / 1 var(--f-display);text-shadow:0 2px #3b2f3a59;cursor:pointer;transition:translate .18s var(--bounce), box-shadow .18s ease, background .4s ease, color .3s;background:linear-gradient(#ffbfdf 0%,#ff9ccd 50%,#fb82bd 100%);border-radius:999px;outline:none;padding:13px 40px 15px;position:relative;overflow:hidden}.play-btn:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;top:-3px;bottom:-3px;left:-3px;right:-3px;box-shadow:0 0 #ff9ecd00}.play-shine{background:#fff9;border-radius:999px;width:30%;height:9px;position:absolute;top:7px;left:16%}.play-label{justify-content:center;align-items:center;gap:10px;display:inline-flex;position:relative}.play-go{display:none}.play-go .ico{color:#fffaf2;width:.95em;height:.95em;animation:1.6s ease-in-out infinite wiggle}.play-btn.ready .play-go{display:inline-flex}.play-btn.ready .play-wait{display:none}.play-btn:disabled{cursor:default;color:var(--muted);text-shadow:none;box-shadow:0 7px 0 var(--ink), 0 14px 26px #3b2f3a2e;background:linear-gradient(#fbf5ff,#efe4fb);padding:15px 34px 16px;font-size:clamp(20px,2.2vw,24px)}.play-btn:disabled .play-shine{opacity:.4}.play-wait .dots{gap:4px;display:inline-flex}.play-wait .dots i{background:var(--lav);border-radius:50%;width:7px;height:7px;animation:.9s ease-in-out infinite dotHop}.play-wait .dots i:nth-child(2){background:var(--pink);animation-delay:.15s}.play-wait .dots i:nth-child(3){background:var(--mint);animation-delay:.3s}@keyframes dotHop{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.play-btn.ready{animation:2.4s ease-in-out 1.4s infinite breathe}.play-btn.ready.pop{animation:popIn .7s var(--bounce), breathe 2.4s ease-in-out infinite 1.4s}.play-btn.ready:hover{box-shadow:0 10px 0 var(--ink), 0 20px 34px #f06fa880;translate:0 -3px}.play-btn.ready:active{box-shadow:0 2px 0 var(--ink), 0 8px 16px #f06fa859;transition-duration:60ms;translate:0 5px}.play-btn.ready:focus-visible:after{box-shadow:0 0 0 5px #ffffffe6,0 0 0 8px #ff9ecdcc}.play-btn.nope{animation:.45s nope}@keyframes breathe{0%,to{scale:1}50%{scale:1.045}}@keyframes popIn{0%{scale:.8}55%{scale:1.14}to{scale:1}}@keyframes nope{0%,to{translate:0}20%{translate:-8px}40%{translate:7px}60%{translate:-5px}80%{translate:3px}}@keyframes wiggle{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)translateY(-2px)}}.controls-card{max-width:min(760px,100vw - 32px);box-shadow:var(--shadow);font:800 13px / 1 var(--f-body);color:var(--plum);background:#fffaf2d6;border:2px solid #fffffff2;border-radius:20px;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 16px;padding:9px 18px;display:flex}.ctl{white-space:nowrap;align-items:center;gap:3px;display:flex}.ctl em{color:var(--muted);margin-left:5px;font-style:normal}.ctl b{color:var(--muted);margin:0 2px;font-weight:800}.ctl .ico{width:22px;height:22px}.ctl-touch,.is-touch .ctl-desk{display:none}.is-touch .ctl-touch{display:flex}.kc{border:1.8px solid var(--ink);min-width:22px;height:22px;box-shadow:0 2.5px 0 var(--ink);font:700 12px / 1 var(--f-display);color:var(--ink);background:linear-gradient(#fff,#fff3e6);border-radius:7px;place-items:center;padding:0 5px;display:inline-grid;translate:0 -1px}.kc-wide{padding:0 7px;font-size:11px}.title-credit{font:800 clamp(13px, 1.3vw, 15px) / 1 var(--f-body);color:var(--plum);letter-spacing:.01em;animation:fadeUp .8s var(--bounce) both 1.3s;background:#fffaf2b8;border-radius:999px;align-items:center;gap:6px;margin-top:max(10px,1.4vh);padding:5px 14px 6px;display:inline-flex}.credit-heart{width:17px;height:17px;color:var(--pink);display:inline-block}.credit-heart .ico{width:100%;height:100%;animation:1.3s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,40%,to{transform:scale(1)}12%{transform:scale(1.25)}24%{transform:scale(.95)}32%{transform:scale(1.14)}}.ui-hud{z-index:10;position:absolute;top:0;bottom:0;left:0;right:0}.hud-top{top:calc(var(--st) + 14px);left:calc(var(--sl) + 14px);right:calc(var(--sr) + 14px);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"tracker banner mute";align-items:start;gap:10px 12px;display:grid;position:absolute}.hud-tracker,.hud-objective,.hud-mute{opacity:0;transition:transform .45s cubic-bezier(.5,0,.75,0),opacity .35s}.hud-tracker{grid-area:tracker;justify-self:start;transform:translate(calc(-100% - 30px))}.hud-objective{grid-area:banner;justify-self:center;transform:translateY(-160%)}.hud-mute{grid-area:mute;justify-self:end;transform:translateY(-160%)scale(.6)}.ui-hud.on .hud-tracker,.ui-hud.on .hud-objective,.ui-hud.on .hud-mute{opacity:1;transition:transform .75s var(--bounce), opacity .4s ease;transform:none}.lsh-ui.title-on .hud-mute{opacity:1;transition:transform .75s var(--bounce) 1.2s, opacity .4s ease 1.2s;transform:none}.ui-hud.on .hud-objective{transition-delay:50ms}.ui-hud.on .hud-tracker{transition-delay:.18s}.ui-hud.on .hud-mute{transition-delay:.3s}.hud-tracker,.hud-objective,.toast{background:var(--card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px)saturate(1.2);backdrop-filter:blur(8px)saturate(1.2);border:2.5px solid #fff}.hud-tracker{border-radius:22px;padding:6px 9px 7px}.tracker-head{font:600 12.5px / 1 var(--f-display);color:var(--muted);align-items:center;gap:5px;padding:0 3px 4px;display:flex}.tracker-head .ico{width:16px;height:16px;color:var(--pink)}.tracker-count{background:var(--ink);color:#fff;font:600 11.5px / 1 var(--f-display);border-radius:999px;margin-left:auto;padding:2px 8px 3px}.hud-tracker.complete .tracker-count{background:var(--pink-d);animation:popIn .6s var(--bounce)}.tracker-slots{gap:5px;display:flex}.slot{flex-direction:column;align-items:center;gap:3px;width:54px;display:flex}.slot-bubble{background:#f1ecef;border:2.5px solid #3b2f3a1f;border-radius:50%;place-items:center;width:50px;height:50px;transition:background .4s,border-color .4s;display:grid;position:relative}.slot-icon{width:40px;height:40px;transition:filter .4s,opacity .4s}.slot-icon .ico{width:100%;height:100%}.slot-label{font:800 10.5px / 1 var(--f-body);color:var(--muted);transition:color .3s}.slot .i-eyes-closed,.slot.locked .i-eyes-open{display:none}.slot.locked .i-eyes-closed{display:inline}.slot.locked .slot-icon{filter:grayscale(.9)brightness(1.1);opacity:.45}.slot.locked .slot-label{opacity:.7}.slot-zz{font:700 14px / 1 var(--f-display);color:#9a7ee6;text-shadow:0 0 2px #fff,0 0 2px #fff,0 1px #fff;display:none;position:absolute;top:-9px;right:-5px}.slot.locked .slot-zz{display:block}.slot-zz i{font-style:normal;animation:2.6s ease-in-out infinite zz;display:inline-block}.slot-zz i:nth-child(2){font-size:10.5px;animation-delay:.9s}@keyframes zz{0%{opacity:0;transform:translateY(4px)scale(.6)}30%{opacity:1}to{opacity:0;transform:translate(4px,-8px)scale(1.1)}}.slot-ring{border:2.5px dashed var(--c);opacity:0;border-radius:50%;transition:opacity .3s;position:absolute;top:-6px;bottom:-6px;left:-6px;right:-6px}.slot.current .slot-ring{opacity:1;animation:7s linear infinite spin}.slot.current .slot-bubble{border-color:var(--c);background:#fff;animation:1.7s ease-out infinite pulseRing}.slot.current .slot-icon{animation:1.8s ease-in-out infinite icoWiggle}.slot.current .slot-label{color:var(--dc)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseRing{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--c) 65%, transparent)}to{box-shadow:0 0 0 12px color-mix(in srgb, var(--c) 0%, transparent)}}@keyframes icoWiggle{0%,to{transform:rotate(-7deg)translateY(0)}50%{transform:rotate(7deg)translateY(-2px)}}.slot.found .slot-bubble{background:var(--t);border-color:var(--c)}.slot.found .slot-label{color:var(--plum)}.slot-check{width:21px;height:21px;transition:transform .45s var(--bounce) .15s;background:#5fcf8f;border:2px solid #fff;border-radius:50%;padding:1px;position:absolute;bottom:-4px;right:-5px;transform:scale(0);box-shadow:0 2px #3b2f3a40}.slot-check .ico{width:100%;height:100%}.slot.found .slot-check{transform:scale(1)}.slot.just-found .slot-bubble{animation:boing .75s var(--bounce)}.slot.just-woke .slot-icon{animation:wake .7s var(--bounce), icoWiggle 1.8s ease-in-out infinite .7s}@keyframes boing{0%{transform:scale(1)}30%{transform:scale(1.35)rotate(-8deg)}60%{transform:scale(.92)rotate(4deg)}to{transform:scale(1)}}@keyframes wake{0%{transform:scale(.8)translateY(4px)}50%{transform:scale(1.2)translateY(-6px)}to{transform:none}}.slot-burst{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.slot-burst i{background:var(--c);border:1.5px solid var(--ink);opacity:0;border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-4px}.slot-burst i:nth-child(2n){background:var(--yellow);width:6px;height:6px;top:-3px;left:-3px}.slot.just-found .slot-burst i{animation:.8s cubic-bezier(.2,.8,.3,1) both burst}.slot-burst i:first-child{--a:0deg}.slot-burst i:nth-child(2){--a:45deg}.slot-burst i:nth-child(3){--a:90deg}.slot-burst i:nth-child(4){--a:135deg}.slot-burst i:nth-child(5){--a:180deg}.slot-burst i:nth-child(6){--a:225deg}.slot-burst i:nth-child(7){--a:270deg}.slot-burst i:nth-child(8){--a:315deg}@keyframes burst{0%{transform:rotate(var(--a)) translateY(-10px) scale(.4);opacity:1}70%{opacity:1}to{transform:rotate(var(--a)) translateY(-40px) scale(1);opacity:0}}.hud-objective{border-radius:28px;align-items:center;gap:12px;min-width:0;max-width:min(560px,100vw - 720px);padding:8px 22px 9px 9px;display:flex}.hud-objective.empty{visibility:hidden}.obj-badge{border:2.5px solid var(--ink);width:44px;height:44px;box-shadow:0 3px 0 var(--ink);background:linear-gradient(#ffc6e2,#ff9ecd);border-radius:50%;flex:none;place-items:center;display:grid}.obj-badge .ico{color:#fffaf2;width:25px;height:25px;animation:2.4s ease-in-out infinite wiggle}.obj-text{min-width:0}.obj-title{font:600 clamp(17px, 1.6vw, 21px) / 1.15 var(--f-display);color:var(--plum)}.obj-hint{font:700 clamp(12.5px, 1.15vw, 14px) / 1.3 var(--f-body);color:var(--muted);margin-top:2px}.hud-objective.no-hint .obj-hint{display:none}.hud-objective.swap-out .obj-text{animation:.22s ease-in forwards objOut}.hud-objective.swap-out .obj-badge{animation:.5s ease-in-out badgeSpin}.hud-objective.swap-in .obj-text{animation:objIn .55s var(--bounce)}.hud-objective.swap-in{animation:bannerBoop .6s var(--bounce)}@keyframes objOut{to{opacity:0;transform:translateY(-10px)scale(.92)}}@keyframes objIn{0%{opacity:0;transform:translateY(12px)scale(.9)}to{opacity:1;transform:none}}@keyframes badgeSpin{to{transform:rotate(360deg)scale(1.1)}}@keyframes bannerBoop{0%{scale:1}40%{scale:1.05}to{scale:1}}.hud-mute{pointer-events:auto;background:var(--card);width:50px;height:50px;box-shadow:var(--shadow);color:var(--yellow);cursor:pointer;border:2.5px solid #fff;border-radius:50%;outline:none;place-items:center;padding:0;display:grid;position:relative}.hud-mute .ico{width:28px;height:28px;transition:transform .2s var(--bounce)}.hud-mute:hover .ico{transform:scale(1.12)rotate(-6deg)}.hud-mute:active .ico{transform:scale(.9)}.hud-mute:focus-visible{box-shadow:var(--shadow), 0 0 0 4px #ff9ecdcc}.hud-mute .snd-off{display:none}.hud-mute.muted{color:var(--pink);background:#ffe4f1}.hud-mute.muted .snd-on{display:none}.hud-mute.muted .snd-off{display:inline}.hud-mute.boop,.ui-hud.on .hud-mute.boop{animation:boop .5s var(--bounce)}@keyframes boop{0%{scale:1}40%{scale:1.22}to{scale:1}}.mute-key{border:1.5px solid var(--ink);min-width:17px;height:17px;box-shadow:0 1.5px 0 var(--ink);font:700 9.5px / 1 var(--f-display);color:var(--ink);background:#fff;border-radius:6px;place-items:center;display:grid;position:absolute;bottom:-5px;right:-5px}.is-touch .mute-key{display:none}.hud-prompt{left:50%;bottom:calc(var(--sb) + max(28px, 4.5vh));background:var(--cream);border:3px solid var(--ink);width:max-content;max-width:calc(100vw - 32px);box-shadow:0 5px 0 var(--ink), 0 14px 26px #3b2f3a40;font:600 clamp(16px, 1.55vw, 19px) / 1.15 var(--f-display);color:var(--plum);white-space:nowrap;opacity:0;border-radius:999px;align-items:center;gap:11px;padding:7px 22px 7px 8px;transition:transform .3s cubic-bezier(.5,0,.75,0),opacity .2s;display:flex;position:absolute;transform:translate(-50%,24px)scale(.8)}.ui-hud.on .hud-prompt.on{opacity:1;transition:transform .45s var(--bounce), opacity .2s ease;animation:2.2s ease-in-out .5s infinite promptBob;transform:translate(-50%)scale(1)}.ui-hud.on .hud-prompt.on.bump{animation:promptBump .4s var(--bounce), promptBob 2.2s ease-in-out infinite .5s}.prompt-text{text-overflow:ellipsis;overflow:hidden}@keyframes promptBob{0%,to{translate:0}50%{translate:0 -3px}}@keyframes promptBump{0%{scale:1}40%{scale:1.08}to{scale:1}}.kc-prompt{min-width:34px;height:34px;box-shadow:0 3.5px 0 var(--ink);border-width:2.5px;border-radius:11px;padding:0 8px;font-size:18px;animation:1.6s ease-in-out infinite keyPress;translate:0 -2px}.kc-prompt.kc-wide{font-size:14px}@keyframes keyPress{0%,62%,to{box-shadow:0 3.5px 0 var(--ink);translate:0 -2px}72%{box-shadow:0 .5px 0 var(--ink);translate:0 1px}84%{box-shadow:0 3.5px 0 var(--ink);translate:0 -2px}}.is-touch .kc-prompt{display:none}.is-touch .hud-prompt{bottom:calc(var(--sb) + 176px);padding:9px 20px 10px;font-size:16px}.hud-compass{opacity:0;will-change:transform;width:0;height:0;transition:opacity .3s;position:absolute;top:0;left:0}.ui-hud.on .hud-compass.on{opacity:1}.compass-bubble{background:var(--cream);border:3px solid var(--ink);width:50px;height:50px;box-shadow:0 4px 0 var(--ink), 0 10px 20px #3b2f3a40;border-radius:50%;place-items:center;animation:1.3s ease-in-out infinite alternate compassBob;display:grid;position:absolute;top:-25px;left:-25px}.compass-bubble .ico{width:27px;height:27px;color:var(--pink);animation:2s ease-in-out infinite wiggle}@keyframes compassBob{0%{translate:0 -2px;scale:1}to{translate:0 2px;scale:1.06}}.compass-dir{width:0;height:0;position:absolute;top:0;left:0}.compass-tip{width:30px;height:30px;color:var(--yellow);animation:.8s ease-in-out infinite alternate tipNudge;position:absolute;top:-15px;left:20px}.compass-tip .ico{filter:drop-shadow(0 2px #3b2f3a4d);width:100%;height:100%}@keyframes tipNudge{0%{translate:0}to{translate:7px}}.compass-label{background:var(--ink);color:#fff;font:800 12.5px / 1 var(--f-body);white-space:nowrap;border-radius:999px;padding:4px 11px 5px;display:none;position:absolute;top:34px;left:0;transform:translate(-50%);box-shadow:0 4px 12px #3b2f3a40}.hud-compass.has-label .compass-label{display:block}.hud-compass.label-above .compass-label{top:auto;bottom:36px}.ui-toasts{left:50%;bottom:calc(var(--sb) + max(96px, 12.5vh));z-index:20;flex-direction:column;align-items:center;width:min(760px,100vw - 32px);display:flex;position:absolute;transform:translate(-50%)}.is-touch .ui-toasts{bottom:calc(var(--sb) + 238px)}.toast-wrap{justify-content:center;max-width:100%;padding-top:8px;display:flex}.toast{max-width:100%;font:600 clamp(15px, 1.4vw, 17px) / 1.2 var(--f-display);color:var(--plum);animation:toastIn .55s var(--bounce) both;border-radius:999px;align-items:center;gap:9px;padding:8px 20px 9px 9px;display:flex}.toast-ico{background:#fff1c2;border:2px solid #ffe08a;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.toast-ico .ico{width:18px;height:18px;color:var(--yellow);animation:2.4s ease-in-out infinite spinWobble}@keyframes spinWobble{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(45deg)scale(1.15)}}.toast.wiggle{animation:.45s wiggleX}.toast-wrap.out .toast{animation:.25s ease-in forwards toastOut}@keyframes toastIn{0%{opacity:0;transform:translateY(18px)scale(.6)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(-8px)scale(.85)}}@keyframes wiggleX{0%,to{transform:none}25%{transform:translate(-6px)rotate(-2deg)}50%{transform:translate(5px)rotate(2deg)}75%{transform:translate(-3px)}}.ui-bigtoasts{left:0;right:0;top:calc(var(--st) + 25vh);z-index:22;place-items:center;padding:0 20px;display:grid;position:absolute}.bigtoast{animation:btIn .75s var(--bounce) both;grid-area:1/1;place-items:center;display:grid;position:relative}.bigtoast.out{animation:.42s cubic-bezier(.5,0,.75,0) forwards btOut}@keyframes btIn{0%{opacity:0;transform:scale(.3)rotate(-6deg)}to{opacity:1;transform:none}}@keyframes btOut{to{opacity:0;transform:translateY(-30px)scale(.8)}}.bt-card{text-align:center;background:linear-gradient(#fffdf8,#fff3e4) padding-box padding-box,linear-gradient(120deg,#ff9ecd,#ffd166,#9be3c7,#8fd3f7,#c3a6ff) border-box;border:4px solid #0000;border-radius:30px;max-width:min(640px,100vw - 40px);padding:22px 36px 20px;animation:2.4s ease-in-out .8s infinite btFloat;position:relative;box-shadow:0 7px #3b2f3a2e,0 20px 44px #3b2f3a47}@keyframes btFloat{0%,to{translate:0;rotate:-1deg}50%{translate:0 -5px;rotate:1deg}}.bt-text{font:700 clamp(23px, 3.3vw, 38px) / 1.15 var(--f-display);color:var(--plum)}.bt-kicker{background:var(--pink);border:2.5px solid var(--ink);box-shadow:0 3px 0 var(--ink);color:#fff;font:700 16px / 1 var(--f-display);text-shadow:0 1.5px #3b2f3a4d;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 14px 5px 10px;display:flex;position:absolute;top:-19px;left:50%;transform:translate(-50%)rotate(-5deg)}.bt-kicker .ico{color:#fffaf2;width:18px;height:18px}.bt-fx{width:0;height:0;position:absolute;top:50%;left:50%}.bt-sparks{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.bt-spark{width:calc(34px * var(--sc,1));height:calc(34px * var(--sc,1));margin:calc(-17px * var(--sc,1)) 0 0 calc(-17px * var(--sc,1));animation:sparkPop .6s var(--bounce) both, twinkle 1.7s ease-in-out infinite;animation-delay:calc(.25s + var(--i) * 45ms), calc(.9s + var(--i) * -.29s);position:absolute}.bt-spark .ico{width:100%;height:100%}@keyframes sparkPop{0%{opacity:0;transform:scale(0)rotate(-90deg)}to{opacity:1;transform:none}}@keyframes twinkle{0%,to{rotate:0deg;scale:1}50%{rotate:20deg;scale:.6}}.bt-conf{opacity:0;width:8px;height:12px;animation:1.7s cubic-bezier(.2,.7,.4,1) both confetti;animation-delay:calc(var(--i) * 18ms);border:1.5px solid #3b2f3a80;border-radius:2px;position:absolute;top:-6px;left:-4px}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}40%{transform:translate(calc(var(--cx) * .8), var(--cy)) rotate(calc(var(--r) * .6));opacity:1}to{transform:translate(var(--cx), calc(var(--cy) * -1 + 80px)) rotate(var(--r));opacity:0}}.ui-letterbox{z-index:30;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.ui-letterbox .lb{height:var(--lb-h);background:#140e17;transition:transform 1.1s cubic-bezier(.65,0,.35,1);position:absolute;left:0;right:0}.ui-letterbox .lb-top{top:0;transform:translateY(-101%);box-shadow:0 6px 24px #140e1740}.ui-letterbox .lb-bottom{bottom:0;transform:translateY(101%);box-shadow:0 -6px 24px #140e1740}.ui-letterbox.on .lb{transform:none}.ui-flash{z-index:85;opacity:0;background:#fffaf2;position:absolute;top:0;bottom:0;left:0;right:0}.ui-fade{z-index:90;opacity:0;background:#0e0a11;position:absolute;top:0;bottom:0;left:0;right:0}.ui-ending{z-index:50;padding:calc(var(--st) + 16px) calc(var(--sr) + 16px) calc(var(--sb) + 16px) calc(var(--sl) + 16px);place-items:center;display:none;position:absolute;top:0;bottom:0;left:0;right:0}.ui-ending.on{display:grid}.ui-ending.leaving{animation:.85s forwards endOut}@keyframes endOut{to{opacity:0;transform:scale(1.04)}}.end-glow{background:radial-gradient(62% 40% at 50% 48%,#fffaf29e 0%,#ffeef652 50%,#ffeef600 78%),radial-gradient(130% 100%,#0000 58%,#4a384842 100%);animation:1.8s both fadeIn;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.end-floaters{transition:top 1s,bottom 1s;animation:2s 1s both fadeIn}.lsh-ui.lb-on .end-floaters{top:var(--lb-h);bottom:var(--lb-h)}.end-content{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.end-line1-wrap{padding:0 .2em;position:relative}.end-line1{font:700 clamp(44px, min(9.4vw, 15vh), 128px) / 1.02 var(--f-display);letter-spacing:.01em;text-align:center;margin:0}.end-line1 .chb{--c:#ffe0ee;--hi:#fff}.end-line1 .ch{animation:1.15s cubic-bezier(.2,.8,.2,1) both blurIn;animation-delay:calc(var(--i) * 62ms + .25s)}@keyframes blurIn{0%{opacity:0;filter:blur(16px);transform:translateY(.35em)scale(.6)}55%{opacity:1;filter:blur()}to{opacity:1;filter:none;transform:none}}.is-low .end-line1 .ch{animation-name:softIn}@keyframes softIn{0%{opacity:0;transform:translateY(.35em)scale(.6)}to{opacity:1;transform:none}}.end-twinkle{opacity:0;width:clamp(16px,2.2vw,28px);height:clamp(16px,2.2vw,28px);animation:.6s forwards fadeIn,2.2s ease-in-out infinite twinkle;animation-delay:calc(1.3s + var(--i) * .12s), calc(var(--i) * -.4s);position:absolute}.end-twinkle .ico{width:100%;height:100%}.end-twinkle:first-child{top:-8%;left:-5%}.end-twinkle:nth-child(2){width:clamp(20px,2.8vw,36px);height:clamp(20px,2.8vw,36px);top:-14%;right:-4%}.end-twinkle:nth-child(3){top:-22%;left:22%}.end-twinkle:nth-child(4){bottom:-12%;right:18%}.end-twinkle:nth-child(5){width:clamp(12px,1.6vw,20px);height:clamp(12px,1.6vw,20px);bottom:4%;left:-9%}.end-twinkle:nth-child(6){width:clamp(12px,1.6vw,20px);height:clamp(12px,1.6vw,20px);bottom:18%;right:-9%}.end-twinkle:nth-child(7){width:clamp(12px,1.6vw,20px);height:clamp(12px,1.6vw,20px);top:-26%;left:60%}.end-line2{border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink), 0 16px 30px #3b2f3a40;font:600 clamp(19px, 2.4vw, 30px) / 1.1 var(--f-display);color:var(--plum);animation:line2In 1s var(--bounce) both 1.35s;background:#fffaf2eb;border-radius:999px;align-items:center;gap:10px;margin-top:max(14px,2.4vh);padding:9px 22px 10px 24px;display:inline-flex}.end-line2.end-extra{box-shadow:0 3px 0 var(--ink);border-width:2px;font-size:clamp(15px,1.7vw,20px);animation-delay:2s}@keyframes line2In{0%{opacity:0;filter:blur(6px);transform:translateY(20px)scale(.6)}to{opacity:1;filter:none;transform:none}}.end-heart{width:1.05em;height:1.05em;color:var(--pink);display:inline-block}.end-heart .ico{width:100%;height:100%;animation:1.3s ease-in-out 2s infinite heartbeat}.end-buttons{opacity:0;transition:opacity .5s ease, transform .7s var(--bounce);flex-wrap:wrap;justify-content:center;gap:14px 16px;margin-top:max(26px,4.2vh);display:flex;transform:translateY(18px)scale(.9)}.ui-ending.buttons-live .end-buttons{opacity:1;transform:none}.end-btn{pointer-events:none;border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink), 0 14px 26px #3b2f3a38;font:700 clamp(18px, 1.7vw, 21px) / 1 var(--f-display);cursor:pointer;transition:translate .18s var(--bounce), box-shadow .18s ease;border-radius:999px;outline:none;align-items:center;gap:8px;padding:11px 26px 13px;display:inline-flex}.ui-ending.buttons-live .end-btn{pointer-events:auto}.end-btn .ico{color:#fffaf2;width:1em;height:1em;animation:1.6s ease-in-out infinite wiggle}.end-wander{color:#fff;text-shadow:0 2px #3b2f3a52;background:linear-gradient(#ffbfdf 0%,#ff9ccd 50%,#fb82bd 100%)}.end-replay{color:var(--plum);background:linear-gradient(#fff,#fff1df)}.end-btn:hover{box-shadow:0 9px 0 var(--ink), 0 18px 30px #3b2f3a42;translate:0 -3px}.end-btn:active,.end-btn.pressed{box-shadow:0 1px 0 var(--ink), 0 6px 12px #3b2f3a33;transition-duration:60ms;translate:0 5px}.end-btn:focus-visible{box-shadow:0 6px 0 var(--ink), 0 0 0 5px #ffffffe6, 0 0 0 8px #ff9ecdcc}.is-low .hud-tracker,.is-low .hud-objective,.is-low .toast{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffaf2f2}@media (max-width:1100px){.hud-top{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"banner mute""tracker tracker"}.hud-tracker{justify-self:center;transform:translateY(-40px)scale(.8)}.hud-objective{max-width:min(560px,100%)}}@media (max-width:640px){.hud-top{top:calc(var(--st) + 10px);left:calc(var(--sl) + 10px);right:calc(var(--sr) + 10px);gap:8px}.hud-objective{border-radius:22px;justify-self:stretch;gap:9px;max-width:none;padding:6px 14px 7px 7px}.obj-badge{width:36px;height:36px}.obj-badge .ico{width:21px;height:21px}.obj-title{font-size:16px}.obj-hint{font-size:12px}.hud-mute{width:44px;height:44px}.hud-mute .ico{width:25px;height:25px}.hud-tracker{border-radius:20px;padding:5px 7px 6px}.tracker-head{display:none}.tracker-slots{gap:3px}.slot{width:48px}.slot-bubble{width:42px;height:42px}.slot-icon{width:33px;height:33px}.slot-label{font-size:9.5px}.ui-toasts{width:calc(100vw - 24px)}.toast{white-space:normal;text-align:left;border-radius:22px;font-size:15px}.hud-prompt{white-space:normal;text-align:center;font-size:15.5px}.compass-label{font-size:11.5px}.tw-big{font-size:min(15vw,66px)}.tw-small{font-size:min(8.4vw,38px)}.title-sub{text-align:center;border-radius:20px;flex-direction:column;gap:1px;padding:7px 18px 8px;font-size:14px}.title-sub .dot{display:none}.controls-card{gap:7px 12px;max-width:340px;padding:9px 12px;font-size:12px}.end-line1{font-size:min(15vw,64px)}.end-line2{padding:8px 18px 9px 20px;font-size:19px}.end-buttons{flex-direction:column;align-items:center}.play-btn{padding:13px 34px 15px}}@media (max-height:560px) and (orientation:landscape){.title-house{display:none}.tw-big{font-size:clamp(40px,13vh,90px)}.tw-small{font-size:clamp(22px,6.4vh,44px)}.controls-card{display:none}.hud-tracker{transform:none}.is-touch .hud-prompt{bottom:calc(var(--sb) + 22px)}.is-touch .ui-toasts{bottom:calc(var(--sb) + 84px)}}@media (min-width:1600px) and (min-height:900px){.tw-big{font-size:min(10.4vw,14.5vh,152px)}.tw-small{font-size:min(5vw,7.2vh,72px)}.title-house{width:76px;height:76px}.title-sub,.title-credit{zoom:1.15}.title-bottom{zoom:1.2}.hud-tracker,.hud-objective,.hud-mute{zoom:1.15}.toast{zoom:1.12}.hud-prompt{padding:8px 26px 8px 9px;font-size:21px}.kc-prompt{min-width:38px;height:38px;font-size:20px}.compass-bubble{scale:1.1}}@media (prefers-reduced-motion:reduce){.lsh-ui .floater{display:none}.lsh-ui .chb,.lsh-ui .title-house,.lsh-ui .title-house-note,.lsh-ui .play-btn.ready,.lsh-ui .play-go .ico,.lsh-ui .obj-badge .ico,.lsh-ui .slot-ring,.lsh-ui .slot.current .slot-icon,.lsh-ui .slot.current .slot-bubble,.lsh-ui .slot-zz i,.lsh-ui .kc-prompt,.lsh-ui .compass-bubble,.lsh-ui .compass-bubble .ico,.lsh-ui .compass-tip,.lsh-ui .toast-ico .ico,.lsh-ui .bt-card,.lsh-ui .bt-spark,.lsh-ui .end-twinkle,.lsh-ui .end-btn .ico,.lsh-ui .credit-heart .ico,.lsh-ui .end-heart .ico,.lsh-ui .load-fill,.lsh-ui .load-note .ico{animation:none!important}.lsh-ui .ui-hud.on .hud-prompt.on{animation:none}.lsh-ui .bt-spark{opacity:0}.lsh-ui .end-twinkle{opacity:1}.lsh-ui .end-line1 .ch{animation-name:softIn;animation-duration:.6s}}.lsh-ui,#lsh-touch{text-transform:lowercase}.chb:after{--pt:.36em;--pb:.52em;--px:.24em;left:calc(-1 * var(--px));top:calc(-1 * var(--pt));padding:var(--pt) var(--px) var(--pb);background:linear-gradient(180deg, var(--hi,#fff) 0 47%, var(--c,#fff3e0) 47% 100%) 0 var(--pt) / 100% calc(100% - var(--pt) - var(--pb)) no-repeat, linear-gradient(180deg, var(--hi,#fff) 0 50%, var(--c,#fff3e0) 50% 100%);-webkit-background-clip:text;background-clip:text}.title-sub.title-sub-one{text-align:center;flex-direction:row;justify-content:center}.title-sub.title-sub-one span{text-wrap:balance}@media (max-width:640px){.title-sub.title-sub-one{max-width:320px;font-size:13px;line-height:1.3}}.ui-letterbox .lb{transition:transform 1.1s cubic-bezier(.65,0,.35,1),height 2.4s cubic-bezier(.65,0,.35,1)}.lsh-ui.lb-wide{--lb-h:25vh}.lsh-ui.lb-wide .end-glow{top:25vh;bottom:25vh}.lsh-ui.is-wander .hud-mute{opacity:1;transition:transform .75s var(--bounce) 1.4s, opacity .4s ease 1.4s;transform:none}@media (max-height:560px) and (orientation:landscape){.hud-top{top:calc(var(--st) + 8px);left:calc(var(--sl) + 10px);right:calc(var(--sr) + 10px);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"tracker banner mute";gap:8px}.hud-tracker{border-radius:18px;justify-self:start;padding:4px 6px 5px}.tracker-head{display:none}.tracker-slots{gap:2px}.slot{gap:2px;width:44px}.slot-bubble{border-width:2px;width:38px;height:38px}.slot-icon{width:30px;height:30px}.slot-label{font-size:9px}.slot-check{width:17px;height:17px;bottom:-3px;right:-4px}.slot-zz{font-size:12px;top:-7px}.hud-objective{border-radius:20px;justify-self:center;gap:8px;max-width:100%;padding:5px 14px 6px 6px}.obj-badge{width:32px;height:32px;box-shadow:0 2px 0 var(--ink);border-width:2px}.obj-badge .ico{width:19px;height:19px}.obj-title{font-size:15px}.obj-hint{margin-top:1px;font-size:11.5px}.hud-mute{width:42px;height:42px}.hud-mute .ico{width:24px;height:24px}.ui-toasts{bottom:calc(var(--sb) + 76px);width:min(560px,100vw - 340px)}.is-touch .ui-toasts{bottom:calc(var(--sb) + 68px)}.toast-wrap{padding-top:6px}.toast{border-radius:18px;gap:7px;padding:5px 15px 6px 6px;font-size:14px}.toast-ico{width:24px;height:24px}.toast-ico .ico{width:15px;height:15px}.hud-prompt{font-size:15px}.is-touch .hud-prompt{bottom:calc(var(--sb) + 14px);padding:7px 16px 8px;font-size:15px}.ui-bigtoasts{top:calc(var(--st) + 22vh)}.bt-card{border-radius:24px;padding:14px 26px 13px}.bt-text{font-size:clamp(20px,7vh,30px)}.end-line1{font-size:clamp(30px,12vh,64px)}.end-line2{box-shadow:0 4px 0 var(--ink), 0 10px 20px #3b2f3a38;border-width:2.5px;margin-top:8px;padding:6px 16px 7px 18px;font-size:16px}.end-buttons{gap:10px 12px;margin-top:14px}.end-btn{box-shadow:0 4px 0 var(--ink), 0 10px 18px #3b2f3a33;border-width:2.5px;padding:8px 18px 10px;font-size:15px}}
