.pl-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px auto 6px;flex-wrap:wrap}.pl-controls.hidden{display:none}.pl-batch-stepper{display:flex;flex-direction:column;align-items:center;gap:4px}.pl-batch-label{font-size:10px;font-weight:700;letter-spacing:2px;color:#cfe4ee;background:rgba(0,90,180,.55);border:1px solid rgba(80,160,255,.45);border-radius:6px;padding:2px 12px;text-transform:uppercase;white-space:nowrap;box-shadow:0 0 10px rgba(0,120,255,.35)}.pl-batch-row{display:flex;align-items:stretch;gap:4px;background:rgba(10,20,40,.8);border:1px solid rgba(80,160,255,.45);border-radius:10px;padding:4px 6px;box-shadow:inset 0 0 8px rgba(0,0,0,.5),0 0 12px rgba(0,120,255,.25)}.pl-batch-btn{background:0 0;border:none;color:#6ec4ff;font-size:12px;line-height:1;cursor:pointer;padding:4px 10px;border-radius:6px;font-weight:700;transition:background .12s,color .12s,transform 80ms;user-select:none}.pl-batch-btn:hover:not(:disabled){background:rgba(80,160,255,.18);color:#cfe4ee}.pl-batch-btn:active:not(:disabled){transform:scale(.9)}.pl-batch-btn:disabled{color:#2c3a52;cursor:not-allowed}.pl-batch-value{min-width:28px;text-align:center;font-size:16px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:1px;padding:2px 4px;text-shadow:0 0 6px rgba(0,200,255,.5)}#plDropAllBtn{font-size:12px}.pl-hint{font-size:11px;letter-spacing:1px;color:#88a0b4}.pl-stage{position:relative;display:grid;grid-template-columns:64px 1fr 64px;align-items:stretch;width:100%;max-width:min(720px,calc((100vh - 120px) * 11 / 12));aspect-ratio:11/12;margin:8px auto 14px;background:radial-gradient(ellipse at top,rgba(8,24,44,.7) 0,rgba(2,8,24,.95) 80%);border:1px solid rgba(80,130,200,.25);border-radius:14px;box-shadow:inset 0 0 30px rgba(0,0,0,.55);overflow:hidden}.pl-canvas{display:block;width:100%;height:100%;cursor:crosshair}.pl-hist{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:40px 4px 56px;overflow:hidden}.pl-hist .pl-hist-cell{height:34px;max-height:80px;margin-bottom:0;box-sizing:border-box;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;letter-spacing:.5px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);transition:max-height .35s ease,opacity .3s ease,margin-bottom .35s ease}.pl-hist-x{margin-left:4px}.pl-hist-o{margin-right:4px}.pl-hist-cell.m-low{background:rgba(255,80,80,.35)}.pl-hist-cell.m-mid{background:rgba(140,160,200,.3)}.pl-hist-cell.m-high{background:rgba(0,200,255,.35)}.pl-hist-cell.m-jack{background:linear-gradient(135deg,rgba(255,220,0,.55),rgba(255,120,0,.55))}.pl-hist-cell.m-respin{box-shadow:inset 0 0 8px rgba(0,255,200,.7)}.pl-hud{position:absolute;inset:0;pointer-events:none;font-size:11px;letter-spacing:1.5px;text-transform:uppercase}.pl-score{position:absolute;top:8px;padding:4px 10px;background:rgba(10,20,40,.75);border:1px solid rgba(108,214,220,.25);border-radius:6px;color:#cfe4ee;font-size:12px;display:flex;align-items:center;gap:6px}.pl-score-num{color:#00d4ff;font-weight:700;font-variant-numeric:tabular-nums}.pl-score-sub{color:#88a0b4;font-size:10px;margin-left:4px;letter-spacing:1px}.pl-payout{margin-left:6px;padding:1px 7px;font-size:10px;font-weight:800;letter-spacing:.5px;border-radius:5px;border:1px solid transparent;font-variant-numeric:tabular-nums}.pl-payout:empty{display:none}.pl-payout.is-win{color:#82f5b5;border-color:rgba(40,220,120,.5);background:rgba(40,220,120,.12);text-shadow:0 0 4px rgba(40,220,120,.5)}.pl-payout.is-lose{color:#ff9aa8;border-color:rgba(255,90,110,.5);background:rgba(255,90,110,.12);text-shadow:0 0 4px rgba(255,90,110,.45)}.pl-payout.is-even{color:#88a0b4;border-color:rgba(140,160,180,.4);background:rgba(140,160,180,.1)}.pl-score-x{left:12px}.pl-score-o{right:12px}.pl-who{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#88a0b4;margin-right:6px}.pl-who.is-mine{color:#ffd060;text-shadow:0 0 6px rgba(255,208,80,.55)}.pl-disc{display:inline-block;width:12px;height:12px;border-radius:50%;box-shadow:0 0 6px rgba(255,255,255,.3)}.pl-disc.x{background:radial-gradient(circle at 35% 30%,#ff8aa0 0,#f46 55%,#c4314c 100%)}.pl-disc.o{background:radial-gradient(circle at 35% 30%,#9ed1ff 0,#4af 55%,#2e7fc4 100%)}.pl-timer{position:absolute;top:8px;left:50%;transform:translateX(-50%);padding:4px 14px;background:rgba(20,20,40,.8);border:1px solid rgba(255,220,0,.35);border-radius:10px;color:#ffd060;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:600;letter-spacing:2px}.pl-timer.is-low{color:#f88;border-color:rgba(255,100,100,.55)}.pl-batch-stepper--overlay{position:absolute;top:44px;left:50%;transform:translateX(-50%);pointer-events:auto;z-index:3}.pl-batch-stepper--overlay.hidden{display:none}.pl-bomb{position:absolute;bottom:8px;width:46px;height:46px;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(10,20,40,.6);display:flex;align-items:center;justify-content:center;cursor:default;z-index:7;transition:box-shadow .2s,transform .15s}.pl-bomb-x{left:9px}.pl-bomb-o{right:9px}.pl-bomb img{width:30px;height:30px;display:block;transition:filter .2s}.pl-bomb.is-dim img{filter:grayscale(1) brightness(1.7) opacity(.5)}.pl-bomb.is-active{box-shadow:0 0 14px rgba(255,120,0,.7);border-color:rgba(255,150,40,.6);animation:plBombPulse 1.3s ease-in-out infinite}.pl-bomb.is-active.is-mine{cursor:pointer}.pl-bomb.is-active.is-mine:hover{transform:scale(1.08)}.pl-bomb.is-opp-ready img{filter:grayscale(1) brightness(1.7) opacity(.5)}.pl-bomb.is-opp-ready{animation:plBombPulse 1.3s ease-in-out infinite}.pl-bomb-badge{position:absolute;top:-5px;right:-5px;background:#ff5a00;color:#fff;font-size:10px;font-weight:800;line-height:1.4;min-width:16px;text-align:center;border-radius:9px;padding:0 4px;display:none;box-shadow:0 0 6px rgba(255,90,0,.7)}@keyframes plBombPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.pl-fx-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.pl-bonus{position:absolute;transform:translate(-50%,-50%);font-size:22px;font-weight:800;color:#fff8a0;text-shadow:0 0 8px rgba(255,220,0,.6),0 2px 4px rgba(0,0,0,.7);letter-spacing:1px;pointer-events:none;animation:plBonusRise 1.2s ease-out forwards}.pl-bonus.is-big{font-size:32px;color:#fff;text-shadow:0 0 12px rgba(255,80,200,.9),0 0 24px rgba(255,60,160,.5),0 2px 4px rgba(0,0,0,.7)}.pl-bonus.is-x{color:#ffb3c2;text-shadow:0 0 8px rgba(255,80,110,.6),0 2px 4px rgba(0,0,0,.7)}.pl-bonus.is-o{color:#b3d8ff;text-shadow:0 0 8px rgba(100,170,255,.6),0 2px 4px rgba(0,0,0,.7)}.pl-respin-flier{position:absolute;width:14px;height:14px;margin-left:-7px;margin-top:-7px;border-radius:50%;box-shadow:0 0 12px currentColor,0 0 4px rgba(255,255,255,.6);pointer-events:none;--tx:0px;--ty:0px;animation:plRespinFly .7s cubic-bezier(.4,.1,.2,1) forwards}.pl-respin-flier.is-x{background:radial-gradient(circle at 35% 30%,#ff8aa0 0,#f46 55%,#c4314c 100%);color:#f46}.pl-respin-flier.is-o{background:radial-gradient(circle at 35% 30%,#9ed1ff 0,#4af 55%,#2e7fc4 100%);color:#4af}@keyframes plRespinFly{0%{transform:translate(0,0) scale(1)}50%{transform:translate(calc(var(--tx) * .5),calc(var(--ty) * .5 - 40px)) scale(1.05)}90%{transform:translate(var(--tx),var(--ty)) scale(.7);opacity:1}100%{transform:translate(var(--tx),var(--ty)) scale(.4);opacity:0}}.pl-respin-trail{position:absolute;width:6px;height:6px;margin-left:-3px;margin-top:-3px;border-radius:50%;pointer-events:none;animation:plRespinTrail 420ms ease-out forwards}.pl-respin-trail.is-x{background:#f46;box-shadow:0 0 5px rgba(255,68,102,.7)}.pl-respin-trail.is-o{background:#4af;box-shadow:0 0 5px rgba(68,170,255,.7)}@keyframes plRespinTrail{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(.3)}}.pl-respin-pop{position:absolute;width:24px;height:24px;margin-left:-12px;margin-top:-12px;border-radius:50%;pointer-events:none;border:2px solid currentColor;animation:plRespinPop .5s ease-out forwards}.pl-respin-pop.is-x{color:#f46}.pl-respin-pop.is-o{color:#4af}@keyframes plRespinPop{0%{opacity:.9;transform:scale(.3)}60%{opacity:.6;transform:scale(1.6)}100%{opacity:0;transform:scale(2)}}@keyframes plBonusRise{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1;transform:translate(-50%,-75%) scale(1.15)}60%{opacity:1;transform:translate(-50%,-120%) scale(1)}100%{opacity:0;transform:translate(-50%,-170%) scale(.85)}}.bs-gameend-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:50;background:radial-gradient(ellipse at center,rgba(0,0,0,.55) 0,rgba(0,0,0,0) 70%);opacity:0;animation:bsEndFade 4s ease-out forwards}.bs-gameend-overlay.hidden{display:none}.bs-gameend-text{font-family:Impact,"Arial Black",sans-serif;font-size:clamp(48px, 12vw, 140px);font-weight:900;letter-spacing:4px;text-transform:uppercase;text-align:center;line-height:1;white-space:nowrap;color:#fff;text-shadow:0 0 18px rgba(255,255,255,.6),0 4px 8px rgba(0,0,0,.7);transform:scale(.4) rotate(-5deg);opacity:0;animation:bsEndPop 4s cubic-bezier(.2,.7,.3,1) forwards}.bs-gameend-overlay.is-win .bs-gameend-text{color:#ffe04a;text-shadow:0 0 24px rgba(255,220,80,.95),0 0 64px rgba(255,160,0,.7),0 6px 10px rgba(0,0,0,.7)}.bs-gameend-overlay.is-lose .bs-gameend-text{color:#ff5a5a;text-shadow:0 0 24px rgba(255,90,90,.95),0 0 64px rgba(180,0,0,.7),0 6px 10px rgba(0,0,0,.75)}.bs-gameend-overlay.is-draw .bs-gameend-text{color:#a0c8ff;text-shadow:0 0 20px rgba(160,200,255,.9),0 6px 10px rgba(0,0,0,.7)}@keyframes bsEndFade{0%{opacity:0}10%{opacity:1}80%{opacity:1}100%{opacity:0}}@keyframes bsEndPop{0%{opacity:0;transform:scale(.3) rotate(-12deg)}18%{opacity:1;transform:scale(1.25) rotate(3deg)}28%{opacity:1;transform:scale(.95) rotate(-1deg)}40%{opacity:1;transform:scale(1) rotate(0)}80%{opacity:1;transform:scale(1) rotate(0)}100%{opacity:0;transform:scale(1.15) rotate(0)}}.player-disc{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:-3px;margin:0 2px}.player-disc.x{background:radial-gradient(circle at 35% 30%,#ff8aa0 0,#f46 55%,#c4314c 100%);box-shadow:0 0 8px rgba(255,68,102,.5),inset 0 -1px 2px rgba(0,0,0,.4)}.player-disc.o{background:radial-gradient(circle at 35% 30%,#9ed1ff 0,#4af 55%,#2e7fc4 100%);box-shadow:0 0 8px rgba(68,170,255,.5),inset 0 -1px 2px rgba(0,0,0,.4)}@media (max-width:600px){.pl-stage{grid-template-columns:46px 1fr 46px}.pl-hist .pl-hist-cell{height:26px;font-size:11px}.pl-score{font-size:10px;padding:3px 7px}.pl-score-sub{display:none}.pl-payout{margin-left:4px;padding:1px 5px;font-size:9px}.pl-timer{font-size:12px;padding:3px 10px}}.pl-emote-bar{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 6px;flex-wrap:wrap}.pl-emote-btn{position:relative;width:44px;height:44px;padding:0;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(10,20,40,.7);color:#cfe4ee;font-size:22px;line-height:1;cursor:pointer;transition:transform .12s,background .15s,border-color .15s,box-shadow .15s,opacity .15s}.pl-emote-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.06);background:rgba(20,40,70,.85);border-color:rgba(108,214,220,.45);box-shadow:0 4px 12px rgba(0,0,0,.5)}.pl-emote-btn:active:not(:disabled){transform:scale(.95)}.pl-emote-btn:disabled{opacity:.35;cursor:not-allowed;filter:grayscale(.6)}.pl-emote-left{font-size:10px;font-weight:700;letter-spacing:1px;color:#88a0b4;background:rgba(10,20,40,.6);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:3px 8px;font-variant-numeric:tabular-nums;white-space:nowrap}.pl-emote-left.is-low{color:#ffb066;border-color:rgba(255,160,80,.4)}.pl-emote-left.is-out{color:#ff5a5a;border-color:rgba(255,90,90,.4)}.pl-emote-emoji{display:block;line-height:1}.pl-emote-key{position:absolute;bottom:2px;right:4px;font-size:9px;color:#6ab7d4;font-weight:700;letter-spacing:0}.pl-emote-pop{position:absolute;top:38%;font-size:80px;line-height:1;pointer-events:none;filter:drop-shadow(0 4px 12px rgba(0, 0, 0, .6));animation:plEmotePop 1.5s ease-out forwards}.pl-emote-pop.is-x{left:18%}.pl-emote-pop.is-o{right:18%}@keyframes plEmotePop{0%{opacity:0;transform:scale(.3) rotate(-8deg)}18%{opacity:1;transform:scale(1.25) rotate(4deg)}35%{opacity:1;transform:scale(1) rotate(0)}78%{opacity:1;transform:scale(1) translateY(-20px)}100%{opacity:0;transform:scale(.9) translateY(-60px)}}.pl-event-banner{position:absolute;top:50px;left:50%;transform:translateX(-50%);padding:8px 22px;border-radius:10px;font-size:14px;font-weight:800;letter-spacing:2px;text-transform:uppercase;white-space:nowrap;color:#fff;background:rgba(20,20,40,.92);border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 18px rgba(0,0,0,.55);z-index:40;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .3s cubic-bezier(.2,.7,.3,1)}.pl-event-banner.is-hidden{opacity:0;transform:translateX(-50%) translateY(-12px)}.pl-event-banner.is-show{opacity:1;transform:translateX(-50%) translateY(0)}.pl-event-banner.golden{color:#ffe04a;border-color:rgba(255,220,80,.75);box-shadow:0 0 24px rgba(255,200,0,.7),0 4px 18px rgba(0,0,0,.55)}.pl-event-banner.relocate{color:#6cf0ff;border-color:rgba(108,240,255,.7)}.pl-event-banner.warn{color:#ffb066;border-color:rgba(255,160,80,.7)}.pl-event-banner.streak{color:#ff9a3c;border-color:rgba(255,140,60,.7);box-shadow:0 0 18px rgba(255,120,0,.55),0 4px 18px rgba(0,0,0,.55)}.pl-event-banner.inferno{color:#fff;background:linear-gradient(135deg,rgba(255,80,0,.95),rgba(255,0,80,.95));border-color:rgba(255,220,100,.85);box-shadow:0 0 28px rgba(255,80,0,.85),0 4px 18px rgba(0,0,0,.55);animation:plInfernoPulse .6s ease-in-out 3}@keyframes plInfernoPulse{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.08)}}.pl-best-ghost{position:absolute;top:36px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:700;letter-spacing:1.5px;color:#88a0b4;text-shadow:0 1px 2px rgba(0,0,0,.7);padding:1px 8px;border-radius:5px;background:rgba(10,20,40,.55);border:1px solid rgba(255,255,255,.06);z-index:6;opacity:.95}.pl-best-ghost.is-ahead{color:#82f5b5;border-color:rgba(40,220,120,.45);text-shadow:0 0 6px rgba(40,220,120,.5)}.pl-best-ghost.is-behind{color:#ff9aa8;border-color:rgba(255,90,110,.45);text-shadow:0 0 6px rgba(255,90,110,.45)}.pl-best-ghost:empty{display:none}
