.pp-lobby,.pp-standings{--pp-bg:rgba(24,19,36,0.94);--pp-bg-2:rgba(255,255,255,0.07);--pp-bg-3:rgba(255,255,255,0.13);--pp-fg:#fbf7ff;--pp-muted:rgba(251,247,255,0.64);--pp-line:rgba(255,255,255,0.12);--pp-accent:#ffcf4a;--pp-accent-fg:#2b1d00;--pp-good:#5ee39a;--pp-bad:#ff6b81;--pp-live:#5ee39a;--pp-solo:#8fb8ff;--pp-wait:#ffcf4a;--pp-radius:20px;--pp-font:inherit;--pp-shadow:0 18px 50px rgba(8,4,20,0.45);font-family:var(--pp-font);color:var(--pp-fg);-webkit-tap-highlight-color:transparent}.pp-lobby{position:fixed;inset:0;z-index:60;pointer-events:none}.pp-lobby *,.pp-standings *{box-sizing:border-box}.pp-sheet{pointer-events:auto;position:absolute;top:calc(env(safe-area-inset-top, 0px) + 12px);right:calc(env(safe-area-inset-right, 0px) + 12px);bottom:calc(env(safe-area-inset-bottom, 0px) + 12px);width:min(380px,calc(100vw - 24px));display:flex;flex-direction:column;background:var(--pp-bg);border:1px solid var(--pp-line);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden;animation:pp-in-side .22s cubic-bezier(.2,.9,.3,1.2)}.pp-sheet[hidden]{display:none}.pp-head{display:flex;align-items:center;gap:10px;padding:14px 14px 10px 18px;border-bottom:1px solid var(--pp-line)}.pp-grab{display:none}.pp-title{flex:1 1;margin:0;font-size:1.15rem;font-weight:800;letter-spacing:.01em}.pp-body{flex:1 1;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:12px 16px 18px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}.pp-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--pp-bg-2);font-size:.78rem;font-weight:700;white-space:nowrap}.pp-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.pp-badge--live{color:var(--pp-live)}.pp-badge--solo{color:var(--pp-solo)}.pp-badge--connecting{color:var(--pp-wait)}.pp-badge--connecting:before{animation:pp-pulse 1s ease-in-out infinite}.pp-btn,.pp-chip,.pp-emote,.pp-fab,.pp-icon,.pp-tab{font:inherit;color:inherit;border:0;cursor:pointer;touch-action:manipulation;-moz-user-select:none;user-select:none;-webkit-user-select:none}.pp-icon{width:44px;height:44px;background:var(--pp-bg-2);font-size:1rem}.pp-btn,.pp-icon{border-radius:14px}.pp-btn{min-height:44px;padding:10px 16px;font-weight:750;font-size:.95rem;transition:transform .12s ease,background-color .12s ease,box-shadow .12s ease}.pp-btn--main{background:var(--pp-accent);color:var(--pp-accent-fg);box-shadow:0 4px 0 rgba(0,0,0,.25);flex:1 1}.pp-btn--ghost{background:var(--pp-bg-2);border:1px solid var(--pp-line)}.pp-btn--on{background:var(--pp-good);color:#062a16}.pp-btn:active,.pp-chip:active,.pp-emote:active,.pp-tab:active{transform:translateY(2px) scale(.98)}.pp-lobby :focus-visible{outline:3px solid var(--pp-accent);outline-offset:2px}.pp-modes{display:flex;gap:6px;padding:4px;border-radius:16px;background:var(--pp-bg-2)}.pp-modes[hidden]{display:none}.pp-tab{flex:1 1;min-height:44px;border-radius:12px;background:transparent;font-weight:750;color:var(--pp-muted)}.pp-tab[aria-selected=true]{background:var(--pp-fg);color:#1b1328}.pp-hint{color:var(--pp-muted)}.pp-hint,.pp-note{margin:0;font-size:.88rem;line-height:1.4}.pp-note{padding:10px 12px;border-radius:12px;background:rgba(255,207,74,.14)}.pp-note[hidden]{display:none}.pp-error{margin:0;color:var(--pp-bad);font-size:.85rem}.pp-label{display:block;color:var(--pp-muted);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.pp-count{display:inline-block;min-width:1.6em;padding:0 6px;border-radius:999px;background:var(--pp-bg-3);color:var(--pp-fg);text-align:center;letter-spacing:0}.pp-row{display:flex;gap:8px;align-items:center}.pp-row--wrap{flex-wrap:wrap}.pp-row--wrap>.pp-btn{flex:1 1 auto}.pp-where{display:flex;flex-direction:column;gap:10px}.pp-roomline{font-weight:700}.pp-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;padding:2px 8px;border-radius:8px;background:var(--pp-bg-3)}.pp-input{flex:1 1;min-width:0;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--pp-line);background:rgba(0,0,0,.25);color:var(--pp-fg);font:inherit;font-size:16px}.pp-input::placeholder{color:var(--pp-muted)}.pp-input--code{text-transform:uppercase;letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pp-input[aria-invalid=true]{border-color:var(--pp-bad)}.pp-invite{display:grid;grid-template-columns:1fr auto;grid-gap:8px 12px;gap:8px 12px;align-items:center;padding:12px;border-radius:16px;background:var(--pp-bg-2)}.pp-invite .pp-label{grid-column:1/-1;margin:0}.pp-invite .pp-row{flex-direction:column;align-items:stretch}.pp-qr{width:132px;height:132px;border-radius:10px;background:#fff}.pp-qr[hidden]{display:none}.pp-plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pp-player{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border-radius:14px;background:var(--pp-bg-2)}.pp-player--me{box-shadow:inset 0 0 0 2px var(--pp-accent)}.pp-avatar{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--pp-bg-3);font-weight:800}.pp-pname{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.pp-pname small{color:var(--pp-muted);font-weight:600}.pp-tag{flex:none;padding:2px 8px;border-radius:999px;background:var(--pp-bg-3);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.pp-tag--host{background:var(--pp-accent);color:var(--pp-accent-fg)}.pp-tag--watch{background:rgba(143,184,255,.25)}.pp-tag--ko{background:var(--pp-bad);color:#2a0008}.pp-ready{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--pp-bg-3);color:var(--pp-muted);font-weight:900}.pp-ready--on{background:var(--pp-good);color:#062a16}.pp-namefield{display:block;margin-top:10px}.pp-namefield .pp-input{width:100%}.pp-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;position:-webkit-sticky;position:sticky;bottom:-18px;padding:8px 0;background:linear-gradient(transparent,var(--pp-bg) 30%)}.pp-actions:empty,.pp-results[hidden]{display:none}.pp-table{width:100%;border-collapse:separate;border-spacing:0 4px;font-size:.92rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pp-table th{color:var(--pp-muted);font-size:.72rem;text-align:left;font-weight:800;padding:0 8px}.pp-table td{padding:8px;background:var(--pp-bg-2)}.pp-table td:first-child{border-radius:10px 0 0 10px;width:2.4em;text-align:center;font-weight:800}.pp-table td:last-child{border-radius:0 10px 10px 0}.pp-table tr.pp-me td{background:rgba(255,207,74,.18)}.pp-table tr.pp-win td{font-weight:800}.pp-social{display:flex;flex-direction:column;gap:8px;padding-top:6px;border-top:1px solid var(--pp-line)}.pp-emotes,.pp-quick{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;touch-action:pan-x}.pp-emotes::-webkit-scrollbar,.pp-quick::-webkit-scrollbar{display:none}.pp-emote{width:44px;height:44px;border-radius:50%;font-size:1.25rem}.pp-chip,.pp-emote{flex:none;background:var(--pp-bg-2)}.pp-chip{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--pp-line);font-size:.85rem;font-weight:650;white-space:nowrap}.pp-chatlog{list-style:none;margin:0;padding:0;max-height:120px;overflow-y:auto;font-size:.88rem;line-height:1.45;overflow-wrap:anywhere}.pp-chatlog:empty{display:none}.pp-chatlog b{color:var(--pp-accent);font-weight:750}.pp-chatform{display:flex;gap:8px}.pp-fab{pointer-events:auto;position:absolute;right:calc(env(safe-area-inset-right, 0px) + 14px);bottom:calc(env(safe-area-inset-bottom, 0px) + 14px);min-width:44px;min-height:44px;padding:10px 18px;border-radius:999px;background:var(--pp-accent);color:var(--pp-accent-fg);font-weight:800;box-shadow:var(--pp-shadow)}.pp-fab[hidden]{display:none}.pp-toasts{position:absolute;top:calc(env(safe-area-inset-top, 0px) + 64px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;width:min(92vw,420px)}.pp-toast{max-width:100%;padding:8px 14px;border-radius:999px;background:var(--pp-bg);border:1px solid var(--pp-line);box-shadow:var(--pp-shadow);font-size:.9rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;animation:pp-toast 2.6s ease forwards}.pp-countdown{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font-size:clamp(5rem,22vmin,12rem);font-weight:900;color:var(--pp-fg);text-shadow:0 6px 0 rgba(0,0,0,.3),0 0 40px rgba(255,207,74,.55)}.pp-countdown[hidden]{display:none}.pp-pop{animation:pp-pop .6s cubic-bezier(.2,.9,.3,1.4)}.pp-standings{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px;pointer-events:auto;touch-action:pan-x}.pp-standings::-webkit-scrollbar{display:none}.pp-standings[hidden]{display:none}.pp-standings--float{position:fixed;z-index:55;top:calc(env(safe-area-inset-top, 0px) + 8px);left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))}.pp-st{flex:none;display:flex;align-items:center;gap:6px;min-width:96px;max-width:150px;padding:5px 9px 5px 5px;border-radius:14px;background:var(--pp-bg);border:1px solid var(--pp-line);position:relative;transition:opacity .2s ease,transform .2s ease}.pp-st--me{box-shadow:inset 0 0 0 2px var(--pp-accent)}.pp-st--ko{opacity:.5}.pp-st--ko .pp-st-thumb{filter:grayscale(1)}.pp-st-thumb{flex:none;border-radius:8px;background:rgba(0,0,0,.3)}.pp-st-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px;padding-left:4px}.pp-st-name{font-size:.72rem;font-weight:700;color:var(--pp-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-st-score{font-size:.95rem;font-weight:850;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.pp-st-bar{display:block;height:4px;border-radius:4px;background:var(--pp-bg-3);overflow:hidden}.pp-st-bar i{display:block;height:100%;background:var(--pp-accent);transform-origin:left;transform:scaleX(0);transition:transform .3s ease}.pp-st--done .pp-st-bar i{background:var(--pp-good)}.pp-st-flag{position:absolute;top:-6px;right:-4px;padding:1px 6px;border-radius:999px;background:var(--pp-bad);color:#2a0008;font-size:.62rem;font-weight:900}.pp-st--done .pp-st-flag{background:var(--pp-good);color:#062a16}.pp-st-flag[hidden]{display:none}@media (max-aspect-ratio:4/5),(max-width:700px){.pp-sheet{top:auto;left:0;right:0;bottom:0;width:auto;max-height:min(82dvh,720px);border-radius:var(--pp-radius) var(--pp-radius) 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0);animation:pp-in-up .24s cubic-bezier(.2,.9,.3,1.1)}.pp-head{position:relative;padding-top:18px}.pp-grab{display:block;position:absolute;top:6px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:var(--pp-bg-3)}.pp-st{min-width:84px}.pp-st-thumb{width:34px!important;height:34px!important}}@media (max-height:500px) and (min-aspect-ratio:4/5) and (min-width:701px){.pp-sheet{top:calc(env(safe-area-inset-top, 0px) + 8px);bottom:calc(env(safe-area-inset-bottom, 0px) + 8px);width:min(340px,46vw)}.pp-head{padding:8px 10px 6px 14px}.pp-body{padding:8px 12px 12px;gap:10px}}@media (hover:none),(pointer:coarse){.pp-btn,.pp-tab{min-height:46px}}@media (prefers-reduced-motion:reduce){.pp-badge--connecting:before,.pp-pop,.pp-sheet,.pp-toast{animation:none!important}.pp-st-bar i{transition:none}}@keyframes pp-in-side{0%{opacity:0;transform:translateX(24px)}}@keyframes pp-in-up{0%{transform:translateY(40%);opacity:.4}}@keyframes pp-pulse{50%{opacity:.3}}@keyframes pp-pop{0%{transform:scale(1.6);opacity:0}60%{transform:scale(.94);opacity:1}}@keyframes pp-toast{0%{opacity:0;transform:translateY(-8px)}10%,80%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}