:root{--bg-dark: #0a0d14;--bg-card: rgba(18, 24, 38, .85);--bg-glass: rgba(255, 255, 255, .05);--border-neon: rgba(56, 189, 248, .25);--accent-cyan: #06b6d4;--accent-blue: #3b82f6;--accent-purple: #8b5cf6;--accent-amber: #f59e0b;--accent-rose: #f43f5e;--text-main: #f8fafc;--text-muted: #94a3b8;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}html,body{width:100%;height:100%;overflow:hidden;background-color:var(--bg-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text-main)}.pk-arena-root{display:flex;flex-direction:column;width:100%;height:100dvh;position:relative;background:radial-gradient(circle at 50% 10%,#172554,#0a0d14 70%);overflow:hidden}.pk-hud-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#0a0d14d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-neon);z-index:20;flex-shrink:0;gap:8px}.hud-brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.hud-title-group{display:flex;align-items:center;gap:6px;white-space:nowrap}.hud-logo-icon{font-size:20px;filter:drop-shadow(0 0 8px rgba(6,182,212,.6))}.hud-title{font-size:18px;font-weight:900;letter-spacing:-.5px;background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1}.hud-subtitle{display:block;font-size:8px;color:var(--text-muted);font-weight:700;letter-spacing:1px}.hud-room-badge{display:flex;align-items:center;gap:6px;background:#ffffff0f;padding:4px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.1)}.room-label{font-size:9px;color:var(--accent-cyan);font-weight:800}.room-code{font-size:13px;font-weight:800;letter-spacing:1.5px;font-family:monospace}.btn-copy-code{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:2px;border-radius:4px}.btn-copy-code:hover{color:var(--text-main);background:#ffffff1a}.hud-net-badge{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;background:#0006;padding:4px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.08)}.net-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e}.net-dot.connecting{background:#eab308;box-shadow:0 0 8px #eab308}.net-dot.disconnected{background:#ef4444;box-shadow:0 0 8px #ef4444}.hud-actions{display:flex;align-items:center;gap:6px}.hud-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--text-main);padding:6px 10px;border-radius:8px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.hud-btn:hover{background:#ffffff2e;transform:translateY(-1px)}.hud-btn.is-active{background:var(--accent-cyan);color:#000;border-color:var(--accent-cyan)}.hud-btn-danger:hover{background:var(--accent-rose);border-color:var(--accent-rose)}.pk-battlefield{flex:1;display:flex;align-items:center;justify-content:center;padding:12px;gap:16px;position:relative;overflow:hidden}.player-zone{display:flex;flex-direction:column;align-items:center;background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-neon);border-radius:var(--radius-lg);padding:14px;box-shadow:0 8px 32px #0006;position:relative}.local-zone{width:min(88vw,360px);flex-shrink:0}.rival-zone{width:min(75vw,290px);opacity:.95;flex-shrink:0}.zone-header,.rival-radar-header{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:6px;overflow:hidden}.player-profile{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden}.player-avatar{font-size:20px}.profile-info{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}.player-name{font-size:13px;font-weight:700;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-role-badge{font-size:8px;font-weight:800;background:#3b82f6;color:#fff;padding:1px 6px;border-radius:10px;width:fit-content}.rival-badge{background:#8b5cf6}.dmc-widget{display:flex;flex-direction:column;align-items:center;min-width:34px;flex-shrink:0}.dmc-letter-wrap{position:relative}.dmc-letter{font-size:20px;font-weight:900;font-style:italic;line-height:1;background:linear-gradient(180deg,#facc15,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 6px rgba(245,158,11,.6))}.dmc-letter.rank-s,.dmc-letter.rank-ss,.dmc-letter.rank-sss{background:linear-gradient(180deg,#f43f5e,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:dmcPulse .5s infinite alternate ease-in-out}@keyframes dmcPulse{0%{transform:scale(1);filter:drop-shadow(0 0 6px #f43f5e)}to{transform:scale(1.15);filter:drop-shadow(0 0 12px #ec4899)}}.dmc-gauge-wrap{width:36px;height:4px;background:#ffffff26;border-radius:2px;overflow:hidden;margin-top:2px}.dmc-gauge-bar{height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444);transition:width .1s linear}.score-card{position:relative;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:3px 8px;text-align:right;min-width:52px;flex-shrink:0}.score-title{display:block;font-size:8px;font-weight:800;color:var(--text-muted)}.score-number{display:block;font-size:16px;font-weight:800;color:#38bdf8;line-height:1.1}.rival-score-card .score-number{color:#c084fc}.score-popup{position:absolute;top:-12px;right:6px;font-size:12px;font-weight:800;color:#facc15;pointer-events:none;opacity:0;transform:translateY(0)}.score-popup.show{animation:scoreFloat .6s ease-out forwards}@keyframes scoreFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}.attack-charge-wrap{width:100%;margin-bottom:8px}.charge-label-row{display:flex;justify-content:space-between;font-size:9px;font-weight:800;margin-bottom:3px}.charge-title{color:var(--accent-cyan)}.charge-status{color:#a3e635}.charge-track{width:100%;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.charge-fill{height:100%;background:linear-gradient(90deg,#06b6d4,#3b82f6,#ec4899);transition:width .2s ease-out}.board-wrapper{--board-size: min(80vw, 320px);--cell-gap: 8px;--cell-size: calc((var(--board-size) - (var(--cell-gap) * 5)) / 4);position:relative;width:var(--board-size);height:var(--board-size);background:#0f172ae6;border-radius:var(--radius-md);padding:var(--cell-gap);border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 2px 8px #0009;touch-action:none}.grid-container{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:var(--cell-gap);width:100%;height:100%}.grid-cell{background:#ffffff0d;border-radius:clamp(2.5px,calc(var(--cell-size) * .13),8px);border:1px solid rgba(255,255,255,.03)}.tile-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.tile{position:absolute;top:0;left:0;width:var(--cell-size);height:var(--cell-size);transition:transform 95ms cubic-bezier(.2,0,.2,1);will-change:transform;pointer-events:none}.tile-inner{width:100%;height:100%;border-radius:clamp(2.5px,calc(var(--cell-size) * .13),8px);display:flex;align-items:center;justify-content:center;font-weight:800;text-align:center;line-height:1;box-sizing:border-box;will-change:transform;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.tile-new .tile-inner{animation:tileSpawn .16s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes tileSpawn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.tile-merged .tile-inner{animation:tileMergePop .2s cubic-bezier(.2,.9,.3,1.3) forwards}.tile-merged-away .tile-inner{opacity:0;transform:scale(.75);transition:opacity 85ms ease-out,transform 85ms ease-out}@keyframes tileMergePop{0%{transform:scale(.82)}45%{transform:scale(1.22)}75%{transform:scale(.96)}to{transform:scale(1)}}.tile-popup-score{position:absolute;top:0;left:50%;transform:translate(-50%);font-size:clamp(14px,3.8vw,20px);font-weight:900;color:#f59e0b;text-shadow:0 2px 4px rgba(0,0,0,.4),0 0 12px rgba(245,158,11,.7);pointer-events:none;z-index:60;white-space:nowrap;animation:tileScoreFloat .65s cubic-bezier(.16,1,.3,1) forwards}@keyframes tileScoreFloat{0%{opacity:0;transform:translate(-50%,4px) scale(.6)}25%{opacity:1;transform:translate(-50%,-14px) scale(1.2)}65%{opacity:.95;transform:translate(-50%,-28px) scale(1)}to{opacity:0;transform:translate(-50%,-44px) scale(.85)}}.tile-2{background:#fff7ed;color:#92400e;font-size:calc(var(--cell-size) * .48);box-shadow:0 2px 8px #fbbf242e,inset 0 1px 1px #fff}.tile-4{background:#fed7aa;color:#9a3412;font-size:calc(var(--cell-size) * .48);box-shadow:0 2px 10px #f9731633,inset 0 1px 1px #fff}.tile-8{background:#fb923c;color:#fff;font-size:calc(var(--cell-size) * .48);box-shadow:0 3px 12px #f9731659,inset 0 1px 1px #ffffff73}.tile-16{background:#fb7185;color:#fff;font-size:calc(var(--cell-size) * .44);box-shadow:0 4px 14px #f43f5e61,inset 0 1px 1px #ffffff73}.tile-32{background:#f43f5e;color:#fff;font-size:calc(var(--cell-size) * .44);box-shadow:0 4px 16px #e11d486b,inset 0 1px 1px #ffffff73}.tile-64{background:#e11d48;color:#fff;font-size:calc(var(--cell-size) * .44);box-shadow:0 4px 18px #be123c7a,inset 0 1px 1px #ffffff80}.tile-128{background:#8b5cf6;color:#fff;font-size:calc(var(--cell-size) * .38);box-shadow:0 4px 20px #8b5cf685,inset 0 1px 1px #fff9}.tile-256{background:#0ea5e9;color:#fff;font-size:calc(var(--cell-size) * .38);box-shadow:0 4px 22px #0ea5e98c,inset 0 1px 1px #fff9}.tile-512{background:#10b981;color:#fff;font-size:calc(var(--cell-size) * .38);box-shadow:0 4px 24px #10b9818c,inset 0 1px 1px #fff9}.tile-1024{background:#f59e0b;color:#fff;font-size:calc(var(--cell-size) * .3);box-shadow:0 6px 26px #f59e0ba6,inset 0 1px 2px #ffffffb3}.tile-2048{background:linear-gradient(135deg,#f59e0b,#ec4899,#8b5cf6);color:#fff;font-size:calc(var(--cell-size) * .3);box-shadow:0 0 30px #ec4899bf,inset 0 0 8px #fffc}.tile-super{background:linear-gradient(135deg,#06b6d4,#3b82f6,#8b5cf6 70%,#ec4899);color:#fff;font-size:calc(var(--cell-size) * .26);box-shadow:0 0 32px #8b5cf6cc,inset 0 0 12px #ffffffe6;border:1.5px solid rgba(255,255,255,.7)}.tile-obstacle .tile-inner{background:radial-gradient(circle,#2d131f,#0f172a);color:#f43f5e;border:2px dashed #f43f5e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;animation:glitchShake .9s infinite ease-in-out;box-shadow:0 0 16px #f43f5e80,inset 0 0 8px #f43f5e33}.obs-lock-icon{font-size:calc(var(--cell-size) * .28);line-height:1}.obs-countdown{font-size:calc(var(--cell-size) * .26);font-weight:900;color:#f43f5e;line-height:1}@keyframes glitchShake{0%{transform:translate(0)}25%{transform:translate(-1px,1px)}50%{transform:translate(1px,-1px)}75%{transform:translate(-1px,-1px)}to{transform:translate(0)}}.danger-vignette{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-md);box-shadow:inset 0 0 25px #ef4444b3;opacity:0;pointer-events:none;transition:opacity .3s ease}.board-wrapper.in-danger .danger-vignette{opacity:1;animation:dangerPulse 1s infinite alternate}@keyframes dangerPulse{0%{box-shadow:inset 0 0 15px #ef444480}to{box-shadow:inset 0 0 35px #ef4444e6}}.fog-blind-layer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-md);background:radial-gradient(circle,#0f172af2,#1e293bfa);opacity:0;pointer-events:none;transition:opacity .3s ease}.board-wrapper.fog-active .fog-blind-layer{opacity:1}.pk-center-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:5}.vs-emblem{font-size:24px;font-weight:900;font-style:italic;background:linear-gradient(135deg,#f43f5e,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(56,189,248,.5))}.pk-combat-log{max-width:180px;text-align:center;font-size:10.5px;color:var(--text-muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rival-mirror-wrapper{--rival-size: min(60vw, 240px);--cell-gap: 6px;--cell-size: calc((var(--rival-size) - (var(--cell-gap) * 5)) / 4);position:relative;width:var(--rival-size);height:var(--rival-size);background:#0f172ab3;border-radius:var(--radius-md);padding:var(--cell-gap);border:1px dashed rgba(168,85,247,.3)}.rival-grid-container{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:var(--cell-gap);width:100%;height:100%}.rival-grid-cell{background:#ffffff08;border-radius:clamp(2.5px,calc(var(--cell-size) * .13),6px)}.rival-tile-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.rival-status-bar{width:100%;text-align:center;margin-top:6px}.rival-status-text{font-size:10px;color:#c084fc;font-weight:600}.pk-footer-controls{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 16px 14px;z-index:20;flex-shrink:0}.emote-bar{display:flex;align-items:center;gap:4px;flex-shrink:0}.btn-emote{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#f8fafc;font-size:10.5px;font-weight:800;cursor:pointer;padding:2px 6px;border-radius:6px;transition:all .15s ease;white-space:nowrap}.btn-emote:hover{background:#38bdf840;border-color:#38bdf8;transform:translateY(-1px)}.btn-emote:active{transform:scale(.92)}.virtual-dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,40px);gap:4px}.dpad-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.dpad-btn:active{background:var(--accent-cyan);color:#000}.dpad-up{grid-column:2;grid-row:1}.dpad-left{grid-column:1;grid-row:2}.dpad-right{grid-column:3;grid-row:2}.dpad-down{grid-column:2;grid-row:3}.pk-effect-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:260}.floating-emote{position:absolute;font-size:38px;animation:emoteFloatUp 1.8s ease-out forwards;pointer-events:none}@keyframes emoteFloatUp{0%{opacity:0;transform:translateY(20px) scale(.6)}20%{opacity:1;transform:translateY(0) scale(1.2)}80%{opacity:1;transform:translateY(-80px) scale(1)}to{opacity:0;transform:translateY(-130px) scale(.8)}}.ballistic-orb{position:absolute;left:0;top:0;width:42px;height:42px;margin-left:-21px;margin-top:-21px;border-radius:50%;pointer-events:none;z-index:82;will-change:transform}.orb-core{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 18px currentColor,0 0 34px currentColor;border:2px solid rgba(255,255,255,.92);animation:orbPulse .22s infinite alternate ease-in-out}.orb-label{font-size:11px;font-weight:900;color:#fff;letter-spacing:-.5px;line-height:1;text-shadow:0 1px 4px rgba(0,0,0,.9);white-space:nowrap}@keyframes orbPulse{0%{transform:scale(.94)}to{transform:scale(1.1)}}.orb-outbound{color:#38bdf8;background:radial-gradient(circle,#e0f2fe 8%,#0ea5e9 55%,#0369a1 95%);filter:drop-shadow(0 0 12px #38bdf8)}.orb-inbound{color:#f43f5e;background:radial-gradient(circle,#ffe4e6 8%,#f43f5e 55%,#9f1239 95%);filter:drop-shadow(0 0 14px #f43f5e)}.target-reticle{position:absolute;width:48px;height:48px;margin-left:-24px;margin-top:-24px;border-radius:50%;border:2px dashed currentColor;pointer-events:none;z-index:78;animation:reticleLock .52s linear forwards}.reticle-outbound{color:#38bdf8;box-shadow:0 0 14px #38bdf873,inset 0 0 10px #38bdf840}.reticle-inbound{color:#f43f5e;box-shadow:0 0 16px #f43f5e8c,inset 0 0 12px #f43f5e4d}@keyframes reticleLock{0%{opacity:.3;transform:scale(1.6) rotate(0)}to{opacity:.95;transform:scale(.85) rotate(90deg)}}.projectile-spark{position:absolute;width:10px;height:10px;margin-left:-5px;margin-top:-5px;border-radius:50%;pointer-events:none;z-index:79;animation:sparkFade .28s cubic-bezier(.1,.8,.3,1) forwards}@keyframes sparkFade{0%{opacity:.92;transform:scale(1.15)}to{opacity:0;transform:scale(.2)}}.spark-outbound{background:#38bdf8;box-shadow:0 0 10px #38bdf8}.spark-inbound{background:#f43f5e;box-shadow:0 0 12px #f43f5e}.shockwave-ring{position:absolute;width:16px;height:16px;margin-left:-8px;margin-top:-8px;border-radius:50%;border:4px solid currentColor;pointer-events:none;z-index:85;animation:shockwaveExpand .44s cubic-bezier(.1,.7,.1,1) forwards}@keyframes shockwaveExpand{0%{opacity:1;transform:scale(1);border-width:6px}to{opacity:0;transform:scale(12);border-width:1px}}.ring-outbound{color:#38bdf8;box-shadow:0 0 22px #38bdf8}.ring-inbound{color:#f43f5e;box-shadow:0 0 24px #f43f5e}.impact-float-badge{position:absolute;transform:translate(-50%,-50%);padding:4px 12px;border-radius:999px;font-size:14px;font-weight:900;letter-spacing:.5px;white-space:nowrap;pointer-events:none;z-index:90;animation:impactBadgePop .92s cubic-bezier(.16,1,.3,1) forwards}.badge-outbound{background:#0284c7f2;color:#fff;border:1.5px solid #bae6fd;box-shadow:0 4px 18px #38bdf8bf}.badge-inbound{background:#be123cf2;color:#fff;border:1.5px solid #fecdd3;box-shadow:0 4px 20px #f43f5ecc}.badge-defended{background:linear-gradient(135deg,#059669,#0284c7);color:#fff;border:1.5px solid #a7f3d0;box-shadow:0 4px 22px #10b981d9}.board-shield-parry{box-shadow:0 0 28px #10b981cc,inset 0 0 22px #38bdf8a6!important;border-color:#34d399!important;animation:shieldParryPulse .6s cubic-bezier(.16,1,.3,1)}@keyframes shieldParryPulse{0%{transform:scale(1);filter:brightness(1.35)}35%{transform:scale(1.02)}to{transform:scale(1);filter:brightness(1)}}@keyframes impactBadgePop{0%{opacity:0;transform:translate(-50%,-10%) scale(.5)}22%{opacity:1;transform:translate(-50%,-65%) scale(1.12)}75%{opacity:1;transform:translate(-50%,-115%) scale(1)}to{opacity:0;transform:translate(-50%,-145%) scale(.92)}}.tile.tile-dropped-pulse .tile-inner{box-shadow:0 0 0 3px #f43f5e,0 0 20px #f43f5ed9!important;animation:droppedTileFlash .9s ease-out forwards}@keyframes droppedTileFlash{0%{transform:scale(1.28)}40%{transform:scale(.94)}to{transform:scale(1)}}.tile.tile-downgraded-pulse .tile-inner{box-shadow:0 0 0 3px #f43f5e,0 0 24px #f43f5ee6!important;animation:downgradedTileFlash .65s ease-out forwards}@keyframes downgradedTileFlash{0%{transform:scale(.75);filter:brightness(1.7)}55%{transform:scale(1.08)}to{transform:scale(1);filter:brightness(1)}}.tile-slash-fx-wrap{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:45;overflow:visible}.tile-split-half{position:absolute!important;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;will-change:transform,opacity}.tile-split-half.half-top-left{clip-path:polygon(0 0,100% 0,0 100%);animation:tearHalfTopLeft .52s cubic-bezier(.16,1,.3,1) forwards}.tile-split-half.half-bottom-right{clip-path:polygon(100% 0,100% 100%,0 100%);animation:tearHalfBottomRight .52s cubic-bezier(.16,1,.3,1) forwards}@keyframes tearHalfTopLeft{0%{transform:translateZ(0) rotate(0);opacity:1;filter:brightness(1.6)}28%{transform:translate3d(-11px,-11px,0) rotate(-9deg);opacity:.96}to{transform:translate3d(-24px,-22px,0) rotate(-18deg) scale(.8);opacity:0}}@keyframes tearHalfBottomRight{0%{transform:translateZ(0) rotate(0);opacity:1;filter:brightness(1.6)}28%{transform:translate3d(11px,11px,0) rotate(9deg);opacity:.96}to{transform:translate3d(24px,22px,0) rotate(18deg) scale(.8);opacity:0}}.slash-blade-beam{position:absolute;top:50%;left:50%;width:175%;height:5px;background:linear-gradient(90deg,transparent 0%,#fb7185 18%,#ffffff 50%,#38bdf8 82%,transparent 100%);box-shadow:0 0 14px #fff,0 0 26px #f43f5e;border-radius:999px;transform:translate(-50%,-50%) rotate(-45deg) scaleX(.1);pointer-events:none;z-index:48;animation:bladeSlashStrike .38s cubic-bezier(.1,.9,.2,1) forwards}@keyframes bladeSlashStrike{0%{opacity:0;transform:translate(-50%,-50%) rotate(-45deg) scaleX(.15) scaleY(1.8)}25%{opacity:1;transform:translate(-50%,-50%) rotate(-45deg) scaleX(1.15) scaleY(1.4)}to{opacity:0;transform:translate(-50%,-50%) rotate(-45deg) scaleX(1.3) scaleY(.1)}}.tile-drain-score{position:absolute;top:-10px;left:50%;transform:translate(-50%);padding:2px 7px;border-radius:8px;background:#0f172aeb;border:1px solid #f43f5e;font-size:12px;font-weight:900;color:#fda4af;box-shadow:0 2px 10px #f43f5e99;pointer-events:none;animation:tileScoreFloat .9s cubic-bezier(.2,.8,.2,1) forwards;z-index:60;white-space:nowrap}.board-overcharge-aura{box-shadow:0 0 25px #f43f5e8c,inset 0 0 15px #f43f5e4d!important;border-color:#f43f5ecc!important;animation:overchargePulse 1.2s infinite alternate ease-in-out}@keyframes overchargePulse{0%{filter:brightness(1)}to{filter:brightness(1.12)}}.board-impact-shake{animation:impactShake .35s cubic-bezier(.36,.07,.19,.97) both}@keyframes impactShake{10%,90%{transform:translate3d(-3px,-2px,0)}20%,80%{transform:translate3d(5px,2px,0)}30%,50%,70%{transform:translate3d(-7px,3px,0)}40%,60%{transform:translate3d(7px,-3px,0)}}.pk-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}input,.form-input,.nickname-input,.join-code-input{color:#f8fafc!important;background:#ffffff14!important;border:1px solid rgba(255,255,255,.2)!important;-webkit-text-fill-color:#f8fafc!important;outline:none}input:focus,.form-input:focus,.nickname-input:focus,.join-code-input:focus{border-color:#38bdf8!important;box-shadow:0 0 8px #38bdf866!important}input::placeholder,.form-input::placeholder,.nickname-input::placeholder,.join-code-input::placeholder{color:#fff6!important;-webkit-text-fill-color:rgba(255,255,255,.4)!important}.player-avatar-tag{font-size:11px;font-weight:900;background:#0284c7;color:#fff;padding:2px 7px;border-radius:4px;letter-spacing:.5px}.player-avatar-tag.rival{background:#9333ea}.pk-chase-banner{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(90deg,#eab30838,#ef444438);border:1px solid rgba(234,179,8,.6);border-radius:var(--radius-sm);padding:6px 14px;margin:6px 16px 0;color:#fef08a;font-weight:800;font-size:12px;box-shadow:0 0 16px #eab30840;animation:chasePulse 1s infinite alternate ease-in-out;z-index:20}@keyframes chasePulse{0%{transform:scale(.995);opacity:.92}to{transform:scale(1.005);opacity:1}}.pk-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0d14e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:120}.loading-spinner{width:32px;height:32px;border:3px solid rgba(56,189,248,.2);border-top-color:#38bdf8;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:13px;font-weight:700;color:#38bdf8;letter-spacing:.5px}.lobby-card-compact{width:100%;max-width:520px;background:#0f172a;border:1px solid rgba(56,189,248,.28);border-radius:var(--radius-md);padding:20px 22px;box-shadow:0 20px 50px #000c,0 0 24px #38bdf829;display:flex;flex-direction:column;gap:16px}.lobby-header-compact{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px}.brand-row{display:flex;align-items:baseline;gap:8px}.brand-title{font-size:20px;font-weight:900;color:#f8fafc;letter-spacing:.5px}.brand-sub{font-size:11px;color:var(--text-muted)}.nickname-field{display:flex;align-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);padding:3px 10px;gap:8px}.nickname-tag{font-size:11px;font-weight:800;color:var(--text-muted)}.nickname-input{border:none!important;background:transparent!important;color:#f8fafc!important;font-size:13px;font-weight:700;width:96px;outline:none;padding:4px 2px}.primary-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hero-card{display:flex;align-items:center;gap:14px;border:none;border-radius:10px;padding:16px 18px;cursor:pointer;text-align:left;transition:all .2s cubic-bezier(.16,1,.3,1)}.hero-card:active{transform:scale(.98)}.hero-create{background:linear-gradient(135deg,#0284c7,#2563eb);color:#fff;box-shadow:0 4px 16px #2563eb66}.hero-create:hover:not(:disabled){background:linear-gradient(135deg,#0369a1,#1d4ed8);transform:translateY(-2px);box-shadow:0 8px 24px #2563eb8c}.hero-ai{background:linear-gradient(135deg,#7c3aed,#9333ea);color:#fff;box-shadow:0 4px 16px #9333ea59}.hero-ai:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#7e22ce);transform:translateY(-2px);box-shadow:0 8px 24px #9333ea80}.hero-card:disabled{opacity:.7;cursor:not-allowed}.hero-icon-wrap{width:42px;height:42px;border-radius:8px;background:#ffffff29;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hero-text-col{display:flex;flex-direction:column;gap:2px}.hero-title{font-size:16px;font-weight:900;letter-spacing:.5px}.hero-tag{font-size:11px;opacity:.85;font-weight:600}.rooms-section-card{background:#00000047;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:12px}.rooms-section-header{display:flex;align-items:center;justify-content:space-between}.rooms-title-group{display:flex;align-items:center;gap:8px}.rooms-title{font-size:12px;font-weight:800;color:#cbd5e1;letter-spacing:.5px}.rooms-count-pill{background:#38bdf82e;color:#38bdf8;border:1px solid rgba(56,189,248,.35);font-size:10px;font-weight:800;padding:1px 7px;border-radius:10px}.rooms-header-actions{display:flex;align-items:center;gap:8px}.btn-sub-action{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:#cbd5e1;border-radius:var(--radius-sm);padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .15s ease}.btn-sub-action:hover{background:#ffffff1a;color:#fff;border-color:#ffffff40}.btn-toggle-join.is-active{background:#38bdf826;color:#38bdf8;border-color:#38bdf866}.join-drawer-row{display:flex;gap:8px;align-items:center;background:#38bdf80f;border:1px solid rgba(56,189,248,.3);border-radius:var(--radius-sm);padding:8px 10px;animation:drawerSlide .2s cubic-bezier(.16,1,.3,1)}@keyframes drawerSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.join-code-input{flex:1;min-width:0;height:34px;text-align:center;font-weight:800;font-size:13px;letter-spacing:2px;padding:0 8px;border-radius:4px}.btn-drawer-join{background:var(--accent-cyan);color:#042f2e;border:none;border-radius:4px;padding:0 16px;height:34px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap;transition:all .15s ease}.btn-drawer-join:hover{background:#22d3ee}.btn-drawer-cancel{background:transparent;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:0 6px;line-height:1}.btn-drawer-cancel:hover{color:#fff}.rooms-card-grid{max-height:170px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.rooms-card-grid::-webkit-scrollbar{width:4px}.rooms-card-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.room-card-item{display:flex;align-items:center;justify-content:space-between;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px 14px;transition:all .15s ease}.room-card-item:hover{background:#ffffff14;border-color:#38bdf866;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.room-card-left{display:flex;flex-direction:column;gap:3px}.room-card-title{display:flex;align-items:baseline;gap:10px}.room-card-code{font-size:14px;font-weight:800;color:#38bdf8;letter-spacing:1px}.room-card-host{font-size:12px;color:#cbd5e1;font-weight:600}.room-card-time{font-size:10px;color:var(--text-muted)}.btn-card-enter{background:linear-gradient(135deg,#0284c7,#06b6d4);color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:12px;font-weight:800;cursor:pointer;transition:all .15s ease}.btn-card-enter:hover{transform:scale(1.05);box-shadow:0 2px 10px #06b6d466}.room-empty-card{text-align:center;padding:20px 8px;color:var(--text-muted);font-size:11px}@media (max-width: 520px){.primary-cards-grid{grid-template-columns:1fr;gap:10px}}.modal-footer{border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.tip-text{font-size:10px;color:#eab308;line-height:1.4}@media (max-width: 600px){.modes-grid-three{grid-template-columns:1fr;gap:8px}.mode-card{padding:10px}}.hud-mode-pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.4px;background:#38bdf824;color:#38bdf8;border:1px solid rgba(56,189,248,.35)}.hud-mode-pill.mode-endless{background:#f59e0b29;color:#fbbf24;border-color:#f59e0b73}.mode-selector-bar{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#0f172abf;padding:5px;border-radius:10px;border:1px solid rgba(255,255,255,.08)}.mode-tab{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 12px;border-radius:7px;border:1px solid transparent;background:transparent;color:#94a3b8;cursor:pointer;text-align:left;transition:all .18s ease}.mode-tab:hover{background:#ffffff0a;color:#e2e8f0}.mode-tab.active[data-mode=classic_2048]{background:linear-gradient(135deg,#0284c73d,#2563eb2e);border-color:#38bdf88c;color:#f8fafc;box-shadow:0 4px 14px #0284c733}.mode-tab.active[data-mode=endless]{background:linear-gradient(135deg,#d9770640,#e11d4833);border-color:#fbbf2499;color:#f8fafc;box-shadow:0 4px 14px #f59e0b38}.mode-tab-top{display:flex;align-items:center;gap:6px}.mode-tab-dot{width:7px;height:7px;border-radius:50%;background:#94a3b873;transition:all .18s ease}.mode-tab.active[data-mode=classic_2048] .mode-tab-dot{background:#38bdf8;box-shadow:0 0 8px #38bdf8}.mode-tab.active[data-mode=endless] .mode-tab-dot{background:#fbbf24;box-shadow:0 0 8px #fbbf24}.mode-tab-name{font-size:13px;font-weight:800;letter-spacing:.3px}.mode-tab-desc{font-size:10px;color:#94a3b8;line-height:1.25}.mode-tab.active .mode-tab-desc{color:#cbd5e1}.board-climax-win{box-shadow:0 0 42px #eab308d9,inset 0 0 28px #10b9818c!important;border-color:#fde047!important;animation:climaxBoardPulse 1.1s cubic-bezier(.16,1,.3,1)}.board-climax-lose{box-shadow:0 0 36px #f43f5ebf,inset 0 0 24px #f43f5e73!important;border-color:#f43f5e!important}@keyframes climaxBoardPulse{0%{transform:scale(1);filter:brightness(1.4)}35%{transform:scale(1.028);filter:brightness(1.15)}to{transform:scale(1);filter:brightness(1)}}.pk-modal-backdrop.inspecting-board{background:#0206171f!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;align-items:flex-end;padding-bottom:20px}.pk-settlement-dock{width:100%;flex-shrink:0;padding:0 16px 8px;display:flex;justify-content:center;z-index:40;animation:dockSlideUp .28s cubic-bezier(.16,1,.3,1)}@keyframes dockSlideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.pk-arena-root:has(#modal-gameover[style*=flex]) .pk-battlefield{--main-board-size: clamp(220px, min(33vw, calc(100dvh - 245px) ), 400px)}.settlement-dock-inner{width:100%;max-width:1344px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#0f172af0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1.5px solid rgba(56,189,248,.45);border-radius:14px;padding:8px 14px;box-shadow:0 -6px 28px #000000a6,0 0 24px #38bdf82e}.settlement-dock-inner.is-win{border-color:#34d399a6;box-shadow:0 -6px 32px #000000b3,0 0 28px #10b9813d}.settlement-dock-inner.is-lose{border-color:#f43f5e8c;box-shadow:0 -6px 32px #000000b3,0 0 24px #f43f5e33}.dock-verdict-group{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.gameover-banner{font-size:22px;font-weight:900;letter-spacing:1.5px;line-height:1;flex-shrink:0}.gameover-banner.win{background:linear-gradient(135deg,#fde047,#34d399 55%,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px rgba(52,211,153,.5))}.gameover-banner.lose{background:linear-gradient(135deg,#fb7185,#e11d48);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px rgba(244,63,94,.5))}.dock-verdict-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.dock-verdict-top{display:flex;align-items:center;gap:8px;min-width:0}.gameover-mode-tag{font-size:10px;font-weight:800;padding:1px 7px;border-radius:999px;background:#38bdf824;color:#7dd3fc;border:1px solid rgba(56,189,248,.3);white-space:nowrap;flex-shrink:0}.gameover-reason{font-size:12px;font-weight:700;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vs-tug-track{width:100%;max-width:280px;height:4px;border-radius:999px;background:linear-gradient(90deg,#9333ea,#e11d48);overflow:hidden}.vs-tug-fill-my{height:100%;background:linear-gradient(90deg,#0284c7,#38bdf8 70%,#34d399);border-right:1.5px solid #ffffff;transition:width .45s cubic-bezier(.16,1,.3,1)}.dock-telemetry-group{display:flex;align-items:center;gap:8px;flex-shrink:0}.dock-stat-pill{display:inline-flex;align-items:center;gap:5px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:4px 10px;white-space:nowrap}.vs-side-score{font-size:15px;font-weight:900;font-family:monospace}.vs-side-score.my-score{color:#38bdf8}.vs-side-score.rival-score{color:#c084fc}.dock-vs-colon,.dock-vs-sep,.dock-dot{font-size:11px;color:#64748b;font-weight:800}.vs-diff-pill{font-size:10.5px;font-weight:800;padding:1px 6px;border-radius:999px;background:#ffffff14;color:#e2e8f0}.vs-diff-pill.diff-lead{background:#10b9812e;color:#6ee7b7}.vs-diff-pill.diff-trail{background:#f43f5e2e;color:#fda4af}.mini-tile-badge{min-width:34px;height:22px;padding:0 6px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;font-family:monospace;color:#f8fafc;background:#334155}.mini-tile-badge.tile-2048,.mini-tile-badge.tile-super{background:linear-gradient(135deg,#f59e0b,#eab308,#ca8a04);color:#fff}.rank-prestige-badge{font-size:20px;font-weight:900;font-style:italic;line-height:1;color:#94a3b8;padding:0 4px}.rank-prestige-badge.rank-s,.rank-prestige-badge.rank-ss{background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.rank-prestige-badge.rank-sss{background:linear-gradient(135deg,#fde047,#f97316,#ef4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.metric-val{font-size:11.5px;font-weight:800}.metric-slash{color:#38bdf8}.metric-drain{color:#fb7185}.metric-block{color:#34d399}.dock-actions-group{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-dock-primary{background:linear-gradient(135deg,#0284c7,#2563eb 60%,#4f46e5);color:#fff;border:none;border-radius:9px;padding:8px 18px;font-size:13px;font-weight:900;cursor:pointer;white-space:nowrap;box-shadow:0 4px 14px #2563eb73;transition:all .15s ease}.btn-dock-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-dock-secondary{background:#ffffff14;color:#e2e8f0;border:1px solid rgba(255,255,255,.18);border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s ease}.btn-dock-secondary:hover{background:#ffffff26}.btn-primary-action{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#0284c7,#2563eb,#4f46e5);color:#fff;border:none;border-radius:10px;padding:13px 18px;font-size:14px;font-weight:800;cursor:pointer;letter-spacing:.5px;box-shadow:0 4px 18px #2563eb73;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-primary-action:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2563eb99;background:linear-gradient(135deg,#0369a1,#1d4ed8,#4338ca)}.btn-primary-action:active{transform:scale(.97)}.btn-secondary-action{display:flex;align-items:center;justify-content:center;gap:8px;background:#ffffff0f;color:#f8fafc;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:13px 18px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-secondary-action:hover{background:#ffffff1f;border-color:#ffffff59;transform:translateY(-1px)}.btn-secondary-action:active{transform:scale(.97)}.orb-rescue .orb-core{background:radial-gradient(circle at 32% 30%,#fff,#6ee7b7 35%,#10b981 72%,#047857);box-shadow:0 0 18px #10b981,0 0 36px #10b981d9,inset 0 0 8px #fff;border:1.5px solid #a7f3d0}.reticle-rescue{color:#10b981;box-shadow:0 0 16px #10b981a6}.spark-rescue{background:#34d399;box-shadow:0 0 10px #10b981}.ring-rescue{color:#10b981;box-shadow:0 0 22px #10b981}.hud-team-tug-wrap{display:flex;flex-direction:column;gap:3px;flex:1;max-width:480px;min-width:180px;margin:0 8px}.hud-team-scores{display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:6px;min-width:0}.hud-team-scores:has(#pk-chase-banner[style*=flex]) .pk-combat-log{display:none!important}.pk-chase-banner{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:1px 9px;border-radius:999px;background:linear-gradient(135deg,#f59e0b47,#e11d4852);border:1px solid rgba(251,191,36,.78);box-shadow:0 0 14px #f59e0b6b;color:#fef08a;font-size:10.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:chaseHudPulse .9s infinite alternate ease-in-out}.pk-chase-banner.chase-urgent{background:linear-gradient(135deg,#e11d4873,#be123c85);border-color:#fda4af;box-shadow:0 0 18px #f43f5eb8;color:#fff;animation-duration:.42s}@keyframes chaseHudPulse{0%{transform:scale(.98);filter:brightness(1)}to{transform:scale(1.03);filter:brightness(1.2)}}.hud-team-red{color:#fb7185;font-weight:800;white-space:nowrap}.hud-team-blue{color:#38bdf8;font-weight:800;white-space:nowrap}.hud-tug-bar{width:100%;height:5px;border-radius:999px;background:linear-gradient(90deg,#0284c7,#2563eb);overflow:hidden}.hud-tug-red-fill{height:100%;background:linear-gradient(90deg,#e11d48,#fb7185);border-right:2px solid #ffffff;transition:width .35s ease}.pk-battlefield{--main-board-size: clamp(268px, min(35vw, calc(100dvh - 190px) ), 440px);--arena-card-height: calc(var(--main-board-size) + 114px);display:flex!important;align-items:center!important;justify-content:center!important;gap:16px;padding:10px 18px;flex:1;min-height:0;width:100%;max-width:1380px;margin:0 auto;overflow:hidden}.battle-col{display:flex;flex-direction:column;min-height:0;overflow:hidden}.ally-chat-zone{width:clamp(248px,24.5vw,326px);height:var(--arena-card-height);gap:8px;flex-shrink:0}.sub-panel{background:#0f172ad1;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;min-height:0;box-shadow:0 8px 28px #00000061}.allies-panel{flex:0 0 auto}.sub-panel-header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px;flex-shrink:0}.sub-panel-title{font-size:11.5px;font-weight:800;color:#e2e8f0;letter-spacing:.3px;white-space:nowrap;flex-shrink:0}.sub-panel-hint{font-size:10px;color:#34d399;font-weight:700;background:#10b98124;border:1px solid rgba(16,185,129,.35);padding:1px 7px;border-radius:999px;white-space:nowrap;flex-shrink:0}.allies-mini-grid{display:flex;gap:6px;overflow:hidden;align-items:center;justify-content:center}.allies-mini-grid.has-two-allies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:6px}.solo-telemetry-box{width:100%;display:flex;flex-direction:column;gap:7px}.telemetry-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.telemetry-pill{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:2px}.telemetry-val{font-size:14px;font-weight:900;font-family:monospace;line-height:1.1}.telemetry-val.val-slash{color:#38bdf8}.telemetry-val.val-drain{color:#fb7185}.telemetry-val.val-block{color:#34d399}.telemetry-lbl{font-size:9.5px;color:#94a3b8;font-weight:700}.telemetry-rule-bar{width:100%;text-align:center;font-size:10px;font-weight:700;color:#cbd5e1;background:#38bdf814;border:1px dashed rgba(56,189,248,.28);border-radius:6px;padding:5px 6px}.battle-chat-panel{flex:1;min-height:0;overflow:hidden}.battle-chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:2px;font-size:11px;min-height:0}.chat-msg-row{line-height:1.38;word-break:break-word;color:#e2e8f0}.chat-msg-sender{font-weight:800;margin-right:5px}.chat-msg-sender.team-red{color:#fb7185}.chat-msg-sender.team-blue{color:#38bdf8}.chat-msg-sender.team-spectator{color:#fbbf24}.chat-msg-sender.team-system{color:#34d399}.battle-chat-input-row,.seat-chat-input-row{display:flex;gap:6px;margin-top:6px}.battle-chat-input,.seat-chat-input{flex:1;height:30px;border-radius:6px;padding:0 10px;font-size:12px}.btn-chat-send{background:linear-gradient(135deg,#0284c7,#2563eb);color:#fff;border:none;border-radius:6px;padding:0 12px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.btn-chat-send:hover{filter:brightness(1.12)}.local-zone{width:calc(var(--main-board-size) + 32px)!important;max-width:none!important;height:var(--arena-card-height);align-items:center;justify-content:space-between;padding:14px 16px;flex-shrink:0}.local-zone .board-wrapper{--board-size: var(--main-board-size);--cell-gap: 7px}.rival-zone{width:calc(var(--main-board-size) + 8px)!important;max-width:none!important;height:var(--arena-card-height);align-items:center;justify-content:space-between;padding:14px 16px;flex-shrink:0}.rival-radar-header{width:100%;margin-bottom:4px}.enemies-mini-grid{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden;min-height:0}.enemies-mini-grid.single-enemy #primary-enemy-card{background:transparent;border:none;box-shadow:none;padding:0;cursor:default}.enemies-mini-grid.single-enemy #primary-enemy-card>.enemy-card-top{display:none}.enemies-mini-grid.single-enemy #primary-enemy-card .rival-mirror-wrapper{--rival-size: calc(var(--main-board-size) - 24px);--cell-gap: 6px;border:1px solid rgba(56,189,248,.28);box-shadow:inset 0 2px 10px #0009}.enemies-mini-grid.single-enemy .extra-enemies-slot{display:none}.enemies-mini-grid.multi-enemies{flex-direction:row;flex-wrap:wrap;align-content:center;justify-content:center;gap:8px}.extra-enemies-slot{display:contents}.enemy-board-card,.ally-board-card{background:#0f172ad9;border:1.5px solid rgba(148,163,184,.22);border-radius:9px;padding:5px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;max-width:100%;cursor:pointer;transition:all .16s ease}.enemy-board-card:hover{border-color:#38bdf88c}.enemy-board-card.active-target{border-color:#f43f5e;box-shadow:0 0 16px #f43f5e47}.ally-board-card.needs-rescue{border-color:#10b981;box-shadow:0 0 16px #10b98166;animation:rescuePulse 1s infinite alternate}@keyframes rescuePulse{0%{filter:brightness(1)}to{filter:brightness(1.18)}}.enemy-card-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:3px;font-size:10.5px;min-width:0}.enemy-card-name{font-weight:800;color:#f8fafc;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enemy-card-lock{font-size:8.5px;font-weight:800;padding:1px 5px;border-radius:999px;background:#f43f5e33;color:#fda4af;border:1px solid rgba(244,63,94,.45);white-space:nowrap;flex-shrink:0}.ally-rescue-tag{font-size:8.5px;font-weight:800;padding:1px 5px;border-radius:999px;background:#10b98138;color:#6ee7b7;border:1px solid rgba(16,185,129,.5);white-space:nowrap;flex-shrink:0}.enemies-mini-grid.multi-enemies .rival-mirror-wrapper{--rival-size: clamp(86px, min(11vw, calc((var(--arena-card-height) - 150px) / 2)), 138px);--cell-gap: 3px;border-radius:7px}.allies-mini-grid .rival-mirror-wrapper{--rival-size: clamp(78px, 9.2vw, 106px);--cell-gap: 2.5px;border-radius:7px}.enemies-mini-grid.multi-enemies .rival-mirror-wrapper .tile-inner,.enemies-mini-grid.multi-enemies .rival-mirror-wrapper .rival-grid-cell,.allies-mini-grid .rival-mirror-wrapper .tile-inner,.allies-mini-grid .rival-mirror-wrapper .rival-grid-cell{border-radius:3px}.enemies-mini-grid.multi-enemies .rival-mirror-wrapper .tile-inner,.allies-mini-grid .rival-mirror-wrapper .tile-inner{letter-spacing:-.4px;box-shadow:inset 0 .5px .5px #ffffff73}.pk-modal-backdrop{padding:clamp(6px,1.8dvh,16px)!important}.lobby-minimal-shell{width:100%;max-width:720px;max-height:calc(100dvh - 12px);display:flex;flex-direction:column;justify-content:center;gap:clamp(8px,2.2dvh,18px);padding:4px 8px}.lobby-minimal-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 4px;flex-shrink:0}.lobby-top-controls{display:flex;align-items:center;gap:10px}.mode-portals-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,2vw,20px);flex-shrink:0}.mode-portal-card{position:relative;height:clamp(96px,32dvh,185px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(4px,1.2dvh,10px);padding:clamp(12px,3dvh,24px);border-radius:16px;text-align:center;cursor:pointer;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:all .22s cubic-bezier(.16,1,.3,1)}.portal-2048{background:#0ea5e924;border:1.5px solid rgba(56,189,248,.38);box-shadow:0 12px 32px #00000073,inset 0 1px #ffffff1f}.portal-2048:hover{transform:translateY(-3px);background:#0ea5e93d;border-color:#38bdf8bf;box-shadow:0 16px 40px #0ea5e947}.portal-endless{background:#f59e0b24;border:1.5px solid rgba(251,191,36,.38);box-shadow:0 12px 32px #00000073,inset 0 1px #ffffff1f}.portal-endless:hover{transform:translateY(-3px);background:#f59e0b3d;border-color:#fbbf24bf;box-shadow:0 16px 40px #f59e0b47}.portal-big-title{font-size:clamp(22px,5dvh,32px);font-weight:900;letter-spacing:2px;color:#fff;line-height:1.15;text-shadow:0 4px 18px rgba(0,0,0,.45)}.portal-short-sub{font-size:clamp(11px,2.2dvh,13px);font-weight:600;color:#e2e8f0c7;letter-spacing:.5px}.rooms-minimal-bar{background:#0f172a85;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:clamp(8px,1.8dvh,12px) 14px;display:flex;flex-direction:column;gap:6px;min-height:0;flex-shrink:1}.rooms-minimal-bar .rooms-card-grid{max-height:clamp(44px,16dvh,140px)}.rooms-minimal-bar .room-empty-card{padding:2px 0;font-size:11.5px;color:#94a3b8bf}.seat-lobby-card{width:min(96vw,880px);height:min(94dvh,470px);max-height:calc(100dvh - 12px);background:linear-gradient(180deg,#10182bf5,#090e1afa);border:1px solid rgba(56,189,248,.35);border-radius:14px;padding:clamp(8px,2dvh,16px) clamp(10px,2vw,18px);box-shadow:0 20px 60px #000000e0,0 0 32px #38bdf829;display:flex;flex-direction:column;gap:clamp(6px,1.5dvh,10px);overflow:hidden}.seat-lobby-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:clamp(4px,1.2dvh,8px);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.seat-header-left{display:flex;align-items:center;gap:8px;min-width:0}.btn-seat-back{display:inline-flex;align-items:center;gap:3px;background:#ffffff0f;color:#e2e8f0;border:1px solid rgba(255,255,255,.15);border-radius:7px;padding:4px 9px;font-size:11.5px;font-weight:700;cursor:pointer;white-space:nowrap}.btn-seat-back:hover{background:#ffffff1f}.seat-room-badge{display:inline-flex;align-items:center;gap:6px;background:#0f172ad9;border:1px solid rgba(56,189,248,.35);border-radius:7px;padding:3px 8px;white-space:nowrap}.seat-room-label{font-size:10px;color:#94a3b8;font-weight:700}.seat-room-code{font-size:13.5px;font-weight:900;color:#38bdf8;letter-spacing:1px;font-family:monospace}.btn-seat-copy{background:#38bdf829;color:#7dd3fc;border:1px solid rgba(56,189,248,.35);border-radius:5px;padding:2px 7px;font-size:10.5px;font-weight:700;cursor:pointer}.btn-seat-copy:hover{background:#38bdf847;color:#fff}.seat-format-pill{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:#10b98126;color:#6ee7b7;border:1px solid rgba(16,185,129,.38);white-space:nowrap}.seat-mode-switcher{display:inline-flex;background:#0f172acc;border:1px solid rgba(255,255,255,.1);border-radius:7px;padding:2px;gap:3px;flex-shrink:0}.seat-mode-btn{background:transparent;color:#94a3b8;border:none;border-radius:5px;padding:4px 10px;font-size:11.5px;font-weight:800;cursor:pointer;white-space:nowrap}.seat-mode-btn.active{background:linear-gradient(135deg,#0284c7,#2563eb);color:#fff}.seat-lobby-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:clamp(8px,1.4vw,14px);overflow:hidden}.team-seats-col{min-height:0;background:#0f172aa6;border-radius:10px;padding:clamp(6px,1.4dvh,10px) clamp(8px,1.2vw,12px);display:flex;flex-direction:column;gap:clamp(4px,1dvh,8px);overflow:hidden}.team-col-red{border:1px solid rgba(244,63,94,.35)}.team-col-blue{border:1px solid rgba(56,189,248,.35)}.team-col-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.team-col-dot{width:7px;height:7px;border-radius:50%}.red-dot{background:#f43f5e;box-shadow:0 0 8px #f43f5e}.blue-dot{background:#38bdf8;box-shadow:0 0 8px #38bdf8}.team-col-title{font-size:11.5px;font-weight:900;color:#f8fafc;flex:1;margin-left:6px}.team-col-count{font-size:10.5px;font-weight:800;color:#94a3b8}.seats-stack{display:flex;flex-direction:column;gap:clamp(4px,1.1dvh,8px);flex:1;min-height:0}.seat-slot-card{flex:1;min-height:0;border-radius:8px;background:#ffffff08;border:1px dashed rgba(255,255,255,.14);padding:0 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:all .16s ease;overflow:hidden}.seat-slot-card.occupied-red{background:linear-gradient(90deg,#e11d4833,#0f172ad9);border:1px solid rgba(244,63,94,.5)}.seat-slot-card.occupied-blue{background:linear-gradient(90deg,#0284c733,#0f172ad9);border:1px solid rgba(56,189,248,.5)}.seat-empty-wrap{width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.seat-circle-plus{width:clamp(28px,6.8dvh,38px);height:clamp(28px,6.8dvh,38px);border-radius:50%;border:1.5px dashed rgba(56,189,248,.65);background:#38bdf81a;color:#38bdf8;font-size:clamp(16px,4dvh,22px);font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);flex-shrink:0}.team-col-red .seat-circle-plus{border-color:#f43f5ea6;background:#f43f5e1a;color:#fb7185}.seat-circle-plus:hover{transform:scale(1.08);background:#38bdf840;border-style:solid;box-shadow:0 0 14px #38bdf873}.team-col-red .seat-circle-plus:hover{background:#f43f5e40;box-shadow:0 0 14px #f43f5e73}.btn-seat-add-bot{background:#ffffff0f;color:#cbd5e1;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:700;cursor:pointer;white-space:nowrap}.btn-seat-add-bot:hover{background:#a855f738;color:#f8fafc;border-color:#c084fc}.seat-occupant-info{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.seat-avatar-pill{width:clamp(26px,5.8dvh,32px);height:clamp(26px,5.8dvh,32px);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#fff;background:#0284c7;flex-shrink:0}.occupied-red .seat-avatar-pill{background:#e11d48}.seat-occupant-text{display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:wrap}.seat-occupant-name{font-size:12px;font-weight:800;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:92px}.seat-occupant-tags{display:inline-flex;gap:3px}.seat-tag{font-size:9px;font-weight:800;padding:1px 5px;border-radius:4px;background:#ffffff1f;color:#cbd5e1;white-space:nowrap}.seat-tag.tag-host{background:#eab30838;color:#fde047}.seat-tag.tag-bot{background:#a855f740;color:#d8b4fe}.btn-seat-remove{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:#f43f5e24;color:#fda4af;border:1px solid rgba(244,63,94,.35);border-radius:50%;padding:0;font-size:10px;font-weight:800;cursor:pointer;flex-shrink:0}.btn-seat-remove:hover{background:#f43f5e59;color:#fff}.seat-center-col{min-height:0;display:flex;flex-direction:column;gap:clamp(6px,1.4dvh,10px);overflow:hidden}.seat-chat-box{flex:1;min-height:0;background:#0f172ac7;border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:clamp(6px,1.4dvh,10px) 10px;display:flex;flex-direction:column;overflow:hidden}.seat-chat-header{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;color:#cbd5e1;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.seat-chat-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:4px 2px;font-size:11.5px}.seat-launch-bar{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.countdown-banner{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(90deg,#eab30838,#f43f5e40);border:1.5px solid #fbbf24;border-radius:8px;padding:3px 10px;animation:chasePulse .5s infinite alternate}.countdown-number{font-size:18px;font-weight:900;color:#fde047;font-family:monospace}.countdown-text{font-size:11px;font-weight:800;color:#fef08a}.btn-launch-match{width:100%;height:clamp(32px,7.6dvh,42px);border-radius:8px;border:none;background:linear-gradient(135deg,#059669,#0284c7);color:#fff;font-size:clamp(13px,2.5dvh,15px);font-weight:900;letter-spacing:.5px;cursor:pointer;box-shadow:0 4px 16px #10b98159;transition:all .18s ease}.btn-launch-match:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px #10b98180}.btn-launch-match:disabled{background:#ffffff14;color:#64748b;box-shadow:none;cursor:not-allowed}.btn-cancel-countdown{width:100%;height:clamp(32px,7.6dvh,42px);border-radius:8px;border:1.5px solid #fda4af;background:linear-gradient(135deg,#e11d48,#be123c);color:#fff;font-size:clamp(13px,2.5dvh,15px);font-weight:900;cursor:pointer;box-shadow:0 0 20px #f43f5e8c}.seat-spectator-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#0f172aa6;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:clamp(4px,1.2dvh,8px) 12px;flex-shrink:0}.spectator-left{display:flex;align-items:center;gap:8px}.spectator-title{font-size:11px;font-weight:800;color:#fbbf24}.spectator-plus-btn{width:24px!important;height:24px!important;font-size:15px!important;border-color:#fbbf24a6;background:#fbbf241f;color:#fbbf24}.spectator-list{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:5px;flex:1;justify-content:flex-end}.spectator-pill{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:#fbbf2424;color:#fde68a;border:1px solid rgba(251,191,36,.35);white-space:nowrap}@media (max-width: 920px),(max-height: 500px){.pk-hud-header{height:34px;padding:2px 10px;gap:6px}.hud-title{font-size:13.5px}.hud-mode-pill{font-size:9.5px;padding:1px 6px}.room-label,.hud-net-badge{display:none}.hud-team-tug-wrap{margin:0 4px;min-width:140px}.pk-combat-log{max-width:115px;font-size:9.5px}.pk-chase-banner{font-size:9.5px;padding:1px 7px;max-width:196px}.pk-battlefield{--arena-card-height: calc(100dvh - 42px) ;--main-board-size: clamp(154px, min(28vw, calc(var(--arena-card-height) - 54px)), 272px);gap:6px;padding:4px 6px}.ally-chat-zone{flex:1 1 180px;width:auto;min-width:172px;max-width:246px;gap:5px}.sub-panel{padding:4px 6px;border-radius:10px}.sub-panel-header{margin-bottom:3px}.allies-mini-grid,.allies-mini-grid.has-two-allies{gap:4px}.enemy-board-card,.ally-board-card{padding:3px 4px;border-radius:7px;gap:2px}.enemy-card-top{font-size:9.5px;gap:2px}.enemy-card-lock,.ally-rescue-tag{font-size:8px;padding:0 4px}.allies-mini-grid .rival-mirror-wrapper{--rival-size: clamp(58px, min(11.3vw, calc(var(--arena-card-height) * .23)), 82px);--cell-gap: 2px;border-radius:5px}.telemetry-pill{padding:4px 2px}.telemetry-val{font-size:12.5px}.battle-chat-input{height:26px;font-size:11px;padding:0 7px}.btn-chat-send{padding:0 9px;font-size:10.5px}.local-zone{width:calc(var(--main-board-size) + 18px)!important;padding:6px 9px}.local-zone .zone-header,.rival-radar-header{margin-bottom:2px;gap:4px}.player-role-badge,.score-title{display:none}.player-name{font-size:12px}.dmc-widget{min-width:24px}.dmc-letter{font-size:16px}.dmc-gauge-wrap{width:24px;height:3px}.score-card{min-width:42px;padding:2px 6px}.score-number{font-size:14px}.local-zone .attack-charge-wrap{margin-bottom:3px}.charge-track{height:4px}.local-zone .board-wrapper{--cell-gap: 4px}.rival-zone{width:calc(var(--main-board-size) + 14px)!important;padding:5px 6px}.enemies-mini-grid.multi-enemies{gap:5px}.enemies-mini-grid.single-enemy #primary-enemy-card .rival-mirror-wrapper{--rival-size: calc(var(--main-board-size) - 6px);--cell-gap: 4px}.enemies-mini-grid.multi-enemies .rival-mirror-wrapper{--rival-size: clamp(58px, min(11.3vw, calc((var(--arena-card-height) - 96px) / 2)), 82px);--cell-gap: 2px;border-radius:5px}.enemies-mini-grid.multi-enemies .rival-mirror-wrapper .tile-inner,.enemies-mini-grid.multi-enemies .rival-mirror-wrapper .rival-grid-cell,.allies-mini-grid .rival-mirror-wrapper .tile-inner,.allies-mini-grid .rival-mirror-wrapper .rival-grid-cell{border-radius:2.5px}.rival-zone:has(.enemies-mini-grid.multi-enemies) .rival-status-bar{display:none}.pk-arena-root:has(#modal-gameover[style*=flex]) .pk-battlefield{--arena-card-height: calc(100dvh - 86px) ;--main-board-size: clamp(142px, min(28vw, calc(var(--arena-card-height) - 52px)), 240px)}.pk-settlement-dock{padding:0 8px 4px}.settlement-dock-inner{padding:5px 10px;gap:8px;border-radius:10px}.gameover-banner{font-size:16px;letter-spacing:.8px}.gameover-mode-tag{display:none}.gameover-reason{font-size:11px}.dock-tiles-pill{display:none}.dock-stat-pill{padding:3px 7px;gap:4px}.vs-side-score{font-size:13px}.btn-dock-primary{padding:6px 13px;font-size:12px;border-radius:7px}.btn-dock-secondary{padding:6px 10px;font-size:11.5px;border-radius:7px}}@media (max-width: 580px){.seat-lobby-card{height:min(95dvh,630px);padding:10px 12px}.seat-lobby-body{grid-template-columns:1fr 1fr;grid-template-rows:1.25fr 1fr;gap:8px}.team-col-red{grid-column:1;grid-row:1}.team-col-blue{grid-column:2;grid-row:1}.seat-center-col{grid-column:1 / -1;grid-row:2}.pk-battlefield{flex-wrap:wrap;overflow-y:auto;align-content:flex-start!important;padding:6px;gap:6px}.local-zone{order:1;--main-board-size: min(86vw, 310px);width:100%!important;height:auto}.rival-zone{order:2;width:calc(50% - 4px)!important;height:210px}.enemies-mini-grid.single-enemy #primary-enemy-card .rival-mirror-wrapper{--rival-size: 132px;--cell-gap: 3px}.ally-chat-zone{order:3;width:calc(50% - 4px)!important;height:210px}}
