@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-latin-400-normal-B7HHA2Vw.woff2)format("woff2"),url(/assets/patrick-hand-latin-400-normal-Df9_VoRQ.woff)format("woff")}@font-face{font-family:Permanent Marker;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/permanent-marker-latin-400-normal-BF23djCy.woff2)format("woff2"),url(/assets/permanent-marker-latin-400-normal-BnZj5c41.woff)format("woff")}:root{--night:#0b0d1a;--night-2:#12152a;--glass:#0e1020b8;--glass-2:#181a30d1;--line:#beaaff38;--text:#f4f1ff;--muted:#a9a6c8;--pink:#ff2fb4;--pink-2:#ff6ad5;--pink-soft:#ff2fb466;--violet:#8b5cff;--violet-soft:#8b5cff73;--gold:#ffcb52;--gold-soft:#ffcb5280;--green:#3ddc84;--ui:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--hand:"Chalkboard SE", "Comic Sans MS", "Segoe Print", "Patrick Hand", var(--ui);--display:"Arial Rounded MT Bold", ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--neon:0 0 6px #ff6ad5e6, 0 0 16px #ff2fb499, 0 0 32px #8b5cff59;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(ellipse at 50% 40%, #1a1d3a 0%, #0d0f22 55%, #05060f 100%) fixed var(--night);color:var(--text);font-family:var(--ui);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.app{position:fixed;inset:0}.map-viewport{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;position:absolute;inset:0;overflow:hidden}.map-viewport.is-zoomed:active{cursor:grabbing}.map-world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.map-art{pointer-events:none;border-radius:14px;width:1536px;max-width:none;height:1024px;display:block;box-shadow:0 30px 80px #000000b3,0 0 0 1px #a08cff1f,0 0 60px #8b5cff24}.map-error{text-align:center;background:var(--night-2);width:1536px;height:1024px;color:var(--text);border-radius:14px;place-content:center;gap:24px;font-size:44px;display:grid}.hotspots,.socials,.chest,.painted-ui{pointer-events:none;position:absolute;inset:0}.hotspots button,.socials a,.socials button,.painted-ui a,.painted-ui button{pointer-events:auto}.hit-area{cursor:pointer;background:0 0;border:0;border-radius:18px;margin:0;padding:0;position:absolute}.hotspot{cursor:pointer;background:0 0;border:0;border-radius:50%;outline:none;margin:0;padding:0;position:absolute}.hotspot-ring{border:3px solid #0000;border-radius:50%;transition:transform .2s,border-color .2s,box-shadow .2s;position:absolute;inset:11px}.hotspot:hover .hotspot-ring,.hotspot:focus-visible .hotspot-ring{box-shadow:var(--neon), inset 0 0 10px #ff6ad5cc;border-color:#fff;transform:scale(1.35)}.hotspot-group:has(.hit-area:hover) .hotspot-ring{box-shadow:var(--neon), inset 0 0 10px #ff6ad5cc;border-color:#fff;transform:scale(1.35)}.hotspot:focus-visible .hotspot-ring{box-shadow:0 0 0 3px #fff, 0 0 0 7px var(--violet), var(--neon)}.hotspot.is-active .hotspot-ring{animation:2s ease-out infinite pulse}.hotspot.is-active:after{content:"";pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,#ffdcfae6 0 22%,#ff2fb48c 45%,#0000 70%);border-radius:50%;animation:2s ease-in-out infinite glow;position:absolute;inset:6px}.hotspot.is-open .hotspot-ring{border-color:var(--violet);transform:scale(1.35)}@keyframes pulse{0%{box-shadow:0 0 #ff2fb4cc,0 0 14px #ff2fb4b3}70%{box-shadow:0 0 0 26px #ff2fb400,0 0 14px #ff2fb466}to{box-shadow:0 0 #ff2fb400,0 0 14px #ff2fb4b3}}@keyframes glow{0%,to{opacity:.35}50%{opacity:1}}.hotspot-badge{filter:drop-shadow(0 0 4px #0009);width:24px;height:24px;position:absolute;top:-4px;right:-2px;overflow:visible}.badge-done circle{fill:#0f2a1d;stroke:var(--green);stroke-width:2.2px}.badge-done path{fill:none;stroke:var(--green);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.badge-now path{fill:var(--gold);stroke:#6b4300;stroke-width:1.2px;stroke-linejoin:round;filter:drop-shadow(0 0 5px var(--gold-soft))}.hotspot.is-active .badge-now{transform-origin:50%;animation:2.6s ease-in-out infinite twinkle}@keyframes twinkle{0%,to{transform:rotate(-8deg)scale(1)}50%{transform:rotate(10deg)scale(1.15)}}.hotspot-tip{transform:translate(-50%, -8px) scale(var(--inv,1));transform-origin:50% 100%;white-space:nowrap;background:var(--glass-2);color:var(--text);-webkit-backdrop-filter:blur(8px);font:600 17px/1.15 var(--ui);pointer-events:none;z-index:5;border:1px solid #ff6ad58c;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:7px 14px 8px;display:none;position:absolute;bottom:100%;left:50%;box-shadow:0 0 18px #ff2fb459,0 10px 24px #00000080}.hotspot:hover .hotspot-tip,.hotspot:focus-visible .hotspot-tip{display:flex}.hotspot-group:has(.hit-area:hover) .hotspot-tip{display:flex}.tip-title{font-size:18px}.tip-status{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:500}.tip-status.s-active{color:var(--pink-2)}.tip-status.s-completed{color:var(--green)}.hero-trail{pointer-events:none;z-index:2;width:1536px;height:1024px;position:absolute;top:0;left:0;overflow:visible}.trail-glow{fill:none;stroke:#ff2fb438;stroke-width:12px;stroke-linecap:round;stroke-linejoin:round;filter:blur(5px)}.trail-line{fill:none;stroke:#ffbef0d9;stroke-width:3px;stroke-linecap:round;stroke-dasharray:2 10;animation:1.2s linear infinite march}@keyframes march{to{stroke-dashoffset:-24px}}.footprint ellipse{fill:#ff8cdc61}.hero-marker{pointer-events:none;z-index:4;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.hero-shadow{background:radial-gradient(#0009 0%,#0000 70%);border-radius:50%;width:52px;height:14px;position:absolute;top:-7px;left:-26px}.hero-figure{width:0;height:0;position:absolute;top:0;left:0}.hero-flip{width:0;height:0;transition:transform .15s;position:absolute;top:0;left:0}.hero-marker.face-left .hero-flip{transform:scaleX(-1)}.sprite{filter:drop-shadow(0 0 6px #8b5cff8c)drop-shadow(0 0 1px #ffffff59);background-repeat:no-repeat;position:absolute}@keyframes sprite-run{0%{background-position-x:0}to{background-position-x:var(--sheet-end)}}.sprite-emote{transform-origin:50% 100%;animation:.5s cubic-bezier(.3,1.6,.5,1) emote-pop}.sprite-emote.emote-cheer{animation:.5s cubic-bezier(.3,1.6,.5,1) emote-pop,.6s ease-in-out .5s 3 cheer-hop}.sprite-emote.emote-diamond{filter:drop-shadow(0 0 8px #50beffcc)drop-shadow(0 0 6px #8b5cff8c)}@keyframes emote-pop{0%{transform:scale(.85,1.12)}to{transform:none}}@keyframes cheer-hop{50%{transform:translateY(-8px)}}@keyframes walk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.hero-streak{pointer-events:none;filter:blur(.6px)drop-shadow(0 0 6px #ff2fb4cc);background:linear-gradient(90deg,#0000,#ff6ad5e6) 0 22%/100% 3px no-repeat,linear-gradient(90deg,#0000,#8b5cffe6) 20% 46%/80% 4px no-repeat,linear-gradient(90deg,#0000,#ff6ad5cc) 40% 70%/60% 3px no-repeat;width:74px;height:70px;animation:.5s linear infinite streak;position:absolute;top:-92px;left:-96px}.hero-marker.face-left .hero-streak{left:22px;transform:scaleX(-1)}@keyframes streak{0%{opacity:.3;translate:8px}50%{opacity:1}to{opacity:.3;translate:-8px}}.hero-dog{transition:left .45s;position:absolute;bottom:-4px;left:-64px}.hero-dog img{filter:drop-shadow(0 0 5px #ffaa3c59);width:auto;max-width:none;display:block}.hero-marker.face-left .hero-dog{left:24px}.hero-marker.face-left .hero-dog img{transform:scaleX(-1)}.hero-marker.is-moving .hero-dog img{transform-origin:50% 100%;animation:.36s ease-in-out infinite dog-trot}.hero-marker.is-moving.face-left .hero-dog img{animation-name:dog-trot-left}@keyframes dog-trot{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(-4deg)}}@keyframes dog-trot-left{0%,to{transform:scaleX(-1)translateY(0)rotate(0)}50%{transform:scaleX(-1)translateY(-7px)rotate(-4deg)}}.hero-marker:not(.is-moving) .hero-dog img{transform-origin:50% 100%;animation:2.4s ease-in-out infinite dog-breathe}.hero-marker.face-left:not(.is-moving) .hero-dog img{animation:none}@keyframes dog-breathe{50%{transform:scale(1.02,.98)}}.hero-hit{z-index:3;pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:30px;padding:0;position:absolute}.hero-hit:focus-visible{outline:3px solid var(--violet);outline-offset:2px}.hero-bubble{transform:translateX(-50%) scale(var(--inv,1));transform-origin:50% 100%;white-space:nowrap;background:var(--glass-2);color:var(--text);-webkit-backdrop-filter:blur(8px);font:600 17px/1.15 var(--ui);pointer-events:none;z-index:6;border:1px solid #ff6ad599;border-radius:16px;padding:8px 15px 9px;animation:.28s cubic-bezier(.3,1.6,.5,1) pop-in,.4s ease-in 2.8s forwards fade-out;position:absolute;left:0;box-shadow:0 0 20px #ff2fb459,0 10px 24px #00000080}.hero-bubble:after{content:"";background:#1c1d38;border-bottom:1px solid #ff6ad599;border-right:1px solid #ff6ad599;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;top:100%;left:50%;transform:rotate(45deg)}@keyframes pop-in{0%{opacity:0;transform:translateX(-50%) scale(calc(var(--inv,1) * .6))}}@keyframes fade-out{to{opacity:0}}.hotspot-breath{pointer-events:none;animation:3.4s ease-in-out infinite breath;animation-delay:calc(var(--i,0) * -.55s);border-radius:50%;position:absolute;inset:12px}.hotspot.is-active .hotspot-breath{display:none}@keyframes breath{0%,to{box-shadow:0 0 #ff2fb400}50%{box-shadow:0 0 14px 6px #ff2fb473}}.sparkles{pointer-events:none;position:absolute;inset:-16px}.sparkles i{color:#ffd6f4;text-shadow:0 0 6px var(--pink), 0 0 2px #fff;font-size:15px;font-style:normal;line-height:1;animation:1.9s ease-in-out infinite sparkle;position:absolute}.sparkles i:first-child{top:6px;left:2px}.sparkles i:nth-child(2){font-size:12px;animation-delay:-.5s;bottom:8px;right:0}.sparkles i:nth-child(3){color:#e6d9ff;animation-delay:-1s;bottom:-2px;left:8px}.sparkles i:nth-child(4){font-size:11px;animation-delay:-1.4s;top:-4px;right:10px}@keyframes sparkle{0%,to{opacity:0;transform:scale(.3)rotate(0)}40%{opacity:1;transform:scale(1.1)rotate(25deg)}70%{opacity:.6;transform:scale(.8)rotate(45deg)}}.heart-burst{pointer-events:none;z-index:7;width:0;height:0;position:absolute}.heart-burst span{color:var(--pink);text-shadow:0 0 8px var(--pink), 0 0 2px #fff;font-size:20px;line-height:1;animation:.62s cubic-bezier(.2,.7,.4,1) forwards heart-fly;position:absolute;top:-11px;left:-9px}.heart-burst span:nth-child(odd){color:#c9a6ff;text-shadow:0 0 8px var(--violet), 0 0 2px #fff;font-size:15px}@keyframes heart-fly{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(.3)}25%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(1.1)}}.ambient{pointer-events:none;z-index:1;width:1536px;height:1024px;position:absolute;top:0;left:0;overflow:visible}.ambient .amb-twinkle,.ambient .amb-glint,.ambient .amb-wave,.ambient .amb-glow{transform-box:fill-box;transform-origin:50%}.amb-glow{mix-blend-mode:screen;animation:3.2s ease-in-out infinite amb-pulse}@keyframes amb-pulse{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}.amb-shimmer{stroke:#ffc878e6;stroke-width:2.4px;stroke-linecap:round;opacity:0;animation:2.6s ease-in-out infinite amb-shimmer}@keyframes amb-shimmer{0%,to{opacity:0}50%{opacity:.9}}.amb-twinkle{fill:#fff;filter:drop-shadow(0 0 4px #c9b6ff);animation:3s ease-in-out infinite amb-twinkle}@keyframes amb-twinkle{0%,to{opacity:0;transform:scale(.2)rotate(0)}45%{opacity:1;transform:scale(1.2)rotate(45deg)}70%{opacity:.7;transform:scale(.7)rotate(70deg)}}.amb-glint{fill:#fff;filter:drop-shadow(0 0 5px #9fe8ff);animation:3.2s ease-in-out infinite amb-glint}.amb-glint-2{animation-delay:-1.1s}.amb-coin{filter:drop-shadow(0 0 5px var(--gold));animation-duration:2.7s;animation-delay:-.6s}@keyframes amb-glint{0%,60%,to{opacity:0;transform:scale(0)rotate(0)}72%{opacity:1;transform:scale(1.25)rotate(40deg)}86%{opacity:.6;transform:scale(.4)rotate(90deg)}}.amb-wave{fill:none;stroke:#aae6ffbf;stroke-width:2.2px;stroke-linecap:round;animation:4s ease-in-out infinite amb-wave}.amb-wave-2{stroke-width:1.6px;stroke:#ff96e699}@keyframes amb-wave{0%,to{opacity:0;transform:translate(-8px)scaleX(.6)}40%,60%{opacity:1}50%{transform:translate(6px)scaleX(1)}}.amb-heart{fill:var(--pink);filter:drop-shadow(0 0 5px var(--pink));opacity:0;animation:5.1s ease-out infinite amb-heart}@keyframes amb-heart{0%{opacity:0;transform:translate(0)scale(.4)}15%{opacity:.95}50%{transform:translate(calc(var(--hx) + 6px), -38px) scale(1)}to{transform:translate(calc(var(--hx) - 4px), -78px) scale(1.15);opacity:0}}.amb-firefly{fill:#fff3c4;filter:drop-shadow(0 0 5px #ffd36b);opacity:0;animation:6s ease-in-out infinite amb-firefly}@keyframes amb-firefly{0%,to{opacity:0;transform:translate(0)}25%{opacity:.9}50%{opacity:.35;transform:translate(14px,-18px)}75%{opacity:.8;transform:translate(-8px,-30px)}}.amb-shooting line{stroke:#fff;stroke-width:2.6px;stroke-linecap:round;opacity:.9;filter:drop-shadow(0 0 4px #d9c8ff)}.amb-shooting circle{fill:#fff;filter:drop-shadow(0 0 6px #d9c8ff)}.amb-shooting{opacity:0;animation:11s ease-in 3s infinite amb-shoot}@keyframes amb-shoot{0%{opacity:0;transform:translate(1180px,110px)}2%{opacity:1}7%{opacity:0;transform:translate(1420px,210px)}to{opacity:0;transform:translate(1420px,210px)}}.map-art{animation:1.1s cubic-bezier(.2,.9,.3,1) both map-in}@keyframes map-in{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}.ambient,.hero-trail,.chest,.socials,.painted-ui{animation:.8s .6s both fade}.hero-marker .hero-figure{animation:.8s cubic-bezier(.3,1.5,.5,1) .9s both hero-drop}.hero-marker.is-moving .hero-figure{animation:.36s ease-in-out infinite walk-bob}@keyframes hero-drop{0%{opacity:0;transform:translateY(-80px)}60%{opacity:1}to{opacity:1;transform:none}}.hotspot:before{content:"";border:3px solid var(--pink-2);opacity:0;pointer-events:none;box-shadow:0 0 12px var(--pink);animation:.9s ease-out both spot-ping;animation-delay:calc(.7s + var(--i,0) * .14s);border-radius:50%;position:absolute;inset:10px}@keyframes spot-ping{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.4)}}.hud-top>*{animation:.5s cubic-bezier(.3,1.4,.5,1) .8s both hud-in}.hud-zoom .glass-btn{animation:.5s cubic-bezier(.3,1.4,.5,1) .9s both hud-in-side}@keyframes hud-in{0%{opacity:0;transform:translateY(-30px)}}@keyframes hud-in-side{0%{opacity:0;transform:translate(30px)}}.chest-amount.bump{animation:.7s cubic-bezier(.3,1.6,.5,1) amount-bump}@keyframes amount-bump{30%{color:var(--gold);transform:translate(-50%,-50%)scale(1.2)}}.coin-burst{pointer-events:none;width:0;height:0;position:absolute}.coin-burst span{width:14px;height:14px;box-shadow:0 0 8px var(--gold-soft);background:radial-gradient(circle at 35% 35%,#fff4b0,#ffc928 55%,#c98a00);border-radius:50%;animation:.9s cubic-bezier(.2,.7,.4,1) forwards coin-fly;position:absolute;top:-7px;left:-7px}@keyframes coin-fly{0%{transform:rotate(var(--a)) translateY(0) scale(.4);opacity:0}20%{opacity:1}to{transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(1);opacity:0}}.chest-inset{pointer-events:none;background:radial-gradient(at 50% 0,#8b5cff38,#0000 70%),linear-gradient(#16101a,#0c0a10);border:1px solid #ffcb5273;border-radius:16px;position:absolute;box-shadow:inset 0 0 0 1px #0009,inset 0 8px 18px #0009,0 0 14px #ffaa3c2e}.chest-amount,.chest-next{white-space:nowrap;text-align:center;pointer-events:none;color:var(--text);position:absolute;transform:translate(-50%,-50%)}.chest-amount{font-family:var(--display);letter-spacing:.5px;color:#fff;text-shadow:0 2px #0009,0 0 18px #ff6ad573;font-weight:800;line-height:1}.chest-next{font-family:var(--ui);color:#f4f1ff;text-shadow:0 1px #000000b3;font-weight:600}.chest-next:after{content:" 💎"}.social{cursor:pointer;background:0 0;border:0;border-radius:18px;outline:none;padding:0;display:block;position:absolute}.social.is-unset{cursor:default}.social-glow{pointer-events:none;border:1.5px solid #0000;border-radius:18px;transition:all .2s;position:absolute;inset:-2px}.social.is-live .social-glow{animation:2.8s ease-in-out infinite soc-breathe;animation-delay:calc(var(--i,0) * -.7s)}@keyframes soc-breathe{0%,to{border-color:#ff6ad533;box-shadow:0 0 #ff2fb400}50%{border-color:#ff6ad5b3;box-shadow:0 0 16px #ff2fb473,inset 0 0 12px #ff2fb440}}.social.is-live:hover .social-glow,.social.is-live:focus-visible .social-glow{box-shadow:var(--neon), inset 0 0 14px #ff2fb466;border-color:#fff;animation:none;transform:translateY(-3px)}.social-shine{pointer-events:none;background:linear-gradient(115deg,#0000 35%,#ffffff47 50%,#0000 65%) -120% 0/250% 100% no-repeat;border-radius:18px;position:absolute;inset:0;overflow:hidden}.social.is-live:hover .social-shine,.social.is-live:focus-visible .social-shine{animation:.7s soc-shine}@keyframes soc-shine{to{background-position:120% 0}}.social-fill,.social-icon{pointer-events:none;width:64px;max-width:none;height:64px;margin:-37px 0 0 -32px;position:absolute;top:50%;left:50%}.social-icon{animation:3.2s ease-in-out infinite soc-float;animation-delay:calc(var(--i,0) * -.8s);filter:drop-shadow(0 0 4px #ffffff26);transition:filter .2s}@keyframes soc-float{0%,to{transform:translateY(1px)rotate(-3deg)}50%{transform:translateY(-4px)rotate(3deg)}}.social.is-live .social-icon{animation:3.2s ease-in-out infinite soc-float,2.6s ease-in-out infinite soc-glow;animation-delay:calc(var(--i,0) * -.8s)}@keyframes soc-glow{0%,to{filter:drop-shadow(0 0 3px #ffffff26)}50%{filter:drop-shadow(0 0 9px #ff6ad5e6)drop-shadow(0 0 3px #ffffff80)}}.social.is-unset .social-icon{opacity:.85}.social:hover .social-icon,.social:focus-visible .social-icon{filter:drop-shadow(0 0 10px #ff6ad5f2)drop-shadow(0 0 3px #fff)}.social-x:hover .social-icon,.social-x:focus-visible .social-icon{animation:.7s cubic-bezier(.3,1.4,.5,1) soc-spin}.social-telegram:hover .social-icon,.social-telegram:focus-visible .social-icon{animation:.9s ease-in-out soc-fly}.social-pump:hover .social-icon,.social-pump:focus-visible .social-icon{animation:.6s ease-in-out soc-shake}.social-solana:hover .social-icon,.social-solana:focus-visible .social-icon{animation:.7s cubic-bezier(.3,1.5,.5,1) soc-jump}@keyframes soc-spin{0%{transform:rotate(0)scale(1)}50%{transform:rotate(200deg)scale(1.25)}to{transform:rotate(360deg)scale(1.1)}}@keyframes soc-fly{0%{transform:translate(0)scale(1)}35%{opacity:.2;transform:translate(16px,-16px)rotate(-8deg)scale(.85)}36%{opacity:0;transform:translate(-16px,12px)scale(.85)}70%{opacity:1}to{transform:translate(0)scale(1.1)}}@keyframes soc-shake{0%,to{transform:rotate(0)scale(1.1)}20%{transform:rotate(-22deg)scale(1.15)}40%{transform:rotate(18deg)scale(1.15)}60%{transform:rotate(-12deg)}80%{transform:rotate(8deg)}}@keyframes soc-jump{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-12px)scale(1.15,.9)}70%{transform:translateY(2px)scale(.95,1.08)}to{transform:translateY(0)scale(1.1)}}.social.is-nope .social-icon{animation:.45s ease-in-out soc-nope}.social.is-unset .social-glow{background:#08091459}.social.is-nope .social-glow{border-color:#fff6;animation:.45s ease-in-out soc-nope}@keyframes soc-nope{20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.social:focus-visible{box-shadow:0 0 0 3px #fff, 0 0 0 7px var(--violet)}.social-hint{transform:translateX(-50%) scale(var(--inv,1));transform-origin:50% 100%;white-space:nowrap;background:var(--glass-2);border:1px solid var(--line);font:600 15px var(--ui);color:var(--text);border-radius:12px;padding:5px 12px;position:absolute;bottom:112%;left:50%;box-shadow:0 8px 20px #00000080}.painted-btn{cursor:pointer;background:0 0;border:0;border-radius:26px;outline:none;margin:0;padding:0;transition:box-shadow .2s,transform .2s;position:absolute}.painted-btn:hover,.painted-btn:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 1.5px #ff6ad5e6,0 0 20px #ff2fb480}.painted-btn:focus-visible{box-shadow:0 0 0 3px #fff, 0 0 0 7px var(--violet)}.painted-tg{border-radius:50%}.painted-status{font:600 15px var(--ui);color:var(--text);pointer-events:none;background:#121427;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute}.hud{z-index:20;align-items:center;gap:8px;display:flex;position:fixed}.hud-top{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left))}.hud-zoom{bottom:max(14px, env(safe-area-inset-bottom));right:max(12px, env(safe-area-inset-right));flex-direction:column}.glass-btn{background:var(--glass);width:44px;height:44px;color:var(--text);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);cursor:pointer;border-radius:14px;place-items:center;padding:0;transition:transform .12s,box-shadow .2s,border-color .2s;display:grid;box-shadow:0 8px 22px #00000073,inset 0 1px #ffffff0f}.glass-btn:hover{border-color:#ff6ad5b3;transform:translateY(-2px);box-shadow:0 0 18px #ff2fb459,0 8px 22px #00000073}.glass-btn:active{transform:translateY(1px)}.glass-btn:focus-visible,.neon-btn:focus-visible,.stop:focus-visible,.scribble-close:focus-visible{outline:3px solid var(--violet);outline-offset:3px}.glass-btn svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.glass-btn svg .fill{fill:currentColor;stroke:none}.live-dot{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);height:36px;font:600 15px var(--ui);border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 12px;display:inline-flex;box-shadow:0 8px 22px #00000073}.dot{background:#888;border-radius:50%;flex:none;width:9px;height:9px}.is-live .dot{background:var(--green);box-shadow:0 0 8px var(--green);animation:2.4s ease-in-out infinite breathe}.is-reconnecting .dot,.is-loading .dot{background:#f2b33d;box-shadow:0 0 8px #f2b33d}.is-offline .dot{background:#ff5a6a;box-shadow:0 0 8px #ff5a6a}@keyframes breathe{50%{box-shadow:0 0 0 5px #3ddc842e, 0 0 8px var(--green)}}.hud-chest{left:50%;bottom:max(14px, env(safe-area-inset-bottom));background:var(--glass);-webkit-backdrop-filter:blur(10px);text-align:center;border:1px solid #ffcb5266;border-radius:16px;flex-direction:column;gap:1px;padding:6px 16px 7px;line-height:1.1;display:none;transform:translate(-50%);box-shadow:0 0 18px #ffaa3c2e,0 8px 22px #00000073}.chip-amount{font:800 20px var(--display);color:#fff}.dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);background:#04050e9e;place-items:center;padding:16px;animation:.18s fade;display:grid;position:fixed;inset:0}.parchment{color:var(--text);background:radial-gradient(at 20% 0,#ff2fb429,#0000 55%),radial-gradient(at 100% 100%,#8b5cff2e,#0000 55%),linear-gradient(#171a33,#0e1022);border:1px solid #ff6ad573;border-radius:22px;position:relative;box-shadow:0 0 0 1px #00000080,0 0 40px #ff2fb438,0 30px 70px #000000a6}.dialog{overscroll-behavior:contain;width:min(560px,100%);max-height:min(86vh,760px);padding:28px 28px 22px;animation:.26s cubic-bezier(.2,1.3,.4,1) pop;overflow:auto}@keyframes pop{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.scribble-close{border:1px solid var(--line);cursor:pointer;width:40px;height:40px;color:var(--text);z-index:2;background:#ffffff0a;border-radius:12px;padding:8px;transition:all .2s;position:absolute;top:14px;right:14px}.scribble-close svg{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;width:100%;height:100%}.scribble-close svg .thin{stroke-width:1.6px;opacity:.5}.scribble-close:hover{color:#fff;border-color:#ff6ad5cc;box-shadow:0 0 14px #ff2fb466}.ms-step{color:var(--muted);letter-spacing:.12em;font-size:13px;font-weight:700}.ms-title{font:800 34px/1.1 var(--display);color:#fff;margin:4px 50px 4px 0}.ms-title:after{content:"";background:linear-gradient(90deg, var(--pink), var(--violet));width:64px;height:4px;box-shadow:0 0 12px var(--pink-soft);border-radius:4px;margin-top:10px;display:block}.ms-subtitle{color:var(--pink-2);margin:6px 0 0;font-size:18px;font-weight:600}.ms-meta{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 6px;font-size:15px;display:flex}.stamp{letter-spacing:.06em;text-transform:uppercase;background:#ffffff0a;border:1px solid;border-radius:999px;padding:3px 12px 4px;font-size:13px;font-weight:700;display:inline-block}.stamp.s-planned{color:var(--muted);border-style:dashed}.stamp.s-active,.stamp.s-here{color:var(--pink-2);box-shadow:0 0 12px #ff2fb44d}.stamp.s-completed{color:var(--green)}.ms-date{color:var(--muted)}.ms-story{white-space:pre-line;overflow-wrap:anywhere;color:#e9e6fb;margin:16px 0 8px;font-size:18px;line-height:1.55}.ms-draft{color:#ffd98a;border-left:3px solid #ffcb5299;margin:8px 0;padding-left:10px;font-size:14px}.ms-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:16px 0 6px;display:grid}.polaroid{border:1px solid var(--line);border-radius:14px;transition:transform .2s,box-shadow .2s;display:block;overflow:hidden;box-shadow:0 10px 24px #00000080}.polaroid:hover{transform:translateY(-3px);box-shadow:0 0 18px #ff2fb459,0 10px 24px #00000080}.polaroid img{aspect-ratio:1;object-fit:cover;background:#1a1c33;width:100%;display:block}.ms-nav{justify-content:space-between;gap:12px;margin-top:20px;display:flex}.neon-btn,.doodle-btn{font:700 16px var(--ui);color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff2fb4e6,#8b5cffe6);border:0;border-radius:14px;min-height:44px;padding:10px 18px;transition:transform .12s,box-shadow .2s;box-shadow:0 0 18px #ff2fb459,inset 0 1px #ffffff40}.neon-btn:hover:not(:disabled),.doodle-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 26px #ff2fb48c,inset 0 1px #ffffff40}.doodle-btn:disabled{opacity:.3;cursor:default;box-shadow:none}.doodle-btn:focus-visible{outline-offset:3px;outline:3px solid #fff}.tagline{color:var(--pink-2);margin:8px 0 4px;font-size:18px;font-weight:600}.doodle-list{color:#e9e6fb;padding-left:0;font-size:17px;line-height:1.45;list-style:none}.doodle-list li{margin:10px 0;padding-left:26px;position:relative}.doodle-list li:before{content:"›";color:var(--pink-2);text-shadow:0 0 8px var(--pink);font-size:22px;font-weight:800;position:absolute;top:-2px;left:4px}.honesty{color:#ffe2a6;background:#ffcb5212;border:1px solid #ffcb5259;border-radius:14px;padding:10px 12px;font-size:14px;line-height:1.45}.stop-list{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.stop{text-align:left;width:100%;font:600 17px var(--ui);color:var(--text);cursor:pointer;border:1px solid var(--line);background:#ffffff0a;border-radius:14px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;min-height:50px;padding:8px 14px;transition:all .15s;display:grid}.stop:hover{background:#ff2fb41a;border-color:#ff6ad599}.stop-icon{text-align:center;color:var(--muted);font-size:18px}.stop.s-completed .stop-icon{color:var(--green)}.stop.s-active .stop-icon,.stop.is-here .stop-icon{color:var(--pink-2);text-shadow:0 0 8px var(--pink)}.stop-status{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.stop.is-here{border-color:#ff6ad5b3;box-shadow:0 0 16px #ff2fb440}@media (width<=760px),(height<=560px){.hud-chest{display:flex}.live-label{display:none}.live-dot{justify-content:center;width:36px;padding:0}.dialog{padding:24px 18px 18px}.ms-title{font-size:28px}.ms-story{font-size:17px}.nav-label{display:none}}@media (height<=560px) and (orientation:landscape){.hud-zoom{flex-direction:row}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.hotspot.is-active .hotspot-ring{box-shadow:0 0 0 4px #ff2fb480}.hotspot.is-active:after{opacity:.6}.sparkles,.hotspot-breath,.heart-burst,.ambient,.coin-burst,.hotspot:before,.hero-streak{display:none}.trail-line{animation:none}}
