.pp{gap:16px;max-width:760px;margin:0 auto;display:grid}.pp-count{text-align:center;margin:0;font-size:1.3rem}.pp-count b{color:var(--red);font-size:2rem}.pp-map svg{background:var(--bg);border-radius:12px;width:100%;height:auto}.pp-dot circle{fill:var(--line);transition:r .3s}.pp-dot.on circle{fill:var(--red);stroke:#fffdf8;stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:p12-pop .5s var(--ease-bounce) both;animation-delay:calc(var(--i,0) * 30ms)}.pp-dot text{fill:var(--ink);paint-order:stroke;stroke:var(--bg);stroke-width:3px;font:700 13px Mukta,system-ui,sans-serif}.pp-around{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.pp-around li{color:var(--muted)}.pp-around li.on{color:var(--ink);font-weight:700}.pp-badges{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.pp-badge{background:var(--bg);border:2px dashed var(--line);border-radius:12px;gap:4px;padding:12px;display:grid}.pp-badge.done{border:2px solid var(--saffron);background:color-mix(in srgb, var(--saffron) 12%, var(--bg));animation:p12-pop .5s var(--ease-bounce) both}.pp-bar{background:var(--line);border-radius:99px;height:8px;overflow:hidden}.pp-bar span{background:var(--red);transform-origin:0;height:100%;animation:p12-grow-x .8s var(--ease-out) .2s both;border-radius:99px;display:block}
