@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-display:swap;src:url(./fredoka-latin-wght-normal-DM6njrJ3.woff2) format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(./nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2")}:root{--sand: #f6e8cf;--sand-deep: #ebd6b0;--moss: #7fa05a;--moss-light: #96b572;--moss-dark: #5f7e3e;--terracotta: #d9774b;--terracotta-dark: #b8552b;--mustard: #edb93c;--plum: #9a6c8f;--plum-tint: #d1adc6;--plum-deep: #5e3650;--duck-egg: #8cc5c0;--acorn: #8a5a32;--acorn-dark: #6e4524;--blush: #e89a7a;--bark: #3e2c23;--bark-soft: #5a4538;--white: #ffffff;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--tap-min: 64px;--tap-gap: 16px;--radius-sm: 12px;--radius-md: 20px;--radius-lg: 28px;--radius-round: 999px;--shadow-chunky: 0 6px 0 #b8552b;--shadow-soft: 0 6px 0 #ebd6b0;--font-display: "Fredoka", "Baloo 2", "Nunito", system-ui, sans-serif;--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}.wordmark{font-family:var(--font-display);font-size:104px;line-height:1;font-weight:700;letter-spacing:-.01em}.wordmark-sub{font-family:var(--font-display);font-size:32px;line-height:1.2;font-weight:700;letter-spacing:.36em}.title{font-family:var(--font-display);font-size:48px;line-height:1.1;font-weight:600}.heading{font-family:var(--font-display);font-size:32px;line-height:1.15;font-weight:600}.button{font-family:var(--font-display);font-size:28px;line-height:1.1;font-weight:600}.body{font-family:var(--font-body);font-size:18px;line-height:26px;font-weight:400}.body-strong{font-family:var(--font-body);font-size:18px;line-height:26px;font-weight:700}.caption{font-family:var(--font-body);font-size:14px;line-height:20px;font-weight:400}.pl-mascot{display:inline-block;flex:none;line-height:0}.pl-mascot>svg{display:block;width:100%;height:auto}@media (prefers-reduced-motion: no-preference){.pl-mascot.live>svg{transform-origin:50% 100%;animation:pl-breathe 4.2s ease-in-out infinite}.pl-mascot.live .pl-ear,.pl-mascot.live .pl-eyes{transform-box:fill-box}.pl-mascot.live .pl-ear-l{transform-origin:100% 55%}.pl-mascot.live .pl-ear-r{transform-origin:0% 55%}.pl-mascot.live .pl-eyes{transform-origin:center}.pl-mascot.live .pl-eyes{animation:pl-blink 6s ease-in-out infinite}.pl-mascot.live .pl-ear-l{animation:pl-wiggle-l 7s ease-in-out infinite}.pl-mascot.live .pl-ear-r{animation:pl-wiggle-r 7s ease-in-out 1.2s infinite}.pl-mascot.hop>svg{transform-origin:50% 100%;animation:pl-hop .9s ease-in-out infinite}.pl-mascot.pop>svg{transform-origin:50% 100%;animation:pl-pop .45s cubic-bezier(.34,1.56,.64,1) backwards}}@keyframes pl-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,1.035)}}@keyframes pl-blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.12)}}@keyframes pl-wiggle-l{0%,88%,to{transform:rotate(0)}92%{transform:rotate(-7deg)}96%{transform:rotate(3deg)}}@keyframes pl-wiggle-r{0%,88%,to{transform:rotate(0)}92%{transform:rotate(7deg)}96%{transform:rotate(-3deg)}}@keyframes pl-hop{0%,to{transform:translateY(0) scale(1.03,.96)}40%{transform:translateY(-8%) scale(.98,1.04)}70%{transform:translateY(0) scale(1.03,.96)}}@keyframes pl-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.pl-star{display:inline-block;flex:none;line-height:0}.pl-star>svg{display:block;width:100%;height:auto;overflow:visible}:root{color-scheme:light dark;--ground: var(--sand);--card: var(--sand-deep);--ink: var(--bark);--soft: var(--bark-soft);--out: var(--bark);--cloud: #fff;--gear: var(--sand);--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--tw: min(72vw, 36vh);--th: calc(var(--tw) * 112 / 260);--W: min(29vw, 21vh)}.place-crossing{--rail: 51vh;--far: 44vh;--g-sky: #bfe3ee;--g-hill0: #96b572;--g-hill1: #7fa05a;--g-ground: #b5cc8c;--g-leaf: #5f7e3e;--road: #a39a92;--bed: #c9b896;--sleeper: #8a5a32;--steel: #a7a09a}.place-bridge{--rail: 51vh;--far: 46vh;--g-sky: #bfe3ee;--g-hill0: #96b572;--g-hill1: #7fa05a;--g-ground: #b5cc8c;--g-leaf: #5f7e3e;--g-water: var(--duck-egg);--bed: #c9b896;--sleeper: #8a5a32;--steel: #a7a09a;--stone: #d5c4a0}.place-station{--rail: 51vh;--far: 44vh;--g-sky: #bfe3ee;--g-hill0: #96b572;--g-hill1: #7fa05a;--g-ground: #b5cc8c;--g-leaf: #5f7e3e;--bed: #c9b896;--sleeper: #8a5a32;--steel: #a7a09a;--roofs: #d8a98a;--platform: #e0d2b0;--brick: #c98a6a}.place-burrow{--rail: 51vh;--far: 44vh;--g-sky: #8cc5c0;--wall: #8cc5c0;--floor: #d9b27c;--bed: #c9a068;--sleeper: #8a5a32;--steel: #a7a09a;--g-ground: #d9b27c;--g-leaf: #5f7e3e}@media (prefers-color-scheme: dark){:root{--ground: var(--bark);--card: var(--bark-soft);--ink: var(--sand);--soft: var(--sand-deep);--out: var(--sand-deep);--cloud: #6c88a2}.place-crossing{--g-sky: #34506a;--g-hill0: #5f7e3e;--g-hill1: #4f6e33;--g-ground: #6e8f52;--g-leaf: #4f6e33;--road: #6f6862;--bed: #8f8268;--steel: #8a847e}.place-bridge{--g-sky: #34506a;--g-hill0: #5f7e3e;--g-hill1: #4f6e33;--g-ground: #6e8f52;--g-leaf: #4f6e33;--g-water: #4f8f8a;--bed: #8f8268;--steel: #8a847e;--stone: #9a8c6c}.place-station{--g-sky: #34506a;--g-hill0: #5f7e3e;--g-hill1: #4f6e33;--g-ground: #6e8f52;--g-leaf: #4f6e33;--bed: #8f8268;--steel: #8a847e;--roofs: #8a6a58;--platform: #a89a78;--brick: #8a5f48}.place-burrow{--g-sky: #4f8f8a;--wall: #4f8f8a;--floor: #8f7249;--g-ground: #8f7249;--bed: #84693f;--steel: #8a847e}}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--ground);color:var(--ink);font-family:var(--font-body);touch-action:manipulation}h1,h2,h3,.sound-word,.btn{font-family:var(--font-display)}#app{position:fixed;inset:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:0;padding:0;background:none}.screen{position:absolute;inset:0;overflow:hidden;background:var(--ground)}.scene{position:absolute;inset:0;pointer-events:none;overflow:hidden;animation:scene-in .7s ease-out backwards}.scene.back{z-index:1}.scene.front{z-index:3}@keyframes scene-in{0%{opacity:0}}.sky{position:absolute;inset:0;background:var(--g-sky)}.cloud{position:absolute;left:0;color:var(--cloud);opacity:.9;animation:cloud-drift linear infinite}.cloud svg{display:block;height:100%;width:auto}@keyframes cloud-drift{0%{transform:translate(-30vw)}to{transform:translate(110vw)}}.sun{position:absolute;right:7vw;top:23vh;width:min(14vw,8vh);aspect-ratio:1;border-radius:50%;background:var(--mustard);border:4px solid var(--out);animation:sun-breathe 9s ease-in-out infinite}@keyframes sun-breathe{50%{transform:scale(1.06)}}.hills{position:absolute;inset:0}.hill{position:absolute;border-radius:50% 50% 0 0/100% 100% 0 0;border:4px solid var(--out);border-bottom:0;bottom:calc(100vh - var(--far) - .4vh)}.hill.h0{left:-26vw;width:92vw;height:11vh;background:var(--g-hill0)}.hill.h1{right:-34vw;width:100vw;height:7vh;background:var(--g-hill1)}.land{position:absolute;left:-2vw;right:-2vw;top:var(--far);bottom:0;background:var(--g-ground);border-top:4px solid var(--out)}.prop{position:absolute;display:block}.prop svg{display:block;width:100%;height:100%;overflow:visible}.behind{bottom:calc(100vh - var(--far) - .6vh)}.leaf{fill:var(--g-leaf)}.boat{animation:bob 6s ease-in-out infinite}@keyframes bob{50%{translate:0 -.9vh}}.line{position:absolute;left:0;right:0;top:var(--rail);height:5.4vh}.line .ballast{position:absolute;left:0;right:0;top:1vh;bottom:0;background:var(--bed);border-bottom:3px solid var(--out)}.line .sleepers{position:absolute;left:0;right:0;top:1.1vh;height:1.8vh;background:repeating-linear-gradient(90deg,var(--sleeper) 0 2.6vw,transparent 2.6vw 4.4vw)}.line .rail{position:absolute;left:0;right:0;top:0;height:1.3vh;background:var(--steel);border:3px solid var(--out);border-left:0;border-right:0}.road-art{position:absolute;inset:0}.road-art svg{display:block;width:100%;height:100%;overflow:visible}.road{fill:var(--road);stroke:var(--out);stroke-width:4;vector-effect:non-scaling-stroke;stroke-linejoin:round}.road-line{fill:none;stroke:var(--sand);stroke-width:4;stroke-dasharray:14 12;vector-effect:non-scaling-stroke;opacity:.85}.barrier{position:absolute;width:2.4vw;height:9vh}.barrier .post{position:absolute;inset:0;background:var(--sand);border:3px solid var(--bark);border-radius:.6vh}.barrier .lamp{position:absolute;left:-.3vw;top:-2.6vh;width:3vw;aspect-ratio:1;border-radius:50%;background:#8c4a3a;border:3px solid var(--bark);transition:background .6s}.barrier .arm{position:absolute;left:1.2vw;top:.8vh;width:var(--len);height:1.7vh;background:repeating-linear-gradient(90deg,#d4553a 0 3vw,#f6e8cf 3vw 6vw);border:3px solid var(--bark);border-radius:1vh;transform-origin:0 50%;transform:rotate(-82deg);transition:transform 1s ease-in-out}.barrier.flip .arm{left:auto;right:1.2vw;transform-origin:100% 50%;transform:rotate(82deg)}.active .barrier .arm{transform:rotate(0)}.active .barrier .lamp{background:#d4553a;animation:glow 1.8s ease-in-out infinite}@keyframes glow{50%{background:#f08a6c}}svg .lamp{fill:#7fa05a;transition:fill .6s}.active svg .lamp{fill:#d4553a}.viaduct{position:absolute;left:0;right:0;top:calc(var(--rail) + 5.4vh - .2vh);height:19vh}.viaduct svg{display:block;width:100%;height:100%;overflow:visible}.stone{fill:var(--stone);fill-rule:evenodd;stroke:var(--out);stroke-width:4;vector-effect:non-scaling-stroke;stroke-linejoin:round}.river{position:absolute;left:-2vw;right:-2vw;top:calc(var(--rail) + 17vh);bottom:0;background:var(--g-water);border-top:4px solid var(--out)}.river:before,.river:after{content:"";position:absolute;height:1.2vh;border-radius:50%;border:3px solid #fff;border-bottom-color:transparent;border-left-color:transparent;opacity:.6}.river:before{left:12%;top:22%;width:18%}.river:after{left:66%;top:52%;width:22%}.bank{position:absolute;left:-6vw;width:54vw;top:calc(var(--rail) + 13.5vh);bottom:0;background:var(--g-ground);border:4px solid var(--out);border-bottom:0;border-radius:9vh 14vh 0 0/5vh 6vh 0 0}.town{position:absolute;left:-2vw;right:-2vw;top:calc(var(--far) - 9vh);height:9vh}.town svg{display:block;width:100%;height:100%}.roofs{fill:var(--roofs);stroke:var(--out);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round}.platform{position:absolute;left:-2vw;right:-2vw;top:calc(var(--rail) + 5.4vh);bottom:0;background:var(--platform);border-top:4px solid var(--out)}.platform .edge{position:absolute;left:0;right:0;top:0;height:2.6vh;background:var(--brick);border-bottom:4px solid var(--out)}.platform .safety{position:absolute;left:0;right:0;top:3.4vh;height:.9vh;background:var(--mustard);border:2px solid var(--out);border-left:0;border-right:0}.wall{position:absolute;inset:0;background:var(--wall)}.bunting{position:absolute;left:0;right:0;top:calc(var(--safe-t) + 4vh)}.bunting svg{display:block;width:100%;height:8vh}.floorboards{position:absolute;left:0;right:0;top:calc(var(--rail) - 6vh);bottom:0;background:var(--floor);border-top:4px solid var(--out)}.floorboards:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 7.4vh,rgba(62,44,35,.22) 7.4vh calc(7.4vh + 3px))}.rug{position:absolute;left:6vw;right:6vw;top:calc(var(--rail) + 14vh);height:14vh;border-radius:50%;background:var(--mustard);border:4px solid var(--out)}.rug:after{content:"";position:absolute;inset:22% 12%;border-radius:50%;border:3px solid var(--out);opacity:.35}.lane{position:absolute;z-index:2;left:0;right:0;top:calc(var(--rail) - var(--th));height:var(--th);pointer-events:none}.train{position:absolute;left:0;top:0;width:var(--tw);height:var(--th);transform:translate(-100%);pointer-events:auto;touch-action:none}.train-art{display:block;width:100%}.train-art svg{display:block;width:100%;height:auto;overflow:visible}.puff{animation:puff 2.6s ease-out infinite backwards;transform-box:fill-box;transform-origin:center}.puff.p2{animation-delay:.8s}.puff.p3{animation-delay:1.6s}@keyframes puff{0%{transform:translateY(10px) scale(.4);opacity:0}25%{opacity:1}to{transform:translate(-14px,-22px) scale(1.25);opacity:0}}.tally{position:absolute;z-index:5;left:50%;translate:-50% 0;top:calc(var(--safe-t) + 22vh);width:min(26vw,12.5vh);aspect-ratio:1;display:none;place-items:center;border-radius:50%;background:var(--mustard);border:5px solid var(--bark);box-shadow:var(--shadow-soft);pointer-events:none}.tally.on{display:grid}.tally b{font-family:var(--font-display);font-weight:700;font-size:min(15vw,8vh);line-height:1;color:var(--bark)}.tally.pop{animation:tally-pop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes tally-pop{0%{transform:scale(.3)}}.strip{position:absolute;z-index:5;left:0;right:0;top:calc(var(--safe-t) + 22vh);display:none;justify-content:center;align-items:flex-end;gap:1.4vw;padding:0 3vw;pointer-events:none}.strip.show{display:flex}.strip-one{position:relative;display:flex;flex-direction:column;align-items:center;gap:.6vh;width:17vw;opacity:0;transform:scale(0)}.strip[data-count="1"] .strip-one{width:40vw}.strip[data-count="2"] .strip-one{width:34vw}.strip[data-count="3"] .strip-one{width:28vw}.strip[data-count="4"] .strip-one{width:22vw}.strip-one.on{opacity:1;transform:none}.strip-one.pop{animation:strip-pop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes strip-pop{0%{transform:scale(.2) translateY(30%);opacity:0}}.strip-num{display:grid;place-items:center;width:min(10vw,5.6vh);min-width:40px;aspect-ratio:1;border-radius:50%;background:var(--mustard);border:3px solid var(--bark);font-family:var(--font-display);font-weight:700;font-size:max(28px,min(6.5vw,3.6vh));line-height:1;color:var(--bark)}.strip-one .train-art{filter:none}.stars{position:absolute;z-index:6;top:calc(var(--safe-t) + 1.4vh);left:calc(var(--safe-l) + 4vw);display:flex;gap:1.4vw;pointer-events:none}.slot{position:relative;flex:none;width:min(6vh,10.5vw);aspect-ratio:1;border-radius:50%;border:3px solid var(--bark);background:var(--sand-deep);opacity:.85;display:flex;align-items:center;justify-content:center}.slot.full{background:var(--sand);opacity:1}.slot .pl-star{width:78%}.slot.stuck{animation:stick .5s cubic-bezier(.34,1.56,.64,1)}@keyframes stick{0%{transform:scale(.4)}}.ghost{position:fixed;z-index:20;pointer-events:none}.ghost .pl-star{width:100%}.say{position:absolute;z-index:5;left:50%;top:calc(var(--safe-t) + 9.5vh);translate:-50% 0;display:flex;align-items:center;gap:2.5vw;min-height:max(var(--tap-min),min(11vh,20vw));padding:1vh 5vw;background:var(--sand);color:var(--bark);border:5px solid var(--bark);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);touch-action:none;transition:transform .12s}.say:active{transform:translateY(.6vh)}.say-icon svg{display:block;width:min(13vw,7.5vh);height:auto;overflow:visible}.spk{fill:var(--bark);stroke:var(--bark);stroke-width:3;stroke-linejoin:round}.w{fill:none;stroke:var(--bark);stroke-width:4;stroke-linecap:round;opacity:.3}.say.playing .w{animation:wave 1.1s ease-in-out infinite}.say.playing .w2{animation-delay:.18s}.say.playing .w3{animation-delay:.36s}@keyframes wave{0%,to{opacity:.25}40%{opacity:1}}.say-text{font-family:var(--font-display);font-size:max(28px,min(7.4vw,4.8vh));font-weight:600;line-height:1.1;white-space:nowrap}.say:not(.has-word) .say-text{visibility:hidden}.host{position:absolute;z-index:4;left:calc(var(--safe-l) + 3vw);bottom:calc(var(--safe-b) + 24vh);width:min(34vw,19vh);touch-action:none}.host .pl-mascot{display:block;width:100%}.host.bounce .pl-mascot>svg{transform-origin:50% 100%;animation:pl-hop .6s ease-in-out 1}.hop>svg{transform-origin:50% 100%;animation:pl-hop .9s ease-in-out 2}.cards{position:absolute;z-index:6;left:0;right:0;bottom:calc(var(--safe-b) + 4vh);display:flex;justify-content:center;align-items:flex-end;gap:2.6vw}.card{position:relative;flex:none;width:var(--W);aspect-ratio:1 / 1.5;touch-action:none}.cards:not(.up) .card{visibility:hidden;pointer-events:none}.pose{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:5% 3% 7%;background:var(--sand);border:5px solid var(--bark);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);transform-origin:50% 100%}.num{font-family:var(--font-display);font-weight:700;font-size:calc(var(--W) * .44);line-height:1;color:var(--bark)}.up .pose{animation:rise .6s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:calc(var(--i) * .15s)}@keyframes rise{0%{transform:translateY(60%);opacity:0}}.card:active .pose{transform:translateY(.6vh) scale(.97);box-shadow:none}.fruit{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;align-items:center;gap:calc(var(--W) * .02);width:100%;flex:1;--k: .3}.fruit.n1{--k: .5}.fruit.n2{--k: .4}.fruit.n3,.fruit.n4{--k: .36}.fruit.n5{--k: .26}.fruit-one{display:block;width:calc(var(--W) * var(--k));aspect-ratio:1}.fruit-one svg{display:block;width:100%;height:100%;overflow:visible}.up .card.happy .pose{animation:cheer .7s ease-in-out 2;background:var(--mustard)}@keyframes cheer{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-10%) rotate(-4deg)}60%{transform:translateY(0) rotate(3deg)}80%{transform:translateY(-4%) rotate(-2deg)}}.up .card.shy .pose{animation:shy .7s ease-in-out}@keyframes shy{0%,to{transform:rotate(0)}20%{transform:rotate(-6deg) translateY(4%)}50%{transform:rotate(5deg) translateY(4%)}80%{transform:rotate(-3deg)}}.card.away{pointer-events:none}.up .card.away .pose{animation:sink .7s ease-in forwards}@keyframes sink{to{transform:translateY(60%);opacity:0}}.up .card.hint .pose{animation:hint 2.4s ease-in-out infinite;background:var(--mustard)}@keyframes hint{50%{transform:scale(1.07)}}.title{position:relative;z-index:1;margin:0;font-size:min(12vw,7.5vh);font-weight:700;line-height:1.1;text-align:center;color:var(--ink);letter-spacing:-.01em}.title-row{position:absolute;z-index:3;left:0;right:0;top:calc(var(--safe-t) + 11vh);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1vh 3vw;padding:0 4vw}.start .title{font-size:min(11vw,6.4vh)}.plomby-button{padding:0;border:0;background:none;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.plomby-button .pl-mascot{display:block;width:min(14vh,22vw)}.title-word{display:inline-block;white-space:nowrap}.title-letter{display:inline-block;-webkit-text-stroke:.12em var(--bark);margin:0 .01em;paint-order:stroke fill;stroke-linejoin:round;animation:rise-in .55s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(var(--i) * 45ms + 80ms)}@keyframes rise-in{0%{opacity:0;transform:translateY(.5em) scale(.8)}}.levels{position:absolute;z-index:4;left:0;right:0;top:calc(var(--safe-t) + 27vh);bottom:8vh;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;padding:0 8vw}.level{position:relative;width:min(84vw,62vh);height:min(19vh,30vw);padding:0;background:var(--g-sky);color:var(--ink);border:5px solid var(--bark);border-radius:var(--radius-lg, 28px);box-shadow:var(--shadow-chunky);cursor:pointer;overflow:hidden;touch-action:none;-webkit-tap-highlight-color:transparent;animation:pop .55s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(var(--i) * .12s + .3s)}.level:active{transform:translateY(.6vh);box-shadow:none}.card-art{position:absolute;inset:0;display:block}.card-art svg{display:block;width:100%;height:100%}.c-sky{fill:var(--g-sky)}.c-ground{fill:var(--g-ground)}.c-bed{fill:var(--bed)}.c-sleeper{fill:var(--sleeper)}.c-rail{fill:var(--steel)}.c-road{fill:var(--road)}.c-water{fill:var(--g-water)}.c-stone{fill:var(--stone)}.c-gap{fill:var(--g-water)}.c-roofs{fill:var(--roofs)}.c-platform{fill:var(--platform)}.start .prop,.start .road-art,.start .line,.start .barrier,.start .hills{display:none}.start .sun{top:3vh;right:auto;left:5vw;width:min(13vw,7vh)}.tickets{position:absolute;z-index:2;left:0;right:0;top:calc(var(--safe-t) + 9vh);display:flex;flex-wrap:wrap;justify-content:center;gap:2vh 3vw;padding:0 6vw}.ticket{--W: min(24vw, 13vh);width:var(--W);aspect-ratio:1 / 1.3;padding:4% 3% 6%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:var(--sand);border:4px solid var(--bark);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);animation:pop .55s cubic-bezier(.34,1.56,.64,1) backwards}.ticket .num{font-size:calc(var(--W) * .4)}.ticket.s0{rotate:-4deg}.ticket.s1{rotate:3deg}.ticket.s2{rotate:-2deg}.ticket.s3{rotate:4deg}.ticket.s4{rotate:-3deg}@keyframes pop{0%{transform:scale(0) rotate(-20deg)}}.parade{position:absolute;z-index:1;left:0;right:0;bottom:30vh;height:calc(var(--th) * .7);overflow:hidden}.parade:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.1vh;background:var(--steel);border:3px solid var(--out);border-left:0;border-right:0}.parade-one{position:absolute;bottom:1vh;left:0;width:calc(var(--tw) * .7);animation:parade 20s linear infinite}.parade-one.p0{animation-delay:0s}.parade-one.p1{animation-delay:-4s}.parade-one.p2{animation-delay:-8s}.parade-one.p3{animation-delay:-12s}.parade-one.p4{animation-delay:-16s}@keyframes parade{0%{transform:translate(-110%)}to{transform:translate(100vw)}}.cheer{position:absolute;z-index:2;left:0;right:0;bottom:2vh;display:flex;justify-content:center}.cheer .pl-mascot{width:min(64vw,36vh)}.confetti{position:absolute;inset:0;z-index:3;pointer-events:none}.confetti .bit{position:absolute;width:min(10vw,6vh);animation:drift 9s ease-in-out infinite}.confetti .b0{left:6%;top:4%}.confetti .b1{right:8%;top:5%;animation-delay:-2s}.confetti .b2{left:8%;top:52%;animation-delay:-4s}.confetti .b3{right:8%;top:50%;animation-delay:-6s}.confetti .b4{left:44%;top:2%;animation-delay:-3s}@keyframes drift{50%{transform:translateY(-2.5vh) rotate(6deg)}}.star-bit,.pl-star{display:block;width:100%}.sleepy-plomby{position:absolute;z-index:5;left:50%;bottom:10vh;translate:-50% 0;width:min(76vw,44vh);touch-action:none}.sleepy-plomby .pl-mascot{display:block;width:100%}.dim{position:absolute;z-index:4;inset:0;background:#1f1630;opacity:.62}.gate{position:fixed;top:calc(var(--safe-t) + 4px);right:calc(var(--safe-r) + 4px);z-index:10;width:52px;height:52px;padding:12px;color:var(--gear);background:color-mix(in srgb,var(--bark) 40%,transparent);border-radius:50%;opacity:.85;touch-action:none}.gate svg{width:100%;height:100%;display:block}.panel-shade{position:fixed;inset:0;z-index:30;background:color-mix(in srgb,var(--bark) 72%,transparent);display:flex;align-items:center;justify-content:center;padding:calc(var(--safe-t) + 12px) 12px calc(var(--safe-b) + 12px)}.panel{width:min(100%,480px);max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);background:var(--ground);color:var(--ink);border:5px solid var(--out);border-radius:var(--radius-lg);padding:var(--space-3);font-size:17px;line-height:1.4;user-select:text;-webkit-user-select:text;animation:panel-in .35s ease-out backwards}@keyframes panel-in{0%{opacity:0;transform:translateY(20px)}}.panel *{user-select:text;-webkit-user-select:text}.panel h2,.panel h3,.panel p{margin:0}.panel .small{font-size:14px;line-height:20px;color:var(--soft)}.panel .foot{text-align:center}.panel-head{display:flex;align-items:center;gap:var(--space-3)}.panel-badge{flex:none;display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-md);background:var(--duck-egg);border:4px solid var(--bark)}.panel-badge .pl-mascot{width:64px}.panel-title{display:flex;flex-direction:column;gap:2px}.panel-title h2{font-size:28px;font-weight:600;line-height:1.1}.psec{display:flex;flex-direction:column;gap:10px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--card);border:3px solid var(--out)}.psec-head{display:flex;align-items:center;gap:10px}.psec-icon{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);background:var(--moss);border:3px solid var(--bark)}.psec-icon.mustard{background:var(--mustard)}.psec-icon.duck{background:var(--duck-egg)}.psec-icon svg{width:26px;height:26px;fill:var(--bark);stroke:var(--bark);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.psec h3{font-size:20px;font-weight:600}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:0;text-align:left}.switch-label{flex:1;display:flex;flex-direction:column;gap:2px}.switch-label b{font-family:var(--font-display);font-weight:600;font-size:19px}.switch-knob{position:relative;flex:none;width:68px;height:40px;border-radius:20px;background:var(--ground);border:3px solid var(--bark);transition:background .2s}.switch-knob:after{content:"";position:absolute;top:3px;left:3px;width:28px;height:28px;border-radius:50%;background:var(--sand-deep);border:3px solid var(--bark);transition:transform .2s}.switch.on .switch-knob{background:var(--moss)}.switch.on .switch-knob:after{transform:translate(28px);background:var(--sand)}.name{width:100%;height:56px;padding:0 16px;border-radius:var(--radius-sm);border:3px solid var(--out);background:var(--ground);color:var(--ink);font:inherit;font-size:18px}.name:focus{outline:3px solid var(--terracotta);outline-offset:2px}.seg{display:flex;flex-wrap:wrap;gap:8px}.seg button{flex:1 0 auto;min-width:64px;min-height:52px;padding:0 12px;border-radius:var(--radius-round);border:3px solid var(--out);font-family:var(--font-display);font-weight:600;font-size:18px}.seg button[aria-checked=true]{background:var(--mustard);color:var(--bark);border-color:var(--bark)}.btn-row{display:flex;gap:10px}.btn{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:64px;padding:0 18px;border-radius:var(--radius-round);background:transparent;border:3px solid var(--out);color:var(--ink);font-size:22px;font-weight:600;text-decoration:none;text-align:center;transition:transform .12s}.btn:active{transform:translateY(3px)}.btn.primary{background:var(--terracotta);color:var(--bark);border-color:var(--terracotta);box-shadow:0 6px 0 var(--terracotta-dark);margin-bottom:6px}.btn.primary:active{box-shadow:0 2px 0 var(--terracotta-dark);transform:translateY(4px)}@media (orientation: landscape){:root{--tw: min(44vw, 62vh);--W: min(17vw, 24vh)}.place-crossing,.place-bridge,.place-station,.place-burrow{--rail: 62vh;--far: 52vh}.say{top:calc(var(--safe-t) + 4vh);min-height:0;padding:.6vh 3vw}.tally{top:calc(var(--safe-t) + 20vh);width:min(14vw,20vh)}.tally b{font-size:min(8vw,12vh)}.strip{top:calc(var(--safe-t) + 22vh)}.host{bottom:calc(var(--safe-b) + 3vh);width:min(18vw,30vh)}.cards{bottom:calc(var(--safe-b) + 3vh)}.levels{flex-direction:row;top:34vh;bottom:10vh}.level{width:26vw;height:100%}.tickets{top:calc(var(--safe-t) + 6vh)}.parade{bottom:36vh}.sun{top:12vh}.hill.h0{height:14vh}}@media (prefers-reduced-motion: reduce){.cloud,.sun,.level,.say.playing,.title-letter,.boat,.confetti .bit,.up .pose,.hop>svg,.scene,.puff,.parade-one,.tally.pop,.strip-one.pop,.host.bounce .pl-mascot>svg,.active .barrier .lamp{animation:none!important}.cloud{transform:translate(20vw)}.parade-one{transform:translate(30vw)}.parade-one.p1{transform:translate(10vw)}.parade-one.p2{transform:translate(60vw)}.parade-one.p3,.parade-one.p4{display:none}.barrier .arm{transition:none}.up .card.happy .pose{animation:none;transform:translateY(-8%)}.up .card.shy .pose{animation:none}.up .card.away .pose{animation:none;transform:translateY(60%);opacity:0}.up .card.hint .pose{animation:none;transform:scale(1.07)}}
