@font-face{font-family:Nunito;src:url(../fonts/nunito.woff2)format("woff2");font-weight:200 1000;font-display:swap}:root{--brown:#4a2c14;--brown-2:#7a4a22;--cream:#faf7f0;--cream-2:#f1e9d8;--yellow:#ffd60a;--red:#e63946;--red-ink:#c8202f;--orange:#f47216;--teal:#2a9d8f;--blue:#2196f3;--green:#6ab04c;--sun:#ffb703;--ink:#3a2412;--shadow:0 6px 0 #4a2c1447, 0 14px 24px #28140a38;--r:26px;--hud:clamp(48px, 11vmin, 68px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--ease-pop:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--ink);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;background:#8fd0f5;font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:800;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img{-webkit-user-drag:none}p{margin:0 0 .7em}:focus-visible{outline-offset:3px;box-shadow:0 0 0 8px var(--blue);border-radius:14px;outline:4px solid #fff}#app{position:fixed;inset:0;overflow:hidden}#hub{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#hub-ui{pointer-events:none;z-index:1;position:absolute;inset:0}#stage{z-index:10;background:var(--cream);--ix:50%;--iy:50%;display:none;position:absolute;inset:0}#stage.on{animation:iris-in .55s var(--ease-out) both;display:block}#stage.off{animation:.4s ease-in both iris-out;display:block}@keyframes iris-in{0%{clip-path:circle(0% at var(--ix) var(--iy))}to{clip-path:circle(150% at var(--ix) var(--iy))}}@keyframes iris-out{0%{clip-path:circle(150% at var(--ix) var(--iy))}to{clip-path:circle(0% at var(--ix) var(--iy))}}#fx{pointer-events:none;z-index:60;width:100%;height:100%;position:fixed;inset:0}.st{letter-spacing:.01em;isolation:isolate;margin:0;font-weight:1000;line-height:1.05;display:inline-block;position:relative}.st:before{content:attr(data-t);z-index:-1;color:#fff;-webkit-text-stroke:.42em #fff;filter:drop-shadow(0 .09em .03em #28140a73);position:absolute;inset:0}.st-f{color:var(--yellow);-webkit-text-stroke:.2em var(--brown);paint-order:stroke fill;position:relative}.btn{--bg:#fff;--fg:var(--brown);min-width:var(--hud);height:var(--hud);background:var(--bg);color:var(--fg);border:4px solid var(--brown);box-shadow:0 5px 0 var(--brown), 0 10px 16px #28140a40;transition:transform .12s var(--ease-pop), box-shadow .12s ease;pointer-events:auto;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:.45em;padding:0 .5em;font-size:clamp(15px,2.4vmin,19px);font-weight:900;display:inline-flex;position:relative}.btn:hover{transform:translateY(-2px)}.btn:active{box-shadow:0 1px 0 var(--brown), 0 3px 6px #28140a40;transform:translateY(4px)scale(.97)}.btn .ico{display:grid}.btn .ico svg{width:calc(var(--hud) * .5);height:calc(var(--hud) * .5)}.btn-t{white-space:nowrap;padding:0 .5em 0 .1em}.btn.primary{--bg:var(--yellow)}.btn.red{--bg:var(--red-ink);--fg:#fff}.btn.green{--bg:var(--green);--fg:#fff}.btn.blue{--bg:var(--blue);--fg:#fff}.btn.teal{--bg:var(--teal);--fg:#fff}.btn.small{--hud:44px}.btn.big{--hud:clamp(60px, 13vmin, 84px);padding:0 1em;font-size:clamp(18px,3.4vmin,26px)}.btn.on{--bg:var(--yellow)}.btn.bump{animation:bump .5s var(--ease-pop)}@keyframes bump{30%{transform:scale(1.35)rotate(-8deg)}60%{transform:scale(.92)rotate(5deg)}}#hud{padding:calc(10px + var(--safe-t)) calc(12px + var(--safe-r)) 0 calc(12px + var(--safe-l));pointer-events:none;z-index:30;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}#hud .grp{align-items:center;gap:10px;display:flex}#hud-title{text-align:center;padding-top:calc(var(--hud) * .22);flex:1;min-width:0;font-size:clamp(17px,3.6vmin,30px)}#hud-title .st{max-width:100%}@media (max-width:640px){#hud-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}}#hud-logo{height:auto;max-height:calc(var(--hud) * 1.02);width:min(var(--hud) * 4.3, 100vw - var(--hud) * 3 - 30px - 24px - 24px - var(--safe-l) - var(--safe-r));object-fit:contain;filter:drop-shadow(0 4px 4px #28140a4d);pointer-events:auto;min-width:0;display:block}.badge{background:var(--red);color:#fff;border:3px solid #fff;border-radius:13px;place-items:center;min-width:26px;height:26px;padding:0 6px;font-size:13px;font-weight:1000;display:grid;position:absolute;top:-8px;right:-6px;box-shadow:0 2px 4px #28140a4d;background:var(--red-ink)!important}#boot{z-index:80;background:radial-gradient(120% 90% at 50% 20%,#bfe6ff 0%,#7cc6f2 55%,#5fb4e8 100%);place-items:center;transition:opacity .6s,visibility .6s;display:grid;position:fixed;inset:0}#boot.gone{opacity:0;visibility:hidden;pointer-events:none}.boot-in{text-align:center;justify-items:center;gap:clamp(10px,2.4vh,22px);width:min(92vw,560px);padding:20px;display:grid}.boot-face{aspect-ratio:1;object-fit:cover;background:var(--yellow);border:6px solid #fff;border-radius:50%;width:clamp(120px,34vmin,220px);height:auto;animation:1.6s ease-in-out infinite bob;box-shadow:0 8px #4a2c1440,0 18px 30px #143c6459}.boot-word{filter:drop-shadow(0 6px 6px #28140a40);width:min(84vw,460px);height:auto}.boot-tag{color:#fff;text-shadow:0 2px #283c5a80;margin:0;font-size:clamp(15px,3.2vmin,22px)}.boot-bar{background:#ffffff80;border:3px solid #fff;border-radius:9px;width:min(70vw,320px);height:18px;overflow:hidden}.boot-bar i{background:repeating-linear-gradient(-45deg, var(--yellow) 0 12px, var(--sun) 12px 24px);border-radius:9px;width:0%;height:100%;transition:width .3s;display:block}#boot .btn.big{animation:1.4s ease-in-out infinite pulse}@keyframes bob{50%{transform:translateY(-10px)rotate(-3deg)}}@keyframes pulse{50%{transform:scale(1.07)}}#toast{left:50%;bottom:calc(22px + var(--safe-b));background:var(--brown);color:#fff;text-align:center;opacity:0;max-width:min(92vw,520px);transition:transform .35s var(--ease-pop), opacity .25s;z-index:70;pointer-events:none;box-shadow:var(--shadow);border:3px solid #fff;border-radius:22px;padding:12px 20px;font-size:clamp(14px,2.4vmin,18px);position:fixed;transform:translate(-50%,30px)}#toast.on{opacity:1;transform:translate(-50%)}.dlg{z-index:50;padding:calc(14px + var(--safe-t)) 14px calc(14px + var(--safe-b));background:#1e140a00;place-items:center;transition:background .25s;display:grid;position:fixed;inset:0}.dlg.in{background:#1e140a80}.dlg-card{background:var(--cream);border:5px solid var(--brown);width:min(94vw,520px);max-height:100%;box-shadow:0 10px 0 var(--brown), 0 24px 50px #140a0580;opacity:0;transition:transform .35s var(--ease-pop), opacity .2s;text-align:center;-webkit-user-select:text;user-select:text;overscroll-behavior:contain;border-radius:34px;padding:26px 22px 22px;position:relative;overflow:auto;transform:translateY(40px)scale(.9)}.dlg.in .dlg-card{opacity:1;transform:none}.dlg.out .dlg-card{opacity:0;transform:translateY(30px)scale(.92)}.dlg.out{background:#1e140a00}.dlg-card>.st{margin:0 46px 14px;font-size:clamp(24px,5vmin,36px);display:block}.dlg-x{--hud:44px;top:12px;right:12px;position:absolute!important}.dlg-body{justify-items:center;gap:12px;font-size:clamp(15px,2.5vmin,18px);font-weight:700;line-height:1.45;display:grid}.dlg-body p{margin:0}.dlg-card.wide{width:min(96vw,760px)}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.gate-word{color:var(--red);font-size:clamp(24px,5.4vmin,34px);font-weight:1000}.gate-in{width:5.2em;font:inherit;text-align:center;border:4px solid var(--brown);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:18px;padding:8px;font-size:30px;font-weight:1000}.gate-msg{color:var(--red);min-height:1.4em}.reward{z-index:65;pointer-events:none;--fx:0px;--fy:0px;--tx:0px;--ty:0px;width:0;height:0;position:fixed;top:42%;left:50%}.reward img{width:clamp(150px,42vmin,260px);height:auto;animation:reward-in .7s var(--ease-pop) both;filter:drop-shadow(0 10px 14px #28140a66);position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.reward-rays{background:repeating-conic-gradient(from 0deg, #ffd60a8c 0 10deg, #fff0 10deg 20deg);width:150vmin;height:150vmin;animation:6s linear infinite rays,.4s .15s both fade-in;position:absolute;top:0;left:0;transform:translate(-50%,-50%);-webkit-mask:radial-gradient(circle,#000 0,#0009 22%,#0000 55%);mask:radial-gradient(circle,#000 0,#0009 22%,#0000 55%)}.reward-t{white-space:nowrap;justify-items:center;gap:4px;font-size:clamp(22px,5.4vmin,38px);animation:.4s .3s both fade-up;display:grid;position:absolute;top:clamp(90px,25vmin,150px);left:0;transform:translate(-50%)}.reward-t .st:first-child{font-size:.62em}.reward.fly img{animation:.55s cubic-bezier(.5,-.3,.8,.6) both reward-fly}.reward.fly .reward-rays,.reward.fly .reward-t{opacity:0;transition:opacity .2s;animation:none}.in-game .bubble-i{animation:none}.in-game #hub,.in-game #hub-ui,.in-game #hub-ui *{pointer-events:none!important}.in-game .reward{top:calc(var(--hud) + 110px + var(--safe-t))}.in-game .reward img{width:clamp(84px,22vmin,130px)}.in-game .reward-rays{width:70vmin;height:70vmin}.in-game .reward-t{font-size:clamp(16px,3.6vmin,24px);top:clamp(46px,12.5vmin,74px)}@keyframes reward-in{0%{transform:translate(calc(-50% + var(--fx)), calc(-50% + var(--fy))) scale(.15) rotate(-30deg);opacity:0}55%{opacity:1}to{transform:translate(-50%,-50%)scale(1)rotate(-4deg)}}@keyframes reward-fly{0%{transform:translate(-50%,-50%)scale(1)rotate(-4deg)}to{transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(.12) rotate(40deg)}}@keyframes rays{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translate(-50%,16px)}}.game{display:grid;position:absolute;inset:0;overflow:hidden}.game canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.game-bg{object-fit:cover;width:108%;height:108%;position:absolute;inset:-4%}.pill{border:4px solid var(--brown);box-shadow:0 4px 0 var(--brown);white-space:nowrap;background:#fff;border-radius:999px;align-items:baseline;gap:.4em;padding:4px 16px;font-size:clamp(15px,2.8vmin,22px);font-weight:1000;display:inline-flex}.pill small{color:var(--brown-2);text-transform:uppercase;letter-spacing:.05em;font-size:.66em;font-weight:900}.how{left:50%;bottom:calc(18px + var(--safe-b));border:4px solid var(--brown);text-align:center;width:min(92vw,560px);box-shadow:var(--shadow);z-index:5;transition:opacity .4s, transform .4s var(--ease-out);pointer-events:none;background:#fffffff0;border-radius:24px;padding:12px 18px;font-size:clamp(14px,2.4vmin,18px);font-weight:800;position:absolute;transform:translate(-50%)}.how.gone{opacity:0;transform:translate(-50%,30px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.bubble{pointer-events:auto;will-change:transform;z-index:2;width:clamp(54px,13vmin,76px);height:clamp(54px,13vmin,76px);margin:calc(-1*clamp(54px,13vmin,76px)) 0 0 calc(clamp(54px,13vmin,76px)/-2);position:absolute;top:0;left:0}.bubble-i{background:var(--yellow);color:var(--brown);border:4px solid var(--brown);box-shadow:0 5px 0 var(--brown), 0 10px 18px #28140a59;border-radius:50%;place-items:center;transition:background .2s;animation:1.5s ease-in-out infinite bubble;display:grid;position:absolute;inset:0}.bubble-i:after{content:"";background:var(--yellow);border:solid var(--brown);border-width:0 4px 4px 0;border-radius:0 0 5px;width:16px;height:16px;position:absolute;bottom:-13px;left:50%;transform:translate(-50%)rotate(45deg)}.bubble-i svg{width:58%;height:58%;margin-left:6%}.bubble:hover .bubble-i,.bubble:focus-visible .bubble-i{background:#fff}.bubble:active .bubble-i{animation:none;transform:scale(.9)}.b-tv .bubble-i{animation-delay:-.3s}.b-merge .bubble-i{animation-delay:-.6s}.b-hide .bubble-i{animation-delay:-.9s}.b-music .bubble-i{animation-delay:-1.2s}.bubble-z{color:#fff;place-items:center;font-size:30px;font-weight:1000;display:none;position:absolute;inset:0}.bubble.asleep .bubble-i{color:#0000;background:#5b6fb8;animation:none}.bubble.asleep .bubble-i:after{background:#5b6fb8}.bubble.asleep .bubble-z{display:grid}@keyframes bubble{50%{transform:translateY(-9px)scale(1.05)}}.bubble-l{white-space:nowrap;pointer-events:none;z-index:1;opacity:0;width:0;font-size:clamp(14px,2.7vmin,21px);transition:opacity .35s;position:absolute;top:0;left:0}.bubble-l .st{position:absolute;bottom:calc(clamp(54px,13vmin,76px) + 22px);left:0;transform:translate(-50%)}.bubble-l.on{opacity:1}.pan{margin-top:calc(var(--hud) * -.5);opacity:.92;transition:opacity .3s, transform .12s var(--ease-pop);top:50%;position:absolute!important}.pan-l{left:calc(10px + var(--safe-l))}.pan-r{right:calc(10px + var(--safe-r))}.pan.hide{opacity:0;pointer-events:none}.bedtime{left:50%;top:calc(var(--hud) + 26px + var(--safe-t));text-align:center;color:#fff;opacity:0;visibility:hidden;width:min(92vw,520px);transition:opacity .8s, transform .8s var(--ease-out), visibility .8s;background:#141a46d1;border:4px solid #fff;border-radius:28px;padding:14px 18px 12px;font-size:clamp(14px,2.4vmin,17px);font-weight:700;position:absolute;transform:translate(-50%,-20px)}.bedtime .st{margin-bottom:6px;font-size:clamp(24px,5.4vmin,38px)}.bedtime p{margin:0}.bedtime.on{opacity:1;visibility:visible;transform:translate(-50%)}.guests{left:50%;top:calc(var(--hud) + 24px + var(--safe-t));border:3px solid var(--brown);width:max-content;max-width:94vw;color:var(--brown-2);background:#ffffffdb;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:5px 14px;font-size:clamp(12px,2.1vmin,15px);font-weight:800;display:flex;position:absolute;transform:translate(-50%)}.guests:empty{display:none}.guests b{color:var(--brown);background:var(--yellow);border-radius:999px;padding:1px 10px;font-weight:1000}@media (max-width:520px){.guests span{display:none}.guests{gap:5px;padding:4px 8px}}.toys{left:calc(12px + var(--safe-l));top:calc(var(--hud) + 70px + var(--safe-t));z-index:3;position:absolute}.toys button{clip-path:inset(50%);white-space:nowrap;pointer-events:auto;width:1px;height:1px;position:absolute;overflow:hidden}.toys button:focus-visible{clip-path:none;width:auto;height:auto;min-height:44px;color:var(--ink);border:3px solid var(--brown);background:#fff;border-radius:999px;padding:6px 16px;font-size:16px;font-weight:900;display:block;position:static;overflow:visible}
