.intro[data-astro-cid-fmp4ekgg]{z-index:50;background:#241e2e;place-items:center;display:grid;position:fixed;inset:0}.intro[data-astro-cid-fmp4ekgg][hidden]{display:none}.intro__canvas[data-astro-cid-fmp4ekgg]{width:100%;height:100%;display:block}.intro__still[data-astro-cid-fmp4ekgg]{text-align:center;padding:var(--gutter);place-content:center;gap:1rem;display:grid;position:absolute;inset:0}.intro__still[data-astro-cid-fmp4ekgg][hidden]{display:none}.intro__line[data-astro-cid-fmp4ekgg]{font-family:var(--font-px);color:var(--px-cream);max-width:28ch;margin:0 auto;font-size:clamp(.8rem,2.4vw,1.1rem);line-height:1.8}.intro__enter[data-astro-cid-fmp4ekgg],.intro__skip[data-astro-cid-fmp4ekgg]{font-family:var(--font-px);letter-spacing:.05em;color:var(--px-cream);background:var(--terracotta);cursor:pointer;border:0;padding:.9rem 1.4rem;font-size:.75rem;text-decoration:none}.intro__skip[data-astro-cid-fmp4ekgg]{right:var(--gutter);bottom:var(--gutter);border:2px solid var(--px-cream);background:0 0;position:absolute}.intro__skip[data-astro-cid-fmp4ekgg]:hover,.intro__enter[data-astro-cid-fmp4ekgg]:hover{background:var(--px-cream);color:var(--px-plum)}.intro[data-astro-cid-fmp4ekgg].is-leaving{animation:introOut .6s var(--ease-out) forwards}@keyframes introOut{to{opacity:0;transform:scale(1.04)}}body.intro-open{overflow:hidden}.town{background:#241e2e;height:100svh;min-height:560px;position:relative;overflow:hidden}.town__viewport{scrollbar-width:none;position:absolute;inset:0;overflow:auto hidden}.town__viewport::-webkit-scrollbar{display:none}.town__world{width:var(--w);height:var(--h);transform-origin:0 0;transform:scale(var(--scale,1));will-change:transform;position:relative;overflow:hidden}.town__layer{top:0;left:calc(-1 * var(--w));width:calc(3 * var(--w));height:var(--h);will-change:transform;background-repeat:repeat-x;background-size:auto 100%;position:absolute}.town__layer--sky{position:absolute}.town__layer--street,.town__layer--foreground{pointer-events:none}.town__layer--foreground{z-index:2}.town__sign{font-family:var(--font-px);color:#241e2e;background:#c9a26b;border:3px solid #5a3a2a;max-width:150px;padding:8px 10px;font-size:9px;line-height:1.7;position:absolute;box-shadow:4px 4px #241e2e}.building{min-width:84px;min-height:84px;transition:transform .25s var(--ease-out), filter .25s;text-decoration:none;display:block;position:absolute}.building img{width:100%;height:100%}.building:hover,.building:focus-visible{filter:brightness(1.08)drop-shadow(0 0 10px #ffd27873);transform:translateY(-3px)}.building__tag{white-space:nowrap;font-family:var(--font-px);color:#f3e4c8;opacity:0;transition:opacity .2s, transform .25s var(--ease-out);pointer-events:none;background:#241e2e;padding:7px 10px;font-size:9px;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px)}.building:hover .building__tag,.building:focus-visible .building__tag{opacity:1;transform:translate(-50%)}@media (hover:none){.building__tag{opacity:1;transform:translate(-50%)}}.npc-wrap{position:absolute}.npc{cursor:pointer;background:0 0;border:0;min-width:48px;min-height:72px;padding:0;animation:2.6s ease-in-out infinite bob;display:block}.npc img{display:block}@keyframes bob{50%{transform:translateY(-2px)}}.bubble{color:#241e2e;z-index:5;width:280px;animation:pop .2s var(--ease-out);background:#f3e4c8;border:3px solid #241e2e;padding:12px 14px;font-size:13px;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);box-shadow:5px 5px #241e2e}.bubble[hidden]{display:none}.bubble:after{content:"";background:#f3e4c8;border-bottom:3px solid #241e2e;border-right:3px solid #241e2e;width:12px;height:12px;position:absolute;top:100%;left:50%;transform:translate(-50%,-6px)rotate(45deg)}.bubble__text{margin:0 0 6px;line-height:1.45}.bubble__name{font-family:var(--font-px);color:#c9573a;margin:0;font-size:8px}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.9)}}.sunny{width:72px;height:48px;left:var(--from);background:url(/px/characters/sunny.png) no-repeat;animation:.5s steps(4,end) infinite trot,14s ease-in-out infinite alternate roam;position:absolute}@keyframes trot{to{background-position:-288px 0}}@keyframes roam{to{left:var(--to)}}.egg{cursor:pointer;z-index:1;opacity:.9;background:radial-gradient(circle at 35% 30%,#f3e4c8 0 22%,#c9573a 23% 36%,#f3e4c8 37% 58%,#7a8f94 59% 72%,#f3e4c8 73%);border:0;border-radius:50% 50% 48% 48%/60% 60% 40% 40%;width:14px;height:18px;padding:0;position:absolute;box-shadow:inset -2px -2px #241e2e59,0 0 0 1px #241e2e}.egg:hover,.egg:focus-visible{opacity:1;transform:translateY(-2px)}.egg.is-found{animation:.6s ease-in-out wiggle}@keyframes wiggle{25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}.bubble--egg{width:260px;position:absolute;bottom:auto;transform:none}.bubble--egg:after{left:130px}.bubble code{font-family:var(--font-px);color:#f3e4c8;background:#241e2e;padding:3px 6px;font-size:9px}.bird{background:#241e2e;width:10px;height:4px;animation:32s linear infinite fly;position:absolute;top:120px;left:-40px;box-shadow:10px -3px #241e2e,20px 0 #241e2e}@keyframes fly{0%{top:120px;left:-40px}50%{top:90px}to{left:calc(var(--w) + 40px);top:140px}}.town__dots{gap:8px;display:flex;position:absolute;bottom:52px;left:50%;transform:translate(-50%)}.town__dots span{background:#f3e4c859;width:8px;height:8px}.town__dots span.is-active{background:var(--terracotta)}.town__hint{text-align:center;font-family:var(--font-px);letter-spacing:.05em;color:#f3e4c899;margin:0;font-size:8px;position:absolute;bottom:16px;left:0;right:0}.town__hint a{color:inherit}.town__hint-mouse{display:none}@media (pointer:fine){.town__hint-touch{display:none}.town__hint-mouse{display:inline}}@media (prefers-reduced-motion:reduce){.sunny,.bird,.npc{animation:none}.town__viewport{scroll-behavior:auto}}@media (width>=1024px){.town__hint{font-size:9px}}
