.pp-app{--pp-ink:#1f3a3a;--pp-teal:#2f8f86;--pp-teal-d:#1f6f6a;--pp-gold:#ffd23f;--pp-coral:#ff6a55;--pp-coral-d:#c2412f;--pp-cream:#fff8ec;--pp-paper:#fffdf8;--pp-night:rgba(23,52,52,0.82);--play-accent:#ff6a55;--play-ink:#1f3a3a;--play-paper:#fff8ec;overflow:hidden;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;height:100dvh;background:#bfe6da;color:#fff}.pp-scene{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;touch-action:none}.pp-app:not([data-phase=play]) :is(.pp-head,.pp-stats,.pp-panel,.pp-say,.pp-toast){display:none}.pp-app img{-webkit-user-drag:none;pointer-events:none}.pp-app button{cursor:pointer}.pp-app button:disabled{opacity:.45;cursor:default}@keyframes pp-pulse{50%{transform:scale(1.06)}}@keyframes pp-pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.1)}}@keyframes pp-wait{50%{opacity:.55}}.pp-head{position:absolute;z-index:4;left:0;right:0;top:calc(env(safe-area-inset-top, 0px) + 8px);display:grid;grid-template-columns:40px 1fr 40px;align-items:center;grid-gap:8px;gap:8px;padding:0 10px;pointer-events:none}.pp-head>*{pointer-events:auto}.pp-icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--pp-night);color:#fff;border:2px solid rgba(255,255,255,.9);box-shadow:0 3px 0 rgba(0,0,0,.25)}.pp-icon-btn .off,.pp-icon-btn[aria-pressed=true] .on{display:none}.pp-icon-btn[aria-pressed=true] .off{display:inline}.pp-pill{justify-self:center;display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 6px 0 14px;border-radius:20px;background:var(--pp-night);border:2px solid rgba(255,255,255,.9);box-shadow:0 3px 0 rgba(0,0,0,.25);pointer-events:none}.pp-pill span{font:800 15px/1 Playful,sans-serif;white-space:nowrap}.pp-pill b{font:800 16px/1 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--pp-cream);color:var(--pp-ink);border-radius:13px;padding:5px 9px;min-width:50px;text-align:center}.pp-pill b.low{background:#ff5a6a;color:#fff;animation:pp-pulse .8s ease-in-out infinite}.pp-stats{position:absolute;z-index:4;left:50%;top:calc(env(safe-area-inset-top, 0px) + 54px);transform:translateX(-50%);display:flex;gap:5px;pointer-events:none}.pp-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:66px;height:34px;padding:0 8px;border-radius:12px;background:var(--pp-night);border:2px solid rgba(255,255,255,.55);box-shadow:0 3px 0 rgba(0,0,0,.18)}.pp-stat span{font:800 8.5px/1 Playful,sans-serif;letter-spacing:1.3px;color:#bdf0e4}.pp-stat b{font:800 16px/1 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--pp-gold)}.pp-stat b.neg{color:#ff9aa6}#pp-strikes{display:flex;gap:3px}#pp-strikes i{font-style:normal;width:13px;text-align:center;color:rgba(255,255,255,.45)}#pp-strikes i.on{color:#ff5a6a;animation:pp-pop .3s}.pp-say{z-index:5;left:0;top:0;width:max-content;max-width:220px;padding:7px 11px;border-radius:15px;color:var(--pp-ink);border:3px solid var(--pp-ink);box-shadow:0 4px 0 rgba(31,58,58,.3);font:800 12.5px/1.22 Playful,sans-serif;opacity:0;pointer-events:none;transition:opacity .15s;will-change:transform}.pp-say,.pp-say:after{position:absolute;background:#fff}.pp-say:after{content:"";left:50%;bottom:-10px;width:13px;height:13px;border-right:3px solid var(--pp-ink);border-bottom:3px solid var(--pp-ink);transform:translateX(-50%) rotate(45deg)}.pp-say.show{opacity:1}.pp-say.bad{color:#c2412f}.pp-say.good{color:#1f7a48}.pp-toast{position:absolute;z-index:8;left:50%;top:calc(env(safe-area-inset-top, 0px) + 124px);transform:translate(-50%,-50%) scale(.8);opacity:0;pointer-events:none;padding:8px 14px;border-radius:15px;background:var(--pp-cream);color:var(--pp-ink);border:3px solid #fff;font:800 15px/1.15 Playful,sans-serif;text-align:center;max-width:88vw;box-shadow:0 5px 0 rgba(0,0,0,.2);transition:opacity .18s,transform .25s cubic-bezier(.3,1.6,.5,1)}.pp-toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.pp-toast.good{background:#7dffa8;color:#11402a}.pp-toast.bad{background:#ff5a6a;color:#fff}.pp-toast.hot{background:var(--pp-gold);color:#4a3200}.pp-ghost{position:fixed;z-index:9;left:0;top:0;width:58px;height:58px;display:none;pointer-events:none;filter:drop-shadow(0 10px 10px rgba(0,0,0,.35))}.pp-ghost img{width:100%;height:100%}.pp-ghost.show{display:block}.pp-panel{position:absolute;z-index:6;left:0;right:0;bottom:0;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;padding:8px 9px calc(env(safe-area-inset-bottom, 0px) + 8px);color:var(--pp-ink);background:var(--pp-cream);border-top:4px solid var(--pp-teal);border-radius:20px 20px 0 0;box-shadow:0 -8px 24px rgba(20,60,60,.25)}.pp-wait{margin:0;padding:14px 0;text-align:center;font:800 13px/1 Playful,sans-serif;color:#7a9a94}.pp-card{min-height:54px;border-radius:14px;background:#fff;border:2px solid #d8eee8;box-shadow:0 2px 0 #d8eee8;overflow:hidden}.pp-card-in{position:relative;display:flex;flex-direction:column;gap:2px;padding:4px 7px 5px}.pp-card-in.pop{animation:pp-in .3s}@keyframes pp-in{0%{transform:translateY(8px);opacity:0}}.pp-pet{display:flex;align-items:center;gap:6px;min-width:0}.pp-sp{flex:none;font-size:26px;line-height:1}.pp-who{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.pp-who b{font:800 14px/1 Playful,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-who b small{font:700 10px/1 Playful,sans-serif;color:#7a9a94;letter-spacing:.3px}.pp-size{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;font:900 21px/1 Playful,sans-serif;font-style:normal;color:#fff}.pp-size small{font:800 6.5px/1 Playful,sans-serif;letter-spacing:.6px;margin-top:-7px}.sz-S{background:#3fb5e8}.sz-M{background:#a070e0}.sz-L{background:#ff8a3d}.pp-needs{flex:none;display:flex;gap:4px}.pp-need{position:relative;display:flex;flex-direction:column;align-items:center;width:44px;padding:2px 0;border-radius:9px;background:#f2f7f5;border:2px dashed #b8d8d0;box-sizing:border-box}.pp-need img{width:28px;height:28px}.pp-need em{font:800 8.5px/1 Playful,sans-serif;font-style:normal;color:#4a6a64}.pp-need.ok{border-style:solid;border-color:#3fc87a;background:#e4fbe9}.pp-need.ok:after{content:"✓";position:absolute;right:-5px;top:-6px;width:15px;height:15px;border-radius:50%;background:#3fc87a;color:#fff;font:900 10px/15px Playful,sans-serif;text-align:center}.pp-love{font:800 9.5px/1 Playful,sans-serif;color:#e0507a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-card-in.two{gap:2px;padding-top:13px}.pp-card-in.two .pp-sp{font-size:20px}.pp-card-in.two .pp-size{width:28px;height:28px;font-size:16px;border-radius:9px}.pp-card-in.two .pp-size small{display:none}.pp-card-in.two .pp-need{width:40px;flex-direction:row;gap:2px;justify-content:center;padding:1px 0}.pp-card-in.two .pp-need img{width:20px;height:20px}.pp-card-in.two .pp-need em{display:none}.pp-share{position:absolute;left:8px;top:3px;font:800 8px/1 Playful,sans-serif;letter-spacing:1px;color:var(--pp-teal);white-space:nowrap}.pp-share em{font-style:normal;color:#e0507a;letter-spacing:.3px}.pp-basket{border-radius:14px;padding:5px 6px;background:#f3e4cc;border:2px solid #e6cfa8;transition:background .15s,box-shadow .15s}.pp-basket.hover{background:#ffeec0;box-shadow:0 0 0 3px var(--pp-gold)}.pp-bhead{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:7px;gap:7px}.pp-bhead>b,.pp-shead>b{font:800 10px/1 Playful,sans-serif;letter-spacing:1.4px;color:#8a6430}#pp-load{font:800 12px/1 Playful,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#6a4a20;white-space:nowrap}#pp-load em{font-style:normal;color:#e0303f;font-size:10px;animation:pp-pulse .6s ease-in-out infinite;display:inline-block}.pp-meter{position:relative;height:12px;border-radius:6px;background:#fff;border:2px solid #d8bc8c;overflow:hidden}.pp-meter i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#5ccf7a,#7ce09a);border-radius:4px;transition:width .25s cubic-bezier(.3,1.4,.5,1)}.pp-meter u{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),rgba(106,74,32,.25) calc(12.5% - 1px) 12.5%)}.pp-meter.near i{background:linear-gradient(90deg,#ffc93a,#ffdb6a)}.pp-meter.over{border-color:#ff4d5a;animation:pp-pulse .5s ease-in-out infinite}.pp-meter.over i{background:#ff4d5a}.pp-lines{display:flex;gap:5px;min-height:50px;align-items:center;overflow-x:auto;scrollbar-width:none;padding:6px 4px;margin:0 -2px -4px}.pp-lines::-webkit-scrollbar{display:none}.pp-empty{margin:0 auto;font:700 12px/1 Playful,sans-serif;color:#a8885a}.pp-app .pp-line{position:relative;flex:none;width:46px;height:46px;padding:0;border-radius:11px;border:2px solid #fff;background:var(--pp-paper);box-shadow:0 2px 0 #d8bc8c;animation:pp-pop .2s;touch-action:none}.pp-line img{width:36px;height:36px;display:block;margin:0 auto}.pp-line>b{left:50%;bottom:-5px;transform:translateX(-50%);font:800 9px/1 Playful,sans-serif;color:#6a4a20;background:#fff;padding:1px 3px}.pp-line>b,.pp-lsz{position:absolute;border-radius:6px}.pp-lsz{left:-4px;top:-4px;width:17px;height:17px;color:#fff;font:900 10.5px/17px Playful,sans-serif;font-style:normal;box-shadow:0 1px 0 rgba(0,0,0,.25)}.pp-line.sized:before{content:"⟳";position:absolute;left:12px;top:-6px;font:800 9px/1 Playful,sans-serif;color:#8a6430}.pp-x{position:absolute;right:-6px;top:-6px;width:19px;height:19px;border-radius:50%;background:#5a6a68;color:#fff;text-decoration:none;font:800 10px/19px Playful,sans-serif}.pp-combos{display:flex;gap:4px;flex-wrap:wrap;min-height:0}.pp-combo{margin-top:4px;padding:2px 6px;border-radius:8px;background:var(--pp-gold);color:#5a3a00;font:800 9.5px/1.2 Playful,sans-serif;animation:pp-pop .25s}.pp-combo.love{background:#ffd0e0;color:#b02a5a}.pp-shelf{border-radius:14px;transition:box-shadow .15s}.pp-shelf.hover{box-shadow:0 0 0 3px #ff8a9a}.pp-shead{justify-content:space-between;margin:0 2px 4px}.pp-shead,.pp-sizes{display:flex;align-items:center}.pp-sizes{gap:4px}.pp-sizes span{font:800 9px/1 Playful,sans-serif;letter-spacing:1px;color:#7a9a94;margin-right:2px}.pp-app .pp-sz{width:34px;height:26px;border-radius:9px;border:2px solid #d0e4de;background:#fff;color:var(--pp-ink);font:900 14px/1 Playful,sans-serif;padding:0}.pp-app .pp-sz[aria-checked=true]{color:#fff;border-color:#fff;box-shadow:0 2px 0 rgba(0,0,0,.2)}.pp-app #pp-size-S[aria-checked=true]{background:#3fb5e8}.pp-app #pp-size-M[aria-checked=true]{background:#a070e0}.pp-app #pp-size-L[aria-checked=true]{background:#ff8a3d}.pp-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:5px;gap:5px}.pp-app .pp-tile{position:relative;height:56px;padding:0;border-radius:12px;border:2px solid #e6efe9;background:#fff;color:var(--pp-ink);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-shadow:0 2px 0 #d8e6e0;touch-action:none;transition:transform .1s,opacity .2s}.pp-app .pp-tile:active{transform:translateY(2px) scale(.97)}.pp-tile img{width:36px;height:36px;margin-top:2px}.pp-tile em{font:800 8.5px/1 Playful,sans-serif;font-style:normal;white-space:nowrap;letter-spacing:-.1px}.pp-tile.dim{opacity:.38}.pp-vol{left:3px;min-width:13px;height:13px;border-radius:4px;border:1.5px solid #c09a60;color:#8a6430;font:900 8.5px/12px Playful,sans-serif;font-style:normal;box-sizing:border-box;background:#fff8ea}.pp-stock,.pp-vol{position:absolute;top:3px}.pp-stock{right:3px;font:800 9px/1 Playful,sans-serif;font-style:normal;color:#4a6a64}.pp-tile.low .pp-stock{color:#e0303f}.pp-tsz{position:absolute;right:3px;top:22px;width:13px;height:13px;border-radius:4px;color:#fff;font:900 8.5px/13px Playful,sans-serif;font-style:normal}.pp-tile.out img{filter:grayscale(1);opacity:.4}.pp-re{position:absolute;left:2px;right:2px;top:16px;padding:2px 0;border-radius:6px;background:var(--pp-coral);color:#fff;text-decoration:none;font:800 8px/1.1 Playful,sans-serif}.pp-re.wait{background:var(--pp-teal);animation:pp-wait .8s ease-in-out infinite}.pp-row2{display:grid;grid-template-columns:1fr 2fr;grid-gap:8px;gap:8px}.pp-app .pp-go{min-height:46px;border-radius:14px;background:var(--pp-coral);color:#fff;border:2px solid #fff;box-shadow:inset 0 3px 0 #ffa090,0 4px 0 var(--pp-coral-d);font:800 18px/1 Playful,sans-serif;letter-spacing:.4px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:6px}.pp-go b{background:rgba(255,255,255,.25);border-radius:8px;padding:3px 7px}.pp-go small{font:800 10px/1 Playful,sans-serif}.pp-app .pp-go.warn{background:#b8243a;animation:pp-pulse .7s ease-in-out infinite}.pp-app .pp-go:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 3px 0 #ffa090,0 1px 0 var(--pp-coral-d)}.pp-app .pp-btn{min-height:46px;border-radius:14px;background:#fff;color:var(--pp-ink);border:2px solid #d0e4de;box-shadow:0 4px 0 #b8d0c8;font:800 15px/1 Playful,sans-serif;padding:0 10px}.pp-app .pp-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #b8d0c8}.pp-panel.idle .pp-basket,.pp-panel.idle .pp-shelf{opacity:.6}.playful-game .pp-menu,.playful-game .pp-results{background:linear-gradient(180deg,rgba(23,52,52,0) 30%,rgba(23,52,52,.5));backdrop-filter:none;-webkit-backdrop-filter:none;justify-content:flex-start;padding:30vh 12px calc(env(safe-area-inset-bottom, 0px) + 12px)}.playful-game .pp-results{padding-top:22vh}.pp-card-ui{width:min(440px,100%);margin:auto auto 0;flex:none;background:var(--pp-cream);color:var(--pp-ink);border:3px solid #fff;border-radius:28px;padding:14px 14px 16px;box-shadow:0 7px 0 #8cc8bc,0 20px 50px rgba(20,50,50,.35);text-align:center;box-sizing:border-box}.pp-kicker{display:inline-block;font:800 11px/1 Playful,sans-serif;letter-spacing:2px;color:var(--pp-teal-d);background:#d8f3ec;border-radius:10px;padding:5px 10px}.pp-logo{margin:8px 0 2px;font:800 38px/.92 Playful,sans-serif;letter-spacing:.5px;color:#fff;-webkit-text-stroke:3px var(--pp-ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--pp-coral);transform:rotate(-2deg)}.pp-tagline{margin:8px 0;font:700 13.5px/1.25 Playful,sans-serif;color:#4a6a64}.pp-rules{list-style:none;margin:0 0 10px;padding:0;text-align:left;display:grid;grid-gap:5px;gap:5px}.pp-rules li{display:flex;gap:7px;align-items:baseline;font:600 13px/1.3 Playful,sans-serif;color:#2a4a48}.pp-rules li span{flex:none;width:20px;text-align:center}.pp-rules li p{margin:0}.pp-rules b{color:var(--pp-coral-d)}.pp-modes{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin:0 0 10px}.pp-app .pp-mode-btn{border-radius:12px;border:2px solid #d0e4de;background:#f0f7f4;color:var(--pp-ink);padding:8px 6px;font:800 14px/1.1 Playful,sans-serif}.pp-mode-btn small{display:block;font-weight:700;font-size:11px;opacity:.75;margin-top:2px}.pp-mode-btn[aria-checked=true]{background:var(--pp-teal);border-color:var(--pp-teal-d);color:#fff}.playful-game .pp-card-ui button.big{width:100%;background:var(--pp-coral);color:#fff;border-color:var(--pp-coral-d);box-shadow:inset 0 3px 0 #ffa090,0 5px 0 var(--pp-coral-d);font-size:23px}.pp-best{margin:10px 0 0;font:700 12px/1.25 Playful,sans-serif;color:#7a9a94}.pp-r-title{margin:6px 0 0;font:800 30px/1 Playful,sans-serif;color:var(--pp-teal-d)}.pp-r-score{display:flex;align-items:baseline;justify-content:center;gap:6px}.pp-r-score b{font:800 52px/1 Playful,sans-serif;color:var(--pp-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pp-r-score span{font:800 16px/1 Playful,sans-serif;color:#8aa8a2}.pp-stars{display:flex;justify-content:center;gap:6px;margin:2px 0}.pp-stars i{width:30px;height:30px;background:#dfe8e4;-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);transition:transform .3s cubic-bezier(.3,1.8,.5,1),background .2s}.pp-stars i.on{background:#ffbf2e;transform:scale(1.18) rotate(-6deg)}.pp-r-line{margin:6px 0 8px;font:700 13px/1.3 Playful,sans-serif;color:#3a5a58}.pp-r-stats{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:5px;gap:5px}.pp-r-stats li{display:flex;flex-direction:column;gap:3px;padding:7px 2px;border-radius:12px;background:#eef6f3}.pp-r-stats b{font:800 18px/1 Playful,sans-serif;color:var(--pp-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pp-r-stats span{font:700 10px/1 Playful,sans-serif;color:#7a9a94}.pp-r-pets{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin:0 0 8px}.pp-r-pets i{position:relative;min-width:30px;height:30px;padding:0 3px;display:grid;place-items:center;border-radius:9px;font-style:normal;font-size:17px;background:#eef6f3;box-sizing:border-box}.pp-r-pets i.full{background:#d6f8e0;box-shadow:0 0 0 2px #3fc87a}.pp-r-pets i.miss{filter:grayscale(1);opacity:.45}.pp-r-pets small{position:absolute;right:-5px;bottom:-5px;font-size:13px}.pp-r-best{margin:2px 0 10px;font:800 13px/1 Playful,sans-serif;color:#2f86c8;min-height:13px}.pp-r-best.new{color:var(--pp-coral-d);animation:pp-pulse 1s ease-in-out infinite}.pp-r-row{display:flex;gap:10px;justify-content:center;align-items:center}.playful-game .pp-r-row .share-btn{margin-top:10px;padding:8px 14px;font-size:15px}.pp-app .pp-link-btn{margin-top:10px;background:#eef6f3;color:var(--pp-ink);border:2px solid #d0e4de;border-radius:14px;padding:9px 14px;font:800 15px/1.2 Playful,sans-serif}.playful-game .pp-loading{background:radial-gradient(ellipse at 50% 40%,#9fe0d0,#1f3a3a)}@media (min-width:760px) and (min-aspect-ratio:1/1){.pp-panel{left:auto;right:16px;top:16px;bottom:16px;width:430px;justify-content:center;border-radius:24px;border:4px solid var(--pp-teal)}.pp-stats{left:calc((100% - 446px) / 2)}.pp-head{right:446px}.pp-toast{left:calc((100% - 446px) / 2)}.pp-app .pp-tile{height:64px}.pp-tile img{width:42px;height:42px}.playful-game .pp-menu,.playful-game .pp-results{background:linear-gradient(90deg,rgba(23,52,52,0) 40%,rgba(23,52,52,.45));align-items:flex-end;justify-content:flex-start;padding:24px 6vw 24px 24px}.pp-card-ui{margin:auto 0}.pp-logo{font-size:48px}}@media (max-height:700px) and (max-width:759px){.playful-game .pp-menu,.playful-game .pp-results{padding-top:8vh}.pp-rules{display:none}.pp-app .pp-tile{height:48px}.pp-tile img{width:30px;height:30px}}