.playful-game.slap-battle-app{--play-ink:#2c1838;--play-paper:#fff6e4;--play-accent:#d2315a;--play-soft:#ffe0e6;--play-shadow:#a3466b;--red:#e53935;--blue:#1e74e8;--gold:#ffcf3f;--night:#2b1d3a;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);background:var(--night);overflow:hidden;overflow:clip;height:100dvh;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.slap-battle-app .slb-scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}.slap-battle-app .slb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.slap-battle-app .slb-hud{position:absolute;z-index:4;top:calc(var(--safe-t) + 8px);left:calc(var(--safe-l) + 8px);right:calc(var(--safe-r) + 8px);display:grid;grid-template-columns:1fr auto 1fr;align-items:start;grid-gap:8px;gap:8px;pointer-events:none}.slap-battle-app .slb-chip{display:flex;align-items:center;gap:8px;min-width:0}.slap-battle-app .slb-chip-1{justify-content:flex-end;text-align:right}.slap-battle-app .slb-chip-face{width:52px;height:52px;flex:none;border-radius:50%;object-fit:cover;border:4px solid var(--red);background:#fff;box-shadow:0 3px 0 #0005}.slap-battle-app .slb-chip-1 .slb-chip-face{border-color:var(--blue)}.slap-battle-app .slb-chip-text{display:grid;min-width:0;padding:2px 10px;border-radius:12px;background:#2c1838cc;color:#fff}.slap-battle-app .slb-chip-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22vw}.slap-battle-app .slb-chip-score{font-size:26px;line-height:1.05;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--gold)}.slap-battle-app .slb-chip.turn .slb-chip-face{animation:slb-pulse .9s ease-in-out infinite}@keyframes slb-pulse{50%{scale:1.12}}.slap-battle-app .slb-hud-mid{display:grid;justify-items:center;grid-gap:2px;gap:2px;padding-top:2px}.slap-battle-app .slb-round{padding:2px 14px;border:3px solid #fff;border-radius:14px;background:var(--play-accent);color:#fff;font-size:20px;font-weight:800;white-space:nowrap;box-shadow:0 3px 0 #0005}.slap-battle-app .slb-turn{font-size:14px;font-weight:800;color:#fff;text-shadow:0 2px 0 #000a;white-space:nowrap}.slap-battle-app .slb-corner{position:absolute;z-index:9;top:calc(var(--safe-t) + 70px);right:calc(var(--safe-r) + 8px);display:grid;grid-gap:8px;gap:8px}.slap-battle-app .slb-icon-btn{width:44px;height:44px;display:grid;place-items:center;border:3px solid var(--play-ink);border-radius:14px;background:var(--play-paper);color:var(--play-ink);cursor:pointer;box-shadow:0 3px 0 #0005;touch-action:manipulation}.slap-battle-app .slb-icon-btn .off,.slap-battle-app .slb-icon-btn[aria-pressed=true] .on{display:none}.slap-battle-app .slb-icon-btn[aria-pressed=true] .off{display:inline}.slap-battle-app:not([data-phase=play]) :is(.slb-hud,.slb-dock,#slb-quit){visibility:hidden}.slap-battle-app[data-phase=loading] .slb-corner{visibility:hidden}.slap-battle-app .slb-call{position:absolute;z-index:6;left:50%;top:21%;translate:-50% -50%;font-size:clamp(40px,10vmin,110px);font-weight:800;line-height:1;color:#fff;-webkit-text-stroke:4px var(--play-ink);paint-order:stroke fill;text-shadow:0 7px 0 var(--play-ink);white-space:nowrap;pointer-events:none}.slap-battle-app .slb-call[data-tone=gold]{color:var(--gold)}.slap-battle-app .slb-call[data-tone=small]{font-size:clamp(30px,7vmin,70px)}.slap-battle-app .slb-call.slb-in{animation:slb-pop .45s cubic-bezier(.2,1.6,.4,1)}@keyframes slb-pop{0%{scale:.3;opacity:0}to{scale:1;opacity:1}}.slap-battle-app .slb-pop{position:absolute;z-index:6;left:0;top:0;translate:-50% -50%;font-size:40px;font-weight:800;color:var(--gold);-webkit-text-stroke:3px var(--play-ink);paint-order:stroke fill;pointer-events:none;opacity:0}.slap-battle-app .slb-pop.show{animation:slb-rise 1.1s ease-out forwards}@keyframes slb-rise{0%{opacity:0;transform:translateY(10px) scale(.6)}15%{opacity:1;transform:translateY(0) scale(1.15)}to{opacity:0;transform:translateY(-60px) scale(1)}}.slap-battle-app .slb-flash{position:absolute;inset:0;z-index:7;background:#fff;opacity:0;pointer-events:none}.slap-battle-app .slb-flash.show{animation:slb-flash .35s ease-out}@keyframes slb-flash{0%{opacity:.75}to{opacity:0}}.slap-battle-app .slb-toast{position:absolute;z-index:11;left:50%;top:calc(var(--safe-t) + 74px);translate:-50% 0;max-width:calc(100% - 24px);padding:8px 16px;border-radius:14px;background:#2c1838eb;color:#fff;font-weight:700;text-align:center;opacity:0;transition:opacity .2s;pointer-events:none}.slap-battle-app .slb-toast.show{opacity:1}.slap-battle-app .slb-dock{position:absolute;z-index:5;left:50%;translate:-50% 0;bottom:calc(var(--safe-b) + 10px);width:min(760px,calc(100% - 20px - var(--safe-l) - var(--safe-r)));display:grid;grid-gap:6px;gap:6px;padding:10px 14px 12px;border:4px solid #fff;border-radius:22px;background:#2c1838e0;color:#fff;box-shadow:0 6px 0 #0006}.slap-battle-app .slb-bar-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:800}.slap-battle-app .slb-bar-label{font-size:18px}.slap-battle-app .slb-bar-time{font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--gold)}.slap-battle-app .slb-bar-time.low{color:#ff6b6b}.slap-battle-app .slb-bar{position:relative;display:flex;height:40px;border:3px solid #fff;border-radius:14px;overflow:hidden;background:#000}.slap-battle-app .slb-zone{display:block;flex-grow:0;flex-shrink:0;height:100%}.slap-battle-app .slb-zone-miss{background:repeating-linear-gradient(135deg,#5d5470 0 8px,#4b4260 8px 16px)}.slap-battle-app .slb-zone-weak{background:#5fb7e6}.slap-battle-app .slb-zone-strong{background:#ff9a2e}.slap-battle-app .slb-zone-perfect{background:linear-gradient(#fff4a8,var(--gold));box-shadow:0 0 12px var(--gold)}.slap-battle-app .slb-cursor,.slap-battle-app .slb-marker{position:absolute;top:-3px;bottom:-3px;left:0;width:8px;margin-left:-4px;border-radius:4px;background:#fff;box-shadow:0 0 0 2px var(--play-ink),0 0 10px #fff;will-change:transform}.slap-battle-app .slb-marker{display:none;background:var(--play-accent);width:10px;margin-left:-5px}.slap-battle-app .slb-dock.frozen .slb-marker{display:block}.slap-battle-app .slb-dock.frozen .slb-cursor{opacity:0}.slap-battle-app .slb-dock.waiting .slb-bar{opacity:.55}.slap-battle-app[data-turn=mine] .slb-dock{border-color:var(--gold);animation:slb-glow 1s ease-in-out infinite}@keyframes slb-glow{50%{box-shadow:0 6px 0 #0006,0 0 26px #ffcf3faa}}.slap-battle-app .slb-stop{display:none;min-height:60px;font-size:26px!important;touch-action:manipulation}.slap-battle-app[data-input=touch][data-turn=mine] .slb-stop{display:block}.slap-battle-app .slb-keys{margin:0;font-size:13px;text-align:center;opacity:.85}.slap-battle-app:not([data-turn=mine]) .slb-keys,.slap-battle-app[data-input=touch] .slb-keys{display:none}@media (hover:none),(pointer:coarse){.slap-battle-app .slb-keys{display:none}}.slap-battle-app .play-panel{box-shadow:0 8px 0 var(--play-shadow),0 18px 40px #0007}.slap-battle-app .slb-kicker{justify-self:center;display:inline-block;padding:2px 12px;border-radius:10px;background:var(--play-soft);color:var(--play-accent);font-size:13px;font-weight:800;letter-spacing:.08em}.slap-battle-app .slb-title{margin:0;font-size:30px;line-height:1.1;color:var(--play-accent)}.slap-battle-app .overlay{background:linear-gradient(90deg,transparent 30%,#2c183866 70%);-webkit-backdrop-filter:none;backdrop-filter:none}.slap-battle-app .slb-menu,.slap-battle-app :is(.slb-lobby,.slb-results){align-items:flex-end;padding:18px max(24px,4vw)}.slap-battle-app .slb-loading{background:#2c1838cc}.slap-battle-app .slb-topline{position:absolute;top:calc(var(--safe-t) + 4px);left:0}.slap-battle-app .slb-panel{width:min(430px,100%);padding:16px 20px 14px;display:grid;grid-gap:10px;gap:10px;text-align:center}.slap-battle-app .slb-panel .a-secondary{margin-top:0}.slap-battle-app .slb-logo{margin:0;line-height:0}.slap-battle-app .slb-logo img{width:min(100%,330px);height:auto;filter:drop-shadow(0 4px 0 #2c183855)}.slap-battle-app .slb-sub{margin:0;font-size:15px;line-height:1.3}.slap-battle-app .slb-go{min-height:56px}.slap-battle-app .slb-join{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px}.slap-battle-app .slb-join input{min-height:44px;min-width:0;padding:0 12px;border:2px solid #d9aebc;border-radius:14px;background:#fff;color:var(--play-ink);font-size:18px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.slap-battle-app .slb-join .a-secondary{padding:0 20px}.slap-battle-app .slb-help{text-align:left;font-size:14px;line-height:1.35}.slap-battle-app .slb-help summary{cursor:pointer;font-weight:800;color:var(--play-accent);min-height:32px}.slap-battle-app .slb-help p{margin:6px 0 0}.slap-battle-app .slb-settings{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:14px}.slap-battle-app .slb-setting{min-height:44px;padding:0 12px;border:2px solid #d9aebc;border-radius:12px;background:var(--play-soft);color:var(--play-ink);font-weight:700;cursor:pointer}.slap-battle-app .slb-best-line{font-weight:700}.slap-battle-app .slb-facecard{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:12px;gap:12px;padding:8px 10px;border-radius:18px;background:var(--play-soft);text-align:left}.slap-battle-app .slb-face-preview{width:72px;height:72px;border-radius:50%;object-fit:cover;border:4px solid var(--red);background:#fff}.slap-battle-app[data-seat="1"] .slb-face-preview{border-color:var(--blue)}.slap-battle-app .slb-face-actions{display:grid;grid-gap:6px;gap:6px}.slap-battle-app .slb-face-title{font-weight:800;color:var(--play-accent)}.slap-battle-app .slb-face-btns{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.slap-battle-app .slb-face-btns .a-secondary{padding:6px 8px;font-size:15px}.slap-battle-app .slb-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-weight:700;cursor:pointer}.slap-battle-app .slb-toggle input{width:22px;height:22px;accent-color:var(--play-accent)}.slap-battle-app .slb-privacy{margin:0;font-size:13px;line-height:1.35;color:#6b4a5c}.slap-battle-app .slb-status{margin:0;min-height:1.3em;font-weight:700}.slap-battle-app .slb-room-line{margin:0;font-size:18px}.slap-battle-app #slb-room-code{display:inline-block;margin-left:6px;padding:0 10px;border-radius:10px;background:var(--night);color:var(--gold);font-size:28px;letter-spacing:.12em}.slap-battle-app .slb-players,.slap-battle-app .slb-room-btns{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.slap-battle-app .slb-players{list-style:none;margin:0;padding:0}.slap-battle-app .slb-slot{display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:8px 4px;border:3px dashed #d9aebc;border-radius:16px}.slap-battle-app .slb-slot.on{border-style:solid;border-color:var(--red);background:#fff}.slap-battle-app #slb-slot-1.on{border-color:var(--blue)}.slap-battle-app .slb-slot img{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#f3dde4}.slap-battle-app .slb-slot:not(.on) img{opacity:.35}.slap-battle-app .slb-slot-name{font-size:14px;font-weight:700}.slap-battle-app .slb-slot-state{font-size:13px;color:#8a6b7a}.slap-battle-app .slb-slot.ready .slb-slot-state{color:#2f8a3a}.slap-battle-app #slb-ready[aria-pressed=true],.slap-battle-app #slb-rematch[aria-pressed=true]{background:#9fe36a;border-color:#4f8a2a;box-shadow:inset 0 3px 0 #dfffc4,0 5px 0 #4f8a2a;color:#24420f}.slap-battle-app .slb-r-faces{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:6px;gap:6px}.slap-battle-app .slb-r-side{margin:0;display:grid;justify-items:center;grid-gap:4px;gap:4px}.slap-battle-app .slb-r-side img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:5px solid var(--red);background:#fff}.slap-battle-app .slb-r-side-1 img{border-color:var(--blue)}.slap-battle-app .slb-r-side.win img{box-shadow:0 0 0 4px var(--gold),0 0 24px var(--gold)}.slap-battle-app .slb-r-side.lose img{filter:grayscale(.5)}.slap-battle-app .slb-r-side figcaption{display:grid;font-size:14px;font-weight:700}.slap-battle-app .slb-r-side figcaption b{font-size:30px;line-height:1;color:var(--play-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slap-battle-app .slb-r-vs{font-size:22px;font-weight:800;color:var(--play-accent)}.slap-battle-app .slb-r-note{margin:0;font-weight:700}.slap-battle-app .slb-r-points{display:grid;justify-items:center}.slap-battle-app .slb-r-points>span{font-size:13px;font-weight:800;color:#8a6b7a}.slap-battle-app .slb-r-score{margin:0;font-size:44px;font-weight:800;line-height:1;color:var(--play-accent)}.slap-battle-app .slb-r-best{margin:0;font-size:14px}.slap-battle-app .slb-r-stats{display:table;width:100%;max-width:none;padding:8px 14px;font-size:16px;border-collapse:separate}.slap-battle-app .slb-r-stats td,.slap-battle-app .slb-r-stats th{padding:2px 6px;text-align:center}.slap-battle-app .slb-r-stats tbody th{text-align:left;color:#8a6b7a}.slap-battle-app .slb-results .share-btn{margin:0;justify-self:center}@media (max-aspect-ratio:4/5),(max-width:700px){.playful-game.slap-battle-app .overlay{background:linear-gradient(180deg,transparent 15%,#2c183888 55%)}.slap-battle-app .slb-menu,.slap-battle-app :is(.slb-lobby,.slb-results){align-items:center;justify-content:flex-end;padding:0 8px calc(var(--safe-b) + 8px)}.slap-battle-app .slb-panel{width:100%;max-height:80dvh;overflow-y:auto;border-radius:24px;padding:12px 12px 10px;gap:8px}.slap-battle-app .slb-logo img{width:min(62%,240px)}.slap-battle-app .slb-sub{font-size:14px}.slap-battle-app .slb-title{font-size:25px}.slap-battle-app .slb-chip-face{width:44px;height:44px;border-width:3px}.slap-battle-app .slb-chip-score{font-size:22px}.slap-battle-app .slb-round{font-size:17px}.slap-battle-app .slb-r-side img{width:68px;height:68px}.slap-battle-app .slb-r-score{font-size:38px}}@media (max-width:420px){.slap-battle-app .slb-chip-text{padding:2px 6px}.slap-battle-app .slb-chip-name{max-width:18vw;font-size:12px}.slap-battle-app .slb-turn{font-size:13px}}@media (max-height:520px){.slap-battle-app .slb-call{top:46%;font-size:clamp(28px,9vmin,60px)}.slap-battle-app .slb-menu,.slap-battle-app :is(.slb-lobby,.slb-results){padding:6px 10px calc(var(--safe-b) + 6px);justify-content:center;align-items:flex-end}.slap-battle-app .slb-panel{max-height:calc(100dvh - 12px);overflow-y:auto;padding:10px 14px;gap:6px}.slap-battle-app .slb-logo img{width:190px}.slap-battle-app .slb-sub{display:none}.slap-battle-app .slb-dock{padding:6px 10px 8px;gap:4px;bottom:calc(var(--safe-b) + 6px);width:min(620px,calc(100% - 120px))}.slap-battle-app .slb-bar{height:32px}.slap-battle-app .slb-bar-label,.slap-battle-app .slb-bar-time{font-size:15px}.slap-battle-app .slb-stop{min-height:48px}.slap-battle-app[data-input=touch][data-turn=mine] .slb-stop{display:none}.slap-battle-app .slb-chip-face{width:40px;height:40px}.slap-battle-app .slb-corner{top:auto;right:auto;bottom:calc(var(--safe-b) + 8px);left:calc(var(--safe-l) + 8px);grid-auto-flow:column}.slap-battle-app .slb-results-panel{width:min(720px,100%);grid-template-columns:1fr 1fr;align-items:start;gap:6px 14px}.slap-battle-app .slb-results-panel>:is(.slb-kicker,#slb-r-title,#slb-r-note,#slap-battle-leaderboard,#slb-r-status){grid-column:1/-1}.slap-battle-app .slb-results-panel>:is(.slb-r-faces,.slb-r-stats){grid-column:1}.slap-battle-app .slb-results-panel>:is(.slb-r-points,#slb-rematch,#slb-r-menu,.share-btn){grid-column:2}.slap-battle-app .slb-results-panel .big{min-height:48px;padding:6px 12px;font-size:19px}}@media (prefers-reduced-motion:reduce){.slap-battle-app *,.slap-battle-app :before{animation:none!important;transition:none!important}}