.pk{--mint:#dff5ec;--mint-deep:#2f8f6b;--pink:#f7a8c4;--pink-deep:#b85a80;--belt:#4a4f5c;--ok:#2f8a55;--bad:#d0453a;flex-direction:column;gap:22px;padding-top:48px;padding-bottom:88px;display:flex}.pk-back{margin-bottom:10px;font-size:14px;font-weight:600;display:inline-block}.pk-lead{max-width:62ch;color:var(--muted);margin:10px 0 0;font-size:16px}.pk button{font-family:inherit}.pk button:focus-visible{outline:3px solid var(--pink-deep);outline-offset:2px}.pk button:disabled{opacity:.45;cursor:default}.pk-levels{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.pk-dots{flex-wrap:wrap;gap:6px;display:flex}.pk-dots button{min-width:40px;height:40px;color:var(--mint-deep);cursor:pointer;background:#fff;border:2px solid #cfe9dd;border-radius:12px;padding:0 10px;font-size:15px;font-weight:800}.pk-dots button.done{border-color:var(--mint-deep);background:var(--mint)}.pk-dots button[aria-current=true]{border-color:var(--pink-deep);background:var(--pink-deep);color:#fff}.pk-score{color:var(--muted);margin:0;font-size:15px}.pk-score b{color:#b0421f}.pk-main{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.pk-stage{flex-direction:column;gap:12px;display:flex}.pk-title-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;display:flex}.pk-title-row h2{font-size:21px;line-height:1.2}.pk-board{aspect-ratio:16/10.5;background:repeating-linear-gradient(90deg, transparent 0 38px, #ffffff73 38px 76px), linear-gradient(var(--mint), #eefaf5);border-radius:22px;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #bfe6d5}.pk-hopper{left:calc(var(--col) * .5 - 7%);width:14%;max-width:80px;height:auto;position:absolute;top:1%}.pk-belt{background:repeating-linear-gradient(90deg, var(--belt) 0 14px, #5d6372 14px 28px);border-radius:999px;height:5.5%;position:absolute;top:27%;left:2%;box-shadow:0 5px #2f333d}.pk-belt.moving{animation:.6s linear infinite pk-belt}@keyframes pk-belt{to{background-position:28px 0}}.pk-gate{pointer-events:none;flex-direction:column;align-items:center;width:17%;max-width:110px;height:23%;display:flex;position:absolute;top:5%;transform:translate(-50%)}.pk-gate .sign{aspect-ratio:2.1;border:3px solid var(--pink-deep);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:2px;width:100%;min-height:0;transition:background .15s,border-color .15s;display:flex}.pk-gate .sign svg{width:auto;height:74%}.pk-gate .sign .not{color:var(--bad);font-size:clamp(9px,1.4vw,12px);font-weight:900;line-height:1}.pk-gate .sign .empty{color:#c9a9b8;font-size:clamp(14px,2.4vw,22px);font-weight:900}.pk-gate .posts{border:4px solid var(--pink-deep);border-top:0;border-bottom:0;flex:1;width:78%}.pk-gate .num{background:var(--pink-deep);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11.5px;font-weight:800;display:grid;position:absolute;top:-2px;left:-4px}.pk-gate.yes .sign{border-color:var(--ok);background:#dcf3e4}.pk-gate.no .sign{background:#eef0f1;border-color:#9aa0a6}.pk-jar{flex-direction:column;align-items:center;display:flex;position:absolute;top:45%;bottom:3%;transform:translate(-50%)}.pk-jar .lid{background:var(--pink-deep);border-radius:5px 5px 0 0;width:80%;height:9px}.pk-jar .glass{background:#ffffffb3;border:3px solid #5a96828c;border-top-width:2px;border-radius:8px 8px 20px 20px;flex-wrap:wrap-reverse;flex:1;place-content:flex-start center;gap:2px;width:100%;padding:6px 4px;display:flex;overflow:hidden}.pk-jar .tag{color:var(--mint-deep);white-space:nowrap;background:#fff;border-radius:999px;margin-top:3px;padding:1px 8px;font-size:12px;font-weight:800}.pk-slot{width:var(--slot);height:var(--slot);flex:none;position:relative}.pk-slot svg{width:100%;height:100%;display:block}.pk-slot.ghost svg{opacity:.32;filter:grayscale(.2)}.pk-slot.miss svg{opacity:.5}.pk-slot.miss:after{content:"";border:2px dashed var(--bad);border-radius:50%;position:absolute;inset:-2px}.pk-slot.pop{animation:.35s cubic-bezier(.3,1.6,.5,1) pk-pop}.pk-slot.wrong:after{content:"✕";background:var(--bad);color:#fff;border-radius:50%;place-items:center;width:12px;height:12px;font-size:8px;font-weight:900;display:grid;position:absolute;top:-3px;right:-3px}@keyframes pk-pop{0%{transform:scale(.3)}}.pk-candy{z-index:3;filter:drop-shadow(0 3px 2px #0003);position:absolute;top:0;left:0}.pk-candy svg{width:100%;height:100%;display:block}.pk-result{border:2px solid var(--mint);background:#fff;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;padding:16px 18px;display:flex;box-shadow:0 10px 24px -16px #2f8f6b99}.pk-result[hidden]{display:none}.pk-result h3{font-size:19px;line-height:1.25}.pk-result.win h3{color:var(--ok)}.pk-result.fail h3{color:var(--bad)}.pk-result p{color:var(--muted);margin:4px 0 0;font-size:15px;line-height:1.5}.pk-stars{color:#f2b51d;letter-spacing:3px;font-size:26px;line-height:1}.pk-stars .off{color:#e4e3de}.pk-panel{background:#fff5f9;border:2px solid #f6d5e3;border-radius:20px;flex-direction:column;gap:14px;padding:18px;display:flex}.pk-label{color:var(--pink-deep);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.pk-prog{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pk-rule{background:#fff;border:2px solid #f6d5e3;border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.pk-rule.else{color:var(--ink-soft);background:0 0;border-style:dashed;flex-direction:row;align-items:center;gap:8px;font-size:15px}.pk-rule .line{color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:15px;font-weight:600;display:flex}.pk-rule .gnum{background:var(--pink-deep);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12.5px;font-weight:800;display:grid}.pk-rule .to{color:var(--mint-deep);font-weight:800}.pk-neg{border:2px solid #f0c3d6;border-radius:999px;display:inline-flex;overflow:hidden}.pk-neg button{color:var(--pink-deep);cursor:pointer;background:#fff;border:0;padding:5px 10px;font-size:13.5px;font-weight:800}.pk-neg button[aria-pressed=true]{background:var(--pink-deep);color:#fff}.pk-traits{flex-wrap:wrap;gap:6px;display:flex}.pk-trait{color:var(--ink);cursor:pointer;background:#fff;border:2px solid #eee4e8;border-radius:999px;align-items:center;gap:5px;padding:4px 9px 4px 5px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.pk-trait svg{width:20px;height:20px}.pk-trait[aria-pressed=true]{border-color:var(--pink-deep);background:#fde7f0}.pk-run-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pk-btn{color:var(--ink);cursor:pointer;background:#fff;border:2px solid #f0c3d6;border-radius:12px;padding:11px 16px;font-size:15px;font-weight:700;line-height:1}.pk-btn.small{padding:7px 11px;font-size:13px}.pk-btn.go{border-color:var(--mint-deep);background:var(--mint-deep);color:#fff;flex:140px;padding:14px 20px;font-size:17px;box-shadow:inset 0 -4px #0000002e}.pk-btn.go.stop{border-color:var(--bad);background:var(--bad)}.pk-speed{border:2px solid #f0c3d6;border-radius:12px;display:inline-flex;overflow:hidden}.pk-speed button{cursor:pointer;background:#fff;border:0;padding:9px 11px;font-size:17px;line-height:1}.pk-speed button[aria-pressed=true]{background:#fde7f0}.pk-hint{color:var(--muted);border-top:1px dashed #f0c3d6;margin:0;padding-top:12px;font-size:14.5px;line-height:1.6}.pk-hint b{color:var(--ink)}.pk-tips{background:#eef8f3;border-radius:20px;max-width:760px;padding:20px 24px}.pk-tips h2{margin-bottom:10px;font-size:18px}.pk-tips ul{color:var(--ink-soft);margin:0;padding-left:20px;font-size:15.5px;line-height:1.65}.pk-tips li+li{margin-top:6px}.pk-tips b{color:var(--ink)}@media (width<=900px){.pk-main{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.pk{gap:16px;padding-top:28px;padding-bottom:48px}.pk-board{aspect-ratio:1/1.05;border-radius:16px}.pk-gate{width:19%}.pk-gate .posts{border-width:3px}.pk-gate .num{width:16px;height:16px;font-size:10px}.pk-jar .tag{padding:1px 5px;font-size:10.5px}.pk-panel{padding:14px}}@media (prefers-reduced-motion:reduce){.pk-belt.moving,.pk-slot.pop{animation:none}}
