.pp-yard{z-index:50;pointer-events:auto;font-family:var(--font,system-ui, sans-serif);color:var(--ink,#17324a);padding:calc(env(safe-area-inset-top) + 10px) 10px calc(env(safe-area-inset-bottom) + 10px);background:#0c283c80;place-items:center;display:grid;position:fixed;inset:0}.pp-yard-card{background:var(--card,#fff);border-radius:26px;flex-direction:column;width:min(94vw,400px);max-height:100%;animation:.22s ease-out pp-yard-pop;display:flex;overflow:hidden;box-shadow:0 10px 40px #0a283c59}@keyframes pp-yard-pop{0%{opacity:0;transform:scale(.9)}}.pp-yard-card.bought .pp-yard-coins{animation:.45s ease-out pp-yard-spend}@keyframes pp-yard-spend{40%{background:#ffe3c9;transform:scale(1.18)}}.pp-yard-head{align-items:center;gap:10px;padding:12px 12px 8px 18px;display:flex}.pp-yard-head h2{flex:1;margin:0;font-size:24px;font-weight:900}.pp-yard-coins{background:#fff4e8;border-radius:999px;align-items:center;gap:5px;padding:5px 12px 5px 9px;font-size:17px;font-weight:900;display:inline-flex}.pp-yard-coins svg,.pp-yard-tag svg,.pp-yard-act svg{flex:none;width:22px;height:15px}.pp-yard-close{width:40px;height:40px;color:var(--ink,#17324a);font:800 22px/1 var(--font,system-ui, sans-serif);cursor:pointer;background:#e9f3f8;border:0;border-radius:50%}.pp-yard-head,.pp-yard-stage,.pp-yard-tabs{flex:none}.pp-yard-stage{background:#cfeefa;border-radius:20px;margin:0 14px;position:relative;overflow:hidden}.pp-yard-canvas{width:100%;height:clamp(150px,27vh,230px);display:block}.pp-yard-colors{background:#e6f4fa;justify-content:center;gap:8px;padding:9px 8px 10px;display:flex}.pp-yard-dot{cursor:pointer;border:3px solid #fff;border-radius:50%;width:22px;height:22px;padding:0;box-shadow:0 1px 4px #0a283c4d}.pp-yard-dot.on{box-shadow:0 0 0 2px var(--ink,#17324a);transform:scale(1.22)}.pp-yard-tabs{scrollbar-width:none;gap:6px;padding:10px 14px 6px;display:flex;overflow-x:auto}.pp-yard-tab{color:var(--ink,#17324a);font:800 14px/1 var(--font,system-ui, sans-serif);cursor:pointer;background:#eef5f9;border:0;border-radius:999px;flex:1 0 auto;padding:9px 12px}.pp-yard-tab.on{background:var(--accent,#ff7a3d);color:#fff}.pp-yard-grid{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));align-content:start;gap:8px;min-height:120px;padding:4px 14px 10px;display:grid;overflow-y:auto}.pp-yard-item{cursor:pointer;font:800 11.5px/1.15 var(--font,system-ui, sans-serif);color:var(--ink,#17324a);text-align:center;background:#f1f7fa;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:3px;padding:7px 4px 6px;display:flex;position:relative}.pp-yard-icon{border-radius:12px;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.pp-yard-icon svg{width:56px;height:56px}.pp-yard-icon canvas{border-radius:10px}.pp-yard-tag{color:#d95a20;align-items:center;gap:3px;font-size:11px;font-weight:900;display:inline-flex}.pp-yard-tag svg{width:17px;height:12px}.pp-yard-item.selected{background:#e7f6fd;box-shadow:inset 0 0 0 3px #7cc6e8}.pp-yard-item.equipped{box-shadow:inset 0 0 0 3px var(--accent,#ff7a3d);background:#fff1e6}.pp-yard-item.equipped .pp-yard-tag{color:#2e9c55}.pp-yard-item:not(.locked):not(.poor) .pp-yard-tag:not(:has(svg)){color:#2e9c55}.pp-yard-item.poor .pp-yard-tag{color:#8a97a5}.pp-yard-item.locked{color:#8a97a5;background:#eef1f4}.pp-yard-item.locked .pp-yard-icon{filter:grayscale()brightness(1.15)opacity(.5)}.pp-yard-item.locked .pp-yard-tag{color:#6b7785}.pp-yard-item.locked .pp-yard-tag svg{fill:#6b7785;width:11px;height:11px}.pp-yard-bar{border-top:1px solid #e3eef4;align-items:center;gap:10px;min-height:62px;padding:10px 14px 14px;display:flex}.pp-yard-sel{flex:1;font-size:14px;font-weight:800;line-height:1.25}.pp-yard-act{font:900 15px/1 var(--font,system-ui, sans-serif);color:var(--ink,#17324a);white-space:nowrap;cursor:pointer;background:#e9f3f8;border:0;border-radius:14px;align-items:center;gap:5px;padding:11px 14px;display:inline-flex}.pp-yard-act[hidden]{display:none}.pp-yard-act.buy{background:var(--accent,#ff7a3d);color:#fff;box-shadow:0 4px 0 var(--accent-dark,#d95a20)}.pp-yard-act:disabled{cursor:default;opacity:.75}.pp-yard-act.poor{color:#8a97a5}.pp-companion{pointer-events:auto;flex:0 0 72px;width:72px;height:84px;position:relative}.pp-companion-pet{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:72px;height:84px;margin:0;padding:0;display:block}.pp-companion-pet:active{transform:none}.pp-companion-pet:focus-visible{outline:3px solid var(--accent,#ff7a3d);outline-offset:2px;border-radius:16px}.pp-penguin{width:100%;height:100%;display:block;overflow:visible}.pp-dancer{transform-box:view-box;transform-origin:50px 112px;animation:2.8s ease-in-out infinite pp-idle}.pp-flip{transform-box:view-box}.pp-flip-l{transform-origin:25px 57px}.pp-flip-r{transform-origin:75px 57px}.pp-eyes{transform-box:fill-box;transform-origin:50%;animation:4.6s infinite pp-blink}.pp-flame{transform-box:fill-box;transform-origin:100%;animation:.35s ease-in-out infinite alternate pp-flame}.pp-twinkle{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite pp-twinkle}.pp-twinkle-2{animation-delay:.5s}.pp-twinkle-3{animation-delay:1s}.pp-glow{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite pp-glow}.pp-notes{animation:1.2s ease-in-out infinite pp-notes}.pp-legendary{filter:drop-shadow(0 0 4px #ffe68ce6)drop-shadow(0 0 10px #78dcff8c)}@keyframes pp-idle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-.8px)scale(1.01,.99)}}@keyframes pp-blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes pp-flame{0%{opacity:.8;transform:scaleX(.75)}to{opacity:1;transform:scaleX(1.15)}}@keyframes pp-twinkle{0%,to{opacity:.3;transform:scale(.4)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(45deg)}}@keyframes pp-glow{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:.5;transform:scale(1.15)}}@keyframes pp-notes{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.dance-wiggle .pp-dancer{animation:.9s ease-in-out pp-wiggle}.dance-hop .pp-dancer{animation:.9s ease-out pp-hop}.dance-twirl .pp-dancer{animation:.9s ease-in-out pp-twirl}.dance-flap .pp-dancer{animation:.9s ease-in-out pp-bounce}.dance-flap .pp-flip-l{animation:.18s ease-in-out 5 alternate pp-flap-l}.dance-flap .pp-flip-r{animation:.18s ease-in-out 5 alternate pp-flap-r}.dance-wiggle .pp-flip-l{animation:.3s ease-in-out 3 alternate pp-flap-l}.dance-wiggle .pp-flip-r{animation:.3s ease-in-out 3 alternate pp-flap-r}.dance-hop .pp-flip-l,.dance-twirl .pp-flip-l{animation:.9s ease-in-out pp-raise-l}.dance-hop .pp-flip-r,.dance-twirl .pp-flip-r{animation:.9s ease-in-out pp-raise-r}@keyframes pp-wiggle{0%,to{transform:rotate(0)}15%{transform:rotate(-12deg)}35%{transform:rotate(11deg)}55%{transform:rotate(-9deg)}75%{transform:rotate(6deg)}}@keyframes pp-hop{0%{transform:translateY(0)scale(1)}15%{transform:translateY(0)scale(1.12,.86)}45%{transform:translateY(-22px)scale(.92,1.1)}70%{transform:translateY(0)scale(1.1,.9)}85%{transform:translateY(-4px)scale(.98,1.02)}to{transform:translateY(0)scale(1)}}@keyframes pp-twirl{0%{transform:scaleX(1)}25%{transform:scaleX(-1)translateY(-6px)}50%{transform:scaleX(1)translateY(-8px)}75%{transform:scaleX(-1)translateY(-6px)}to{transform:scaleX(1)}}@keyframes pp-bounce{0%,to{transform:translateY(0)}25%,75%{transform:translateY(-5px)}50%{transform:translateY(0)}}@keyframes pp-flap-l{0%{transform:rotate(0)}to{transform:rotate(48deg)}}@keyframes pp-flap-r{0%{transform:rotate(0)}to{transform:rotate(-48deg)}}@keyframes pp-raise-l{0%,to{transform:rotate(0)}40%,60%{transform:rotate(80deg)}}@keyframes pp-raise-r{0%,to{transform:rotate(0)}40%,60%{transform:rotate(-80deg)}}@media (prefers-reduced-motion:reduce){.pp-dancer,.pp-eyes,.pp-flame,.pp-twinkle,.pp-glow,.pp-notes{animation:none}.dance-wiggle .pp-dancer,.dance-hop .pp-dancer,.dance-twirl .pp-dancer,.dance-flap .pp-dancer{animation:.6s ease-in-out pp-bounce}.dance-wiggle .pp-flip,.dance-hop .pp-flip,.dance-twirl .pp-flip,.dance-flap .pp-flip{animation:none}}.pp-companion-closet{background:var(--accent,#ff7a3d);cursor:pointer;border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute;top:-4px;right:-8px;box-shadow:0 2px 6px #0a32504d}.pp-companion-closet svg{stroke:#fff;fill:none;width:18px;height:18px}.pp-companion-closet .pp-dot{background:#e8483f;border:2px solid #fff;border-radius:50%;width:11px;height:11px;display:none;position:absolute;top:-3px;right:-3px}.pp-companion-closet.has-new .pp-dot{display:block}.pp-companion-closet.has-new{animation:1.6s ease-in-out infinite pp-nudge}@keyframes pp-nudge{0%,80%,to{transform:rotate(0)}85%{transform:rotate(-14deg)}90%{transform:rotate(12deg)}95%{transform:rotate(-6deg)}}.pp-closet{z-index:50;pointer-events:auto;font-family:var(--font,system-ui, sans-serif);color:var(--ink,#17324a);padding:calc(env(safe-area-inset-top) + 10px) 10px calc(env(safe-area-inset-bottom) + 10px);background:#0c283c80;place-items:center;display:grid;position:fixed;inset:0}.pp-closet[hidden]{display:none}.pp-closet-card{background:var(--card,#fff);border-radius:26px;flex-direction:column;width:min(94vw,400px);max-height:100%;animation:.22s ease-out pp-closet-pop;display:flex;overflow:hidden;box-shadow:0 10px 40px #0a283c59}@keyframes pp-closet-pop{0%{opacity:0;transform:scale(.9)}}.pp-closet-head{align-items:center;gap:10px;padding:12px 12px 6px 18px;display:flex}.pp-closet-head h2{flex:1;margin:0;font-size:24px;font-weight:900}.pp-closet-close{width:40px;height:40px;color:var(--ink,#17324a);font:800 22px/1 var(--font,system-ui, sans-serif);cursor:pointer;background:#e9f3f8;border:0;border-radius:50%}.pp-closet-stage{align-items:center;gap:14px;padding:0 18px 10px;display:flex}.pp-closet-preview{cursor:pointer;background:radial-gradient(circle at 50% 80%,#d9f1fb 0,#bfe6f7 60%,#9fd6ee 100%);border:0;border-radius:20px;flex:0 0 104px;height:120px;padding:8px 12px 4px}.pp-closet-summary{font-size:15px;line-height:1.35}.pp-closet-summary b{font-size:18px}.pp-closet-summary .pp-next{opacity:.7;margin-top:6px;font-size:13px;display:block}.pp-closet-sections{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-top:1px solid #e3eef4;padding:0 14px 16px;overflow-y:auto}.pp-closet-sections h3{text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin:12px 4px 6px;font-size:13px;font-weight:800}.pp-closet-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px;display:grid}.pp-item{cursor:pointer;font:800 11.5px/1.15 var(--font,system-ui, sans-serif);color:var(--ink,#17324a);background:#f1f7fa;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex;position:relative;box-shadow:inset 0 0 0 2px #0000}.pp-item .pp-penguin{width:52px;height:62px}.pp-item.equipped{box-shadow:inset 0 0 0 3px var(--accent,#ff7a3d);background:#fff1e6}.pp-item.equipped:after{content:"";background:var(--accent,#ff7a3d) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='white' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;border-radius:50%;width:16px;height:16px;position:absolute;top:5px;right:6px}.pp-item.locked{cursor:default;color:#8a97a5;background:#eef1f4}.pp-item.locked .pp-penguin{filter:grayscale()brightness(1.25)opacity(.45)}.pp-item .pp-lock{background:#5d6673;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:18px;left:50%;transform:translate(-50%)}.pp-item .pp-lock svg{fill:#fff;width:14px;height:14px}.pp-item .pp-lvl{opacity:.85;font-size:10.5px;font-weight:800}.pp-item .pp-new{color:#fff;background:#e8483f;border-radius:999px;padding:2px 6px;font-size:9.5px;font-weight:900;position:absolute;top:4px;left:4px}.pp-item.legendary:not(.locked){background:linear-gradient(160deg,#fff6d6,#e6f7ff 60%,#f3e8ff)}.pp-avatar{width:100%;height:100%;display:block}.pp-closet-preview .pp-avatar{width:100%;height:100%}.pp-item .pp-thumb{object-fit:contain;width:56px;height:66px;display:block}.pp-item.locked .pp-thumb{filter:grayscale()brightness(1.25)opacity(.45)}.pp-shopmenu{flex-direction:column;gap:10px;margin:2px 0 16px;display:flex}.pp-shopmenu-btn{text-align:left;width:100%;color:var(--ink);cursor:pointer;pointer-events:auto;background:#e9f3f8;border:0;border-radius:18px;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;display:flex;box-shadow:0 4px #c5d9e3}.pp-shopmenu-icon{background:#fff;border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.pp-shopmenu-icon svg{width:28px;height:28px;fill:var(--ink)}.pp-shopmenu-crew .pp-shopmenu-icon svg{fill:#e8483f}.pp-shopmenu-boatyard .pp-shopmenu-icon svg{fill:#3d7be0}.pp-shopmenu-boosters .pp-shopmenu-icon svg{fill:#f5a623}.pp-shopmenu-text{flex-direction:column;display:flex}.pp-shopmenu-text b{font-size:17px;font-weight:900}.pp-shopmenu-text small{opacity:.7;font-size:13px}.pp-boostershop{text-align:left;flex-direction:column;gap:8px;margin:2px 0 16px;display:flex}.pp-boostershop-fish{justify-content:center;align-items:center;gap:6px;margin-bottom:4px;font-size:20px;font-weight:900;display:flex}.pp-boostershop-fish svg,.pp-boostershop-row button svg,.pp-shop-coins svg,.pp-price svg{flex:none;width:22px;height:15px}.pp-boostershop-row{background:#f1f7fa;border-radius:16px;align-items:center;gap:10px;padding:10px 12px;display:flex}.pp-boostershop-text{flex-direction:column;flex:1;display:flex}.pp-boostershop-text b{font-size:16px;font-weight:900}.pp-boostershop-text small{opacity:.7;font-size:12.5px}.pp-boostershop-have{text-align:right;min-width:30px;font-size:16px;font-weight:900}.pp-boostershop-row button{background:var(--accent);min-width:82px;font:900 15px/1 var(--font);box-shadow:0 3px 0 var(--accent-dark);pointer-events:auto;border:0;border-radius:12px;justify-content:center;align-items:center;gap:4px;padding:9px 10px;display:flex;color:#fff!important}.pp-boostershop-row button:disabled{box-shadow:none;background:#a7b5c0}.pp-boostershop-row button.poor{background:#c9d6de;box-shadow:0 3px #a9bac5;color:var(--ink)!important}.nope{animation:.35s pp-shop-nope}@keyframes pp-shop-nope{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.pp-shop-coins{background:#fff4e0;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:15px;font-weight:900;display:flex}.pp-price{color:#b06a00;align-items:center;gap:3px;margin-top:2px;font-size:12.5px;font-weight:900;display:inline-flex}.pp-item.selected{outline-offset:-3px;outline:3px solid #3d7be0}.pp-shop-bar{padding:10px 14px calc(env(safe-area-inset-bottom) * 0 + 12px);border-top:1px solid #e4eef3;align-items:center;gap:10px;display:flex}.pp-shop-msg{opacity:.7;flex:1;font-size:13.5px;font-weight:800}.pp-shop-act{background:var(--accent,#ff7a3d);color:#fff;min-width:140px;font:900 16px/1 var(--font,system-ui, sans-serif);box-shadow:0 4px 0 var(--accent-dark,#d95a20);cursor:pointer;border:0;border-radius:14px;padding:12px 16px}.pp-shop-act:disabled{box-shadow:none;cursor:default;background:#a7b5c0}.pp-crew-opts{margin-top:10px}.pp-crew-preview,.pp-closet-preview{overflow:hidden}.pp-feathers{flex-wrap:wrap;gap:10px;display:flex}.pp-feather{width:64px;font:800 11.5px/1.1 var(--font,system-ui, sans-serif);color:var(--ink,#17324a);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:0;display:flex;position:relative}.pp-feather i{border:3px solid #fff;border-radius:50%;width:40px;height:40px;box-shadow:0 2px 6px #0a325040}.pp-feather.equipped i{outline:3px solid var(--accent,#ff7a3d)}.pp-feather.pending i,.pp-item.pending{outline-offset:1px;outline:3px dashed #3d7be0}.pp-arrival{z-index:60;pointer-events:auto;font-family:var(--font);position:fixed;inset:0;overflow:hidden}.pp-arrival-bar{background:linear-gradient(var(--top), var(--bottom));filter:brightness(.35)saturate(1.3);height:13vh;animation:.5s ease-out both pp-bar-in;position:absolute;left:0;right:0}.pp-arrival-bar-top{transform-origin:top;top:0}.pp-arrival-bar-bottom{transform-origin:bottom;bottom:0}@keyframes pp-bar-in{0%{transform:scaleY(0)}}.pp-arrival-stage{place-items:center;display:grid;position:absolute;bottom:calc(13vh + 56px);left:0;right:0}.pp-arrival-burst{background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--accent) 38%, transparent) 0deg 7deg, transparent 7deg 22deg);opacity:0;border-radius:50%;width:150vmax;height:150vmax;animation:.6s ease-out 2s forwards pp-burst-in,14s linear infinite pp-spin;position:absolute;-webkit-mask-image:radial-gradient(circle,#000 0 15%,#0000 55%);mask-image:radial-gradient(circle,#000 0 15%,#0000 55%)}@keyframes pp-burst-in{to{opacity:.55}}@keyframes pp-spin{to{transform:rotate(360deg)}}.pp-arrival-card{width:min(86vw,360px);box-shadow:0 0 0 5px var(--accent), 0 18px 50px #05192d80;text-align:center;color:var(--ink);background:linear-gradient(#fff 0%,#f1f8fc 100%);border-radius:28px;padding:20px 20px 18px;animation:.7s cubic-bezier(.2,1.4,.4,1) 2s forwards pp-card-drop;position:relative;transform:translateY(-120vh)}@keyframes pp-card-drop{to{transform:translateY(0)}}.pp-arrival-kicker{background:var(--bottom);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-bottom:8px;padding:4px 14px;font-size:14px;font-weight:900;display:inline-block}.pp-arrival-icon{width:58px;height:58px;color:var(--bottom);margin:2px auto;animation:1.6s ease-in-out 2.8s infinite pp-icon-bob;display:block}@keyframes pp-icon-bob{50%{transform:translateY(-5px)rotate(-6deg)}}.pp-arrival-name{color:var(--ink);margin:0;font-size:clamp(30px,10vw,42px);font-weight:900;line-height:1.05}.pp-arrival-name span{opacity:0;animation:.42s cubic-bezier(.2,1.6,.4,1) forwards pp-letter;display:inline-block;transform:translateY(18px)scale(.4)}@keyframes pp-letter{to{opacity:1;transform:none}}.pp-arrival-ribbon{background:var(--accent);color:var(--ink);clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%);margin:12px 0 8px;padding:6px 26px;font-size:15px;font-weight:900;animation:.45s ease-out 2.9s forwards pp-ribbon;display:inline-block;position:relative;transform:scaleX(0)}@keyframes pp-ribbon{to{transform:scaleX(1)}}.pp-arrival-blurb{opacity:0;margin:0;font-size:15.5px;font-weight:700;animation:.5s ease-out 3.2s forwards pp-fade}@keyframes pp-fade{to{opacity:.8}}.pp-arrival-skip{text-align:center;color:#fff;text-shadow:0 2px 6px #00000080;opacity:0;font-size:16px;font-weight:900;animation:.4s ease-out 4s forwards pp-fade-full,1.2s ease-in-out 4.4s infinite pp-pulse;position:absolute;bottom:calc(13vh + 18px);left:0;right:0}@keyframes pp-fade-full{to{opacity:1}}@keyframes pp-pulse{50%{transform:scale(1.08)}}.pp-arrival.leaving .pp-arrival-card{animation:.4s ease-in forwards pp-card-up}.pp-arrival.leaving .pp-arrival-bar{animation:.4s ease-in forwards pp-bar-out}.pp-arrival.leaving .pp-arrival-burst,.pp-arrival.leaving .pp-arrival-skip{animation:.3s forwards pp-fade-out}@keyframes pp-card-up{0%{transform:translateY(0)}to{transform:translateY(-120vh)}}@keyframes pp-bar-out{to{transform:scaleY(0)}}@keyframes pp-fade-out{to{opacity:0}}#hud.cutscene>:not(.modal):not(.confetti){opacity:0;transition:opacity .3s;pointer-events:none!important}#hud>*{transition:opacity .3s}@media (prefers-reduced-motion:reduce){.pp-arrival-burst{animation:.3s forwards pp-burst-in}.pp-arrival-card,.pp-arrival-name span,.pp-arrival-ribbon,.pp-arrival-blurb{animation-duration:10ms!important;animation-delay:0s!important}}.pp-surf{z-index:30;pointer-events:none;font-family:var(--font);color:var(--ink);position:fixed;inset:0}.pp-surf-top{top:calc(env(safe-area-inset-top) + 10px);justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;left:12px;right:12px}.pp-surf-timer,.pp-surf-score{box-shadow:var(--shadow);background:#ffffffeb;border-radius:999px;align-items:center;gap:6px;padding:6px 14px 6px 10px;font-size:22px;font-weight:900;display:flex}.pp-surf-timer svg{width:22px;height:22px;fill:var(--ink)}.pp-surf-timer.low{color:#c0392b;background:#ffe1dc;animation:.5s ease-in-out infinite alternate pp-surf-pulse}.pp-surf-timer.low svg{fill:#c0392b}@keyframes pp-surf-pulse{to{transform:scale(1.08)}}.pp-surf-title{color:#fff;text-shadow:0 2px #0a325073,0 4px 12px #0a32504d;letter-spacing:.02em;font-size:20px;font-weight:900}.pp-surf-score svg{width:30px;height:20px}.pp-surf-score.bump{animation:.3s ease-out pp-surf-bump}@keyframes pp-surf-bump{40%{transform:scale(1.15)}}.pp-surf-mult{color:#5a2600;background:linear-gradient(#ffd23f,#ff9a2e);border-radius:999px;padding:1px 8px;font-size:15px}.pp-surf-mult[hidden],.pp-surf-msg[hidden],.pp-surf-hint[hidden]{display:none}.pp-surf-msg{text-align:center;color:#fff;text-shadow:0 5px #0a325073,0 10px 30px #0a325059;opacity:0;font-size:84px;font-weight:900;position:absolute;top:34%;left:0;right:0;transform:scale(.4)}.pp-surf-msg.show{animation:.9s cubic-bezier(.2,1.5,.4,1) forwards pp-surf-msg}.pp-surf-msg.go,.pp-surf-msg.frenzy{color:#ffd23f;font-size:64px}.pp-surf-msg.frenzy{font-size:46px}.pp-surf-msg.wipe{color:#e6f8ff;font-size:46px}@keyframes pp-surf-msg{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1.1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.pp-surf-hint{left:50%;bottom:calc(env(safe-area-inset-bottom) + 40px);width:min(88vw,360px);box-shadow:var(--shadow);text-align:center;background:#fffffff0;border-radius:18px;padding:12px 16px;font-size:16px;font-weight:700;line-height:1.35;position:absolute;transform:translate(-50%)}.pp-surf-pop{color:#fff;text-shadow:0 2px #0a325099;white-space:nowrap;font-size:26px;font-weight:900;position:absolute}.pp-surf-pop.gold{color:#ffd23f;font-size:34px}.pp-surf-fly{width:28px;height:20px;position:absolute;top:0;left:0}.pp-surf-fly svg{width:28px;height:20px}.pp-map{z-index:40;font-family:var(--font);color:var(--ink);background:#10324d;flex-direction:column;animation:.25s ease-out pp-map-in;display:flex;position:fixed;inset:0}@keyframes pp-map-in{0%{opacity:0;transform:translateY(16px)}}.pp-map-head{padding:calc(env(safe-area-inset-top) + 10px) 12px 12px;z-index:2;background:#fff;box-shadow:0 4px 14px #051e324d}.pp-map-bar{align-items:center;gap:12px;margin-bottom:10px;display:flex}.pp-map-head h2{flex:1;margin:0;font-size:24px;font-weight:900}.pp-map-close{width:42px;height:42px;font:900 26px/1 var(--font);color:var(--ink);background:#e9f3f8;border:0;border-radius:50%}.pp-map-total{align-items:center;gap:4px;font-size:18px;font-weight:900;display:flex}.pp-map-total svg,.pp-chapter-stars svg{fill:#ffc531;stroke:#d9940b;stroke-width:1.2px;width:22px;height:22px}.pp-map-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding-bottom:calc(env(safe-area-inset-bottom) + 30px);flex:1;position:relative;overflow-y:auto}.pp-daily{color:#3b1d00;width:100%;font-family:var(--font);text-align:left;background:linear-gradient(135deg,#ffd23f,#ff8a3d);border:0;border-radius:20px;align-items:center;gap:12px;margin:0;padding:10px 14px;display:flex;box-shadow:0 5px #c9621f,0 10px 22px #00000040}.pp-daily.solved{color:#0f3a1c;background:linear-gradient(135deg,#b9f3c8,#43c063);box-shadow:0 5px #2a8a43,0 10px 22px #00000040}.pp-daily-icon svg{width:34px;height:34px}.pp-daily-text{flex-direction:column;flex:1;display:flex}.pp-daily-text b{font-size:19px;font-weight:900}.pp-daily-sub{opacity:.75;font-size:13px;font-weight:800}.pp-daily-streak{align-items:center;gap:2px;font-size:17px;font-weight:900;display:flex}.pp-daily-streak svg{fill:#e8483f;width:22px;height:22px}.pp-daily-streak[hidden]{display:none}.pp-daily-go{background:#ffffffd9;border-radius:999px;padding:6px 12px;font-size:15px;font-weight:900}.pp-chapter{background:linear-gradient(180deg, var(--top), var(--bottom));position:relative;overflow:clip}.pp-chapter.locked{filter:saturate(.35)brightness(.8)}.pp-chapter-head{z-index:3;background:#ffffffe6;border-radius:18px;align-items:center;gap:10px;margin:12px 12px 0;padding:10px 12px;display:flex;position:sticky;top:10px;box-shadow:0 4px 12px #00000026}.pp-chapter-head div{flex:1;min-width:0}.pp-chapter-head h3{margin:0;font-size:18px;font-weight:900}.pp-chapter-head p{opacity:.75;margin:2px 0 0;font-size:12.5px;line-height:1.3}.pp-chapter-icon{width:36px;height:36px;color:var(--bottom);flex:none}.pp-chapter-stars{flex:none;align-items:center;gap:3px;font-size:14px;font-weight:900;display:flex}.pp-path{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pp-path path{fill:none;stroke:#ffffffbf;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 14}.pp-node{color:#fff;width:54px;height:54px;font:900 20px/1 var(--font);background:#ff7a3d;border:4px solid #fff;border-radius:50%;place-items:center;margin:-27px 0 0 -27px;padding:0;display:grid;position:absolute;box-shadow:0 5px #00000038,0 8px 16px #0003}.pp-node.done{background:#3d7be0}.pp-node.hard{border-color:#ffd23f}.pp-node.surf{background:linear-gradient(160deg,#36c6e8,#1d78c9);border-color:#ffd23f}.pp-node.surf.locked{background:linear-gradient(160deg,#7fb6c9,#6a8fae)}.pp-node-surf{color:#5a2600;white-space:nowrap;background:#ffd23f;border-radius:999px;align-items:center;gap:3px;padding:2px 7px 2px 5px;font-size:11px;font-weight:900;display:flex;position:absolute;top:-15px;left:50%;transform:translate(-50%);box-shadow:0 2px 4px #0003}.pp-node-surf svg{fill:#1d78c9;width:14px;height:14px}.pp-node.current{z-index:1;background:#43c063;width:66px;height:66px;margin:-33px 0 0 -33px;font-size:24px;animation:1.4s ease-in-out infinite pp-node-pulse}@keyframes pp-node-pulse{50%{box-shadow:0 5px #00000038,0 0 0 10px #ffffff59}}.pp-node.locked{color:#ffffffd9;background:#8fa3b3;border-color:#ffffffb3;font-size:17px}.pp-node.nope{animation:.35s pp-nope}@keyframes pp-nope{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.pp-node-lock{background:#5d6d7b;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;bottom:-8px;right:-6px}.pp-node-lock svg{fill:#fff;width:12px;height:12px}.pp-node-stars{gap:1px;display:flex;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.pp-node-stars span{width:17px;height:17px}.pp-node-stars svg{fill:#ffffff8c;stroke:#00284659;stroke-width:1.5px;width:100%;height:100%}.pp-node-stars .on svg{fill:#ffc531;stroke:#b97a06}.pp-gift{color:var(--ink);white-space:nowrap;background:#ffffffeb;border-radius:999px;align-items:center;gap:4px;padding:3px 9px 3px 4px;font-size:11.5px;font-weight:900;display:flex;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%);box-shadow:0 2px 6px #0000002e}.pp-node.right .pp-gift{left:auto;right:calc(100% + 6px)}.pp-gift svg{fill:#e8483f;width:20px;height:20px}.pp-me{pointer-events:none;width:52px;animation:1.4s ease-in-out infinite pp-me-hop;position:absolute;bottom:calc(100% - 6px);left:50%;transform:translate(-50%)}.pp-me svg,.pp-me img{width:52px;height:62px;display:block}@keyframes pp-me-hop{0%,60%,to{transform:translate(-50%)translateY(0)}75%{transform:translate(-50%)translateY(-8px)}}@media (prefers-reduced-motion:reduce){.pp-node.current,.pp-me{animation:none}}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(./nunito-latin-600-normal-Cd0eNu1l.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")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(./nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(./nunito-latin-900-normal-CVn49sIn.woff)format("woff")}:root{--ink:#17324a;--card:#fff;--accent:#ff7a3d;--accent-dark:#d95a20;--sea:#2f9fc4;--shadow:0 4px 0 #0a325040, 0 8px 18px #0a32502e;--font:"Nunito", ui-rounded, system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--sea);height:100%;font-family:var(--font);color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;margin:0;overflow:hidden}#scene{width:100vw;height:100vh;touch-action:none;height:100dvh;display:block;position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}#hud button{pointer-events:auto;cursor:pointer;color:var(--ink);border:0;font-family:inherit}button:active{transform:translateY(2px)}.topbar{padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.round{background:var(--card);width:46px;height:46px;box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid}.round svg{width:24px;height:24px;fill:var(--ink)}.level{background:var(--card);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;align-items:center;padding:5px 16px 6px;font-size:20px;font-weight:800;line-height:1.1;display:flex;position:relative}.level-main{align-items:baseline;gap:6px;display:flex}.map-icon{width:16px;height:16px;fill:var(--sea);align-self:center}.level-place{opacity:.6;white-space:nowrap;font-size:11.5px;font-weight:800}.level-place:empty{display:none}.level .dot{background:#e8483f;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:2px;right:2px}.level .dot[hidden]{display:none}.level-label{opacity:.6;text-transform:uppercase;letter-spacing:.06em;font-size:14px}.tag{color:#fff;background:#e8483f;border-radius:999px;align-self:center;padding:2px 8px;font-size:12px}.counter{top:calc(env(safe-area-inset-top) + 64px);background:#ffffffe0;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 10px;font-size:16px;display:flex;position:absolute;right:12px;box-shadow:0 2px 6px #0a325026}.counter svg{fill:#e8483f;width:18px;height:18px}.counter-label{opacity:.7;font-size:13px}.boosters{padding:8px 12px calc(env(safe-area-inset-bottom) + 12px);justify-content:center;align-items:flex-end;gap:clamp(8px,3vw,14px);display:flex;position:absolute;bottom:0;left:0;right:0}.booster{background:var(--card);width:clamp(64px,19vw,84px);height:70px;box-shadow:var(--shadow);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.booster svg{width:28px;height:28px;fill:var(--ink)}.booster .name{font-size:13px;font-weight:800}.booster .count{background:var(--accent);color:#fff;border:2px solid #fff;border-radius:999px;min-width:24px;height:24px;padding:0 6px;font-size:14px;font-weight:800;line-height:24px;position:absolute;top:-6px;right:-6px}.coins{top:calc(env(safe-area-inset-top) + 64px);border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 8px;font-size:16px;display:flex;position:absolute;left:12px;box-shadow:0 2px 6px #0a325026;background:#ffffffeb!important}.coins svg{fill:#f5a623;width:20px;height:20px}.coins.bump{animation:.35s ease-out coin-bump}@keyframes coin-bump{40%{transform:scale(1.18)}}.float-text{color:#ffd23f;text-shadow:0 2px #0a325080;pointer-events:none;white-space:nowrap;font-size:20px;font-weight:900;position:absolute}.float-text.big{color:#fff;-webkit-text-stroke:1px #d95a20;text-shadow:0 3px #d95a20,0 6px 14px #0a325066;font-size:30px}.fly-coin{pointer-events:none;z-index:15;filter:drop-shadow(0 2px #0a325059);width:22px;height:22px;position:absolute;top:0;left:0}.fly-coin svg{fill:#f5a623;stroke:#fff;stroke-width:1.2px;width:22px;height:22px}.confetti{pointer-events:none;z-index:30;width:100%;height:100%;position:absolute;inset:0}.combo{top:calc(env(safe-area-inset-top) + 66px);color:#5a2600;background:linear-gradient(#ffd23f,#ff9a2e);border-radius:999px;align-items:baseline;gap:4px;padding:4px 14px 5px;display:flex;position:absolute;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 3px #d06a14,0 6px 14px #0a325040}.combo[hidden]{display:none}.combo b{font-size:22px;font-weight:900;position:relative}.combo-label{text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:900;position:relative}.combo-ring{transform-origin:0;background:#fffc;width:100%;height:4px;position:absolute;bottom:0;left:0}.combo-ring.run{animation:linear forwards combo-drain}@keyframes combo-drain{to{transform:scaleX(0)}}.combo.hot{color:#fff;background:linear-gradient(#ff8a5c,#e8483f);box-shadow:0 3px #a8261e,0 6px 14px #0a325040}.combo.bump{animation:.35s ease-out combo-pop}@keyframes combo-pop{40%{transform:translate(-50%)scale(1.25)rotate(-4deg)}}.coach{pointer-events:none;z-index:12;filter:drop-shadow(0 4px 6px #0a325059);width:64px;height:64px;margin:-6px 0 0 -22px;animation:1.1s ease-in-out infinite coach-tap;position:absolute}.coach[hidden],.caption[hidden]{display:none}.coach svg{width:64px;height:64px}@keyframes coach-tap{0%,to{transform:translate(10px,18px)scale(1)}45%{transform:translate(0)scale(.92)}55%{transform:translate(0)scale(.88)}}.caption{left:50%;bottom:calc(env(safe-area-inset-bottom) + 100px);background:var(--card);width:max-content;max-width:min(90vw,380px);box-shadow:var(--shadow);text-align:center;border-radius:18px;padding:10px 16px;font-size:16px;font-weight:800;line-height:1.3;position:absolute;transform:translate(-50%)}.caption.bump{animation:.3s ease-out caption-in}@keyframes caption-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}}.booster.empty{opacity:.55}.booster.empty .count{background:#8a97a5}.booster.active{outline:3px solid var(--accent);background:#ffe9b3}.tip{left:50%;top:calc(env(safe-area-inset-top) + 70px);background:var(--card);width:min(88vw,380px);box-shadow:var(--shadow);text-align:center;pointer-events:auto;border-radius:18px;padding:12px 16px;font-size:16px;line-height:1.35;position:absolute;transform:translate(-50%)}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 104px);color:#fff;white-space:nowrap;background:#17324aeb;border-radius:999px;padding:10px 16px;font-size:15px;position:absolute;transform:translate(-50%)}.banner{text-align:center;color:#fff;text-shadow:0 3px #0a325073,0 8px 24px #0a325059;opacity:0;font-size:44px;font-weight:900;transition:opacity .3s,transform .3s;position:absolute;top:38%;left:0;right:0;transform:scale(.85)}.banner.show{opacity:1;transform:scale(1)}.banner small{opacity:.95;font-size:20px;font-weight:800;display:block}.modal{pointer-events:auto;background:#0c283c73;place-items:center;display:grid;position:absolute;inset:0}.modal[hidden],.tip[hidden],.toast[hidden],.install[hidden]{display:none}.card{background:var(--card);text-align:center;border-radius:26px;width:min(86vw,360px);padding:24px 22px 20px;animation:.25s ease-out pop;position:relative;box-shadow:0 10px 40px #0a283c59}@keyframes pop{0%{opacity:0;transform:scale(.85)}}.card h2{margin:0 0 6px;font-size:28px}.card p{opacity:.85;margin:0 0 18px;font-size:16px;line-height:1.4}.actions{flex-direction:column;gap:10px;display:flex}.actions button,.install button{background:var(--accent);box-shadow:0 4px 0 var(--accent-dark);border-radius:16px;padding:14px;font-size:18px;font-weight:800;color:#fff!important}.actions button.secondary{background:#e9f3f8;box-shadow:0 4px #c5d9e3;color:var(--ink)!important}.install{left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 96px);background:var(--card);box-shadow:var(--shadow);pointer-events:auto;border-radius:18px;padding:12px 14px;font-size:15px;position:absolute}.install p{margin:0 0 10px;line-height:1.35}.install-actions{justify-content:flex-end;gap:8px;display:flex}.install button{padding:8px 14px;font-size:15px}.install button.ghost{box-shadow:none;background:0 0;color:var(--ink)!important}.settings{text-align:left;flex-direction:column;gap:4px;margin:4px 0 18px;display:flex}.toggle-row{pointer-events:auto;border-bottom:1px solid #e4eef3;justify-content:space-between;align-items:center;padding:12px 4px;font-size:17px;font-weight:800;display:flex;position:relative}.toggle-row input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch{background:#c9d6de;border-radius:999px;flex:none;width:50px;height:30px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.toggle-row input:checked+.switch{background:#43c063}.toggle-row input:checked+.switch:after{transform:translate(20px)}.toggle-row input:focus-visible+.switch{outline:3px solid var(--accent)}.settings-note{opacity:.6;text-align:center;margin-top:8px;font-size:13px}.card.win{padding-top:18px}.result{margin:2px 0 18px}.result-stars{justify-content:center;align-items:flex-end;gap:6px;margin-bottom:6px;display:flex}.rstar{width:64px;height:64px;transform:scale(0)}.rstar-1{width:82px;height:82px;margin-bottom:10px}.rstar svg{fill:#dfe8ee;stroke:#c3d2dc;stroke-width:1.2px;stroke-linejoin:round;width:100%;height:100%}.rstar.on{animation:.45s cubic-bezier(.2,1.6,.4,1) forwards star-land}.rstar.on svg{fill:#ffc531;stroke:#d9940b;filter:drop-shadow(0 3px #d9940b)}.rstar.off{animation:.3s ease-out forwards star-land}@keyframes star-land{0%{opacity:0;transform:scale(2.2)rotate(-30deg)}to{opacity:1;transform:scale(1)rotate(0)}}.result-best{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#e8483f;border-radius:999px;margin-bottom:8px;padding:3px 10px;font-size:13px;font-weight:900;display:inline-block}.result-streak{background:#fff1e0;border-radius:999px;align-items:center;gap:6px;margin-bottom:10px;padding:6px 14px;font-size:18px;display:inline-flex}.result-streak svg{fill:#e8483f;width:26px;height:26px}.result-goals{flex-direction:column;gap:4px;margin:0 0 12px;padding:0;font-size:15px;font-weight:800;list-style:none;display:flex}.result-goals li:before{color:#fff;vertical-align:1px;border-radius:50%;width:22px;height:22px;margin-right:8px;font-size:14px;line-height:22px;display:inline-block}.result-goals li.ok:before{content:"✓";background:#43c063}.result-goals li.miss{opacity:.55}.result-goals li.miss:before{content:"–";background:#a7b5c0}.result-earn{color:#d98a00;justify-content:center;align-items:center;gap:6px;font-size:30px;font-weight:900;display:flex}.result-earn svg{fill:#f5a623;width:34px;height:34px}.result-detail{opacity:.6;margin-top:2px;font-size:12.5px;display:block}.result-extras{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;display:flex}.result-extras span{background:#e9f3f8;border-radius:999px;padding:5px 11px;font-size:14px;font-weight:800}@media (prefers-reduced-motion:reduce){.coach,.rstar.on,.rstar.off{animation:none;transform:none}}.modal .confetti{z-index:0}.modal .card{z-index:1}.loading{background:var(--card);box-shadow:var(--shadow);white-space:nowrap;z-index:26;border-radius:999px;align-items:center;gap:10px;padding:12px 20px;font-size:16px;font-weight:800;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.loading-boat{background:var(--accent);border-radius:3px 3px 10px 10px;width:22px;height:14px;animation:.9s ease-in-out infinite loading-bob}@keyframes loading-bob{50%{transform:translateY(-4px)rotate(-6deg)}}.dev-jump{gap:8px;margin-top:10px;display:flex}.dev-jump input{min-width:0;font:800 17px var(--font);color:var(--ink);pointer-events:auto;-webkit-user-select:text;user-select:text;border:2px solid #c9d6de;border-radius:12px;flex:1;padding:10px 12px}#hud .dev-jump button{background:var(--accent);color:#fff;box-shadow:0 3px 0 var(--accent-dark);border-radius:12px;padding:10px 14px;font-size:15px;font-weight:900}.settings-note{pointer-events:auto}
