.px-sprite{image-rendering:pixelated;image-rendering:crisp-edges;-webkit-user-select:none;user-select:none;display:block}.ch-pic{image-rendering:auto;-webkit-user-select:none;user-select:none;display:block}.cdock{z-index:35;pointer-events:none;align-items:flex-end;gap:4px;display:flex;position:fixed;bottom:10px;right:10px}.cdock>*{pointer-events:auto}.cdock-btn{cursor:pointer;filter:drop-shadow(2px 3px #06070f8c);background:0 0;border:0;padding:0;position:relative}.cdock-btn:focus-visible{outline:3px solid var(--lapis);outline-offset:2px}.cdock-name{white-space:nowrap;font-family:var(--font-pixel);color:#fff8e2;opacity:0;pointer-events:none;background:#06070fcc;border:2px solid #9a6f12;padding:0 5px;font-size:12px;transition:opacity .2s steps(3,end);position:absolute;top:-20px;left:50%;transform:translate(-50%)}.cdock-btn:hover .cdock-name,.cdock-btn:focus-visible .cdock-name,.cdock.is-cheer .cdock-name{opacity:1}.c-hop{transform-origin:50% 100%;animation:.6s ease-out 2 c-hop}@keyframes c-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}.c-idle{animation:2.6s ease-in-out infinite c-idle}@keyframes c-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.c-heart{color:#e8607a;text-shadow:2px 2px #06070f;pointer-events:none;font-size:26px;animation:1.3s ease-out forwards c-heart;position:absolute;top:0;left:50%}.c-note{color:#f5d76e;font-family:var(--font-pixel)}@keyframes c-heart{0%{opacity:0;transform:translate(-50%)scale(.6)}20%{opacity:1}to{transform:translate(calc(-50% + var(--dx,0px)), -70px) scale(1.2);opacity:0}}.path-me{z-index:2;display:block;position:absolute;top:50%;transform:translateY(-62%)}.path-me:hover .px-sprite{filter:drop-shadow(2px 3px #06070f99)brightness(1.12)}.path-me.l{right:calc(100% + 8px)}.path-me.r{left:calc(100% + 8px)}.path-me .px-sprite{filter:drop-shadow(2px 3px #06070f99)}.path-me .pm-pet{position:absolute;bottom:0}.path-me.l .pm-pet{left:-30px}.path-me.r .pm-pet{right:-30px}.chip-bust{border:2px solid var(--oakgall);background:#dce4f0;justify-content:center;align-items:flex-end;display:flex;overflow:hidden}.medal-got{animation:5s step-end infinite medal-shine}@keyframes medal-shine{0%,92%{filter:none}94%{filter:brightness(1.25)}96%{filter:brightness(1.1)}}.mm-root{z-index:60;background:radial-gradient(circle at 50% 42%,#3c285ae6 0 18%,#281c3eeb 18% 32%,#161024f0 32% 48%,#06070ff5 48%);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:hidden}.mm-rays{background:repeating-conic-gradient(from 0deg, #f5d76e29 0 8deg, transparent 8deg 20deg);pointer-events:none;border-radius:50%;width:760px;height:760px;margin:-380px 0 0 -380px;animation:30s linear infinite mm-spin;position:absolute;top:40%;left:50%;-webkit-mask-image:radial-gradient(circle,#000 20%,#0000 68%);mask-image:radial-gradient(circle,#000 20%,#0000 68%)}@keyframes mm-spin{to{transform:rotate(360deg)}}.mm-body{text-align:center;max-width:420px;position:relative}.mm-medal{transform-origin:50% 0;animation:.9s steps(9,end) both mm-drop;display:inline-block}@keyframes mm-drop{0%{transform:translateY(-120vh)}60%{transform:translateY(14px)}75%{transform:translateY(-6px)}to{transform:none}}.mm-turn{animation:1.1s steps(8,end) .9s both mm-turn;display:inline-block}@keyframes mm-turn{0%{transform:scaleX(1)}25%{transform:scaleX(.15)}50%{transform:scaleX(-1)}75%{transform:scaleX(.15)}to{transform:scaleX(1)}}.mm-kicker{font-family:var(--font-pixel);color:#f5d76e;letter-spacing:.08em;margin-top:10px;font-size:18px;animation:.4s steps(4,end) 1.2s both mm-fade}.mm-name{font-family:var(--font-heading);color:#fff8e2;text-shadow:3px 3px #06070f;font-size:clamp(40px,9vw,60px);line-height:1;animation:.4s steps(4,end) 1.4s both mm-fade}.mm-desc{color:var(--vellum-2);margin-top:6px;font-size:17px;animation:.4s steps(4,end) 1.6s both mm-fade}@keyframes mm-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.mm-toast{left:50%;bottom:calc(18px + var(--tabbar-h,0px));z-index:55;background:var(--vellum);max-width:calc(100vw - 96px);color:var(--oakgall);border:3px solid var(--oakgall);box-shadow:inset 0 0 0 3px var(--goldleaf), 0 6px 0 var(--oakgall);text-align:left;align-items:center;gap:10px;padding:8px 14px;font-size:15px;animation:4.2s steps(6,end) forwards mm-toast;display:flex;position:fixed;transform:translate(-50%)}@keyframes mm-toast{0%{transform:translate(-50%,120px)}10%,88%{transform:translate(-50%)}to{transform:translate(-50%,140px)}}.wr-stage{background:linear-gradient(#2b2440 0%,#1d1830 64%,#3a2a1c 64%,#2a1d12 100%);position:relative;overflow:hidden}.wr-stage:before{content:"";pointer-events:none;background:radial-gradient(at 50% 30%,#f5d76e38 0 30%,#f5d76e24 30% 48%,#f5d76e12 48% 66%,#0000 66%);width:52%;height:64%;position:absolute;top:6%;left:50%;transform:translate(-50%)}.wr-stage:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#00000038 0 2px,#0000 2px 48px);position:absolute;inset:64% 0 0}.wr-floor{opacity:.55;background:#06070f;height:4px;position:absolute;top:64%;left:0;right:0}.wr-stage>:not(.wr-floor){z-index:1;position:relative}.wr-tile{border:3px solid var(--oakgall);width:84px;color:var(--oakgall);text-align:center;box-shadow:inset 3px 3px 0 #fff, inset -3px -3px 0 var(--stone);background:#fffdf5;flex-direction:column;align-items:center;gap:2px;padding:6px 4px 4px;font-size:12px;line-height:1.15;display:flex;position:relative}.wr-tile:hover{background:#fff}.wr-tile.on{background:var(--goldleaf);color:var(--oakgall);box-shadow:inset 3px 3px 0 var(--gold-lt), inset -3px -3px 0 var(--gold-dk)}.wr-tile.locked img{filter:grayscale(.85)brightness(.65)}.wr-tile .wr-lock{position:absolute;top:3px;right:3px}.wr-tile .wr-new{font-family:var(--font-pixel);color:#fff8e2;background:#a8182e;border:2px solid #06070f;padding:0 3px;font-size:10px;position:absolute;top:-8px;left:-6px}.wr-sw{border:3px solid #06070f;width:34px;height:34px;position:relative;box-shadow:inset 0 -4px #0000004d,inset 0 3px #ffffff40}.wr-sw.on{outline-offset:1px;outline:3px solid #f5d76e}.wr-sw.locked:after{content:"";background:repeating-linear-gradient(45deg,#06070f99 0 3px,#0000 3px 7px);position:absolute;inset:0}.pp-book{color:var(--ink);background-color:#f3e8cc;background-image:linear-gradient(90deg,#966e321a,#0000 6% 94%,#966e321a),repeating-linear-gradient(0deg,#0000 0 27px,#1e4fa30f 27px 28px);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:4px solid #06070f;box-shadow:inset 0 0 0 3px #1e4fa3,inset 0 0 0 5px #d9a520,6px 6px #00000073}.pp-stamp{flex-direction:column;align-items:center;display:flex}.pp-stamp.fresh svg{animation:.55s steps(5,end) both pp-thunk}@keyframes pp-thunk{0%{opacity:0;transform:scale(2.2)rotate(-12deg)}60%{opacity:1;transform:scale(.92)}to{transform:scale(1)}}.pp-empty{color:#8a7458;border:2px dashed #b9a27c}.cert{color:#1d1a16;background:#fbf3de;border:10px double #6b4a2a;position:relative;overflow:hidden}.cert .cert-in1{pointer-events:none;border:3px solid #d9a520;position:absolute;inset:12px}.cert .cert-in2{pointer-events:none;border:1px solid #b3261e99;position:absolute;inset:20px}@media print{@page{size:landscape;margin:.35in}.cert{-moz-column-break-inside:avoid;break-inside:avoid;width:100%!important;max-width:none!important;box-shadow:none!important;opacity:1!important}.cdock,.mm-toast{display:none!important}.pp-book{box-shadow:none}}@media (prefers-reduced-motion:reduce){.c-hop,.c-idle,.mm-medal,.mm-turn,.mm-rays,.mm-kicker,.mm-name,.mm-desc,.pp-stamp.fresh svg,.medal-got,.c-heart,.mm-toast{animation:none!important}}.critter-spin{animation:.64s step-end 2 critter-spin}@keyframes critter-spin{0%{transform:translateY(-2px)}20%{transform:translateY(-5px)scaleX(-1)}45%{transform:translateY(-6px)}70%{transform:translateY(-4px)scaleX(-1)}90%{transform:none}}.critter-slump{transform:translateY(2px)}@media (prefers-reduced-motion:reduce){.critter-spin{animation:none}.critter-slump{transform:none}}html[data-motion=reduce] .critter-spin{animation:none}html[data-motion=reduce] .critter-slump{transform:none}.cdock .c-peek{animation:2.6s step-end both c-peek}@keyframes c-peek{0%{transform:none}8%{transform:translateY(24px)}16%{transform:translateY(54px)}52%{transform:translateY(33px)}70%{transform:translateY(30px)}82%{transform:translateY(12px)}92%{transform:none}}@media (prefers-reduced-motion:reduce){.cdock .c-peek{animation:none}}html[data-motion=reduce] .cdock .c-peek{animation:none}
