.lobby-container{display:flex;flex-direction:column;position:relative;width:100%;height:100vh;background:linear-gradient(135deg,rgba(78,78,78,.95) 0%,rgba(64,64,64,.85) 100%);font-family:Bungee,cursive;color:#2c1810;overflow:hidden}.lobby-background{position:absolute;top:0;left:0;width:100%;height:100%;background:url(./lobby-bkg-d13a6d7d.webp) center/cover;opacity:.1;z-index:0;filter:sepia(.4) brightness(1.1)}.lobby-header{padding:1rem 2rem;background:#121213;opacity:.9;border-bottom:2px solid #8b4513;position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center}.game-logo{text-align:left}.lobby-title{font-size:2.5rem;color:#fff;margin:0;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-shadow:2px 2px 4px rgba(0,0,0,.3);font-family:"Noto Serif JP",serif}.game-subtitle{font-size:1rem;color:#d4af37;margin-top:.25rem;letter-spacing:1px;font-weight:500}.room-badge{background:rgba(139,69,19,.2);padding:.75rem 1.5rem;border-radius:4px;border:2px solid #8b4513}.room-label{color:#d4af37;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:.25rem}.room-name{color:#fff;font-size:1.2rem;font-weight:600;letter-spacing:2px}.lobby-content{flex:1;padding:2rem;display:flex;flex-direction:column;gap:2rem;position:relative;z-index:1;max-width:1200px;margin:0 auto;width:100%}.arena-container{position:relative;display:flex;justify-content:center;align-items:center;height:60vh;margin:1rem 0}.arena-background{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,rgba(139,69,19,.15) 0%,rgba(139,69,19,.1) 30%,transparent 70%),radial-gradient(circle at center,rgba(220,220,240,.2) 0%,rgba(180,200,220,.1) 20%,transparent 60%);border-radius:50%;transform:scale(.9);box-shadow:0 0 60px #8b451326,0 0 120px #b4c8dc1a}.players-arena{display:flex;justify-content:center;align-items:center;gap:8rem;width:100%;max-width:1000px;padding:1rem;position:relative}.player-slot{background:rgba(220,220,240,.1);border-radius:8px;padding:2rem;border:3px solid #8b4513;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;height:300px;width:300px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.player-slot:empty{opacity:.5}.player-left{transform:scaleX(-1)}.player-right{transform:scaleX(1)}.player-card{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;height:100%}.player-info{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;padding:1rem 0rem;background:#121213;opacity:.9;border-radius:4px;z-index:2;position:absolute;top:0;left:0;text-align:center}.player-left .player-info{transform:scaleX(-1)}.player-right .player-info{transform:scaleX(1)}.player-status,.status-indicator,.status-indicator.ready,.status-indicator.waiting{display:none}.player-name{font-size:1.2rem;color:#fff;font-weight:600;letter-spacing:1px;text-transform:uppercase;width:100%;text-align:center;margin:0 auto;padding:0;line-height:1}.player-avatar{position:absolute;bottom:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;overflow:hidden;z-index:1;padding-bottom:.75rem}.player-avatar .waiting-message{text-align:center;color:#ffffffb3;padding:1rem}.player-avatar .waiting-message h2{font-size:1.25rem;margin-bottom:.75rem;font-weight:500;letter-spacing:.5px;color:#ffffffb3}.player-avatar .loading-ellipsis{display:flex;justify-content:center;gap:.5rem}.player-avatar .loading-ellipsis .dot{width:8px;height:8px;background:#ff4444;border-radius:50%;animation:dotPulse 1.4s infinite ease-in-out}.player-avatar img{height:260px;width:auto;object-fit:contain;margin-top:4rem;transform-origin:bottom center;transition:transform .3s ease;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.versus-badge{position:absolute;font-size:3.5rem;font-weight:700;color:#8b4513;text-shadow:2px 2px 4px rgba(0,0,0,.2);z-index:2;font-family:"Noto Serif JP",serif}.waiting-container{display:flex;justify-content:center;align-items:center;padding:1.5rem;background:rgba(0,0,0,.15);border-radius:8px;margin-top:1rem}.waiting-message{text-align:center;color:#fff}.waiting-message h2{font-size:1.25rem;margin-bottom:.75rem;font-weight:500;letter-spacing:.5px;color:#fff}.loading-ellipsis{display:flex;justify-content:center;gap:.5rem}.loading-ellipsis .dot{width:8px;height:8px;background:#ff4444;border-radius:50%;animation:dotPulse 1.4s infinite ease-in-out}.lobby-controls{padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;background:#121213;opacity:.9;border-top:2px solid #8b4513;position:relative;z-index:1}.exit-btn{background:linear-gradient(145deg,rgba(139,69,19,.2),rgba(180,200,220,.1));border:2px solid #8b4513;color:#d4af37;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.exit-btn:hover{background:linear-gradient(145deg,rgba(139,69,19,.3),rgba(180,200,220,.2));color:#fff;transform:translate(-5px)}.btn-icon{font-size:1rem}.ready{display:flex;flex-direction:column;gap:.5rem;align-items:center}.ready-btn{font-size:.9rem;background:linear-gradient(45deg,#8b4513,#6b3410);padding:.75rem 1.5rem;border-radius:4px;border:2px solid #d4af37;color:#d4af37;cursor:pointer;font-weight:600;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px;min-width:120px}.ready-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b45134d;color:#fff;background:linear-gradient(45deg,#6b3410,#4a2410)}#cancel-btn{font-size:.9rem;background:linear-gradient(45deg,#6b3410,#4a2410);padding:.75rem 1.5rem;border-radius:4px;border:2px solid #d4af37;color:#d4af37;cursor:pointer;font-weight:600;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px;min-width:120px}#cancel-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b45134d;color:#fff;background:linear-gradient(45deg,#4a2410,#2c1810)}.ready-count{color:#fff;text-align:center;font-size:.8rem;padding:.5rem;background:rgba(44,24,16,.9);border-radius:4px;font-weight:500;letter-spacing:1px;border:1px solid #8b4513}@keyframes pulse{0%,to{transform:scale(1);opacity:.1}50%{transform:scale(1.05);opacity:.15}}@keyframes dotPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:1}}@keyframes arenaPulse{0%,to{transform:scale(.9);opacity:1}50%{transform:scale(.92);opacity:.8}}@keyframes arenaRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes arenaGlow{0%,to{opacity:.5}50%{opacity:1}}@media (max-width: 768px){.lobby-header{padding:.75rem 1rem}.lobby-title{font-size:1.5rem}.lobby-content{padding:1rem}.players-arena{gap:2rem;padding:.5rem}.player-slot{height:220px;width:220px;padding:1rem}.player-avatar img{height:200px}.versus-badge{font-size:2rem}.lobby-controls{padding:.75rem 1rem}.exit-btn,.ready-btn,#cancel-btn{padding:.5rem .75rem;font-size:.8rem}}.match-over-container{background-image:linear-gradient(rgb(102,102,102),rgb(0,0,0),rgb(0,0,0),rgb(0,0,0),rgb(102,102,102));z-index:200;position:absolute;top:45%;left:50%;width:40%;height:55%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;font-size:clamp(.2rem,1vw,1.25rem);transform:translate(-50%,-50%);border-radius:2%;border:rgb(255,255,255) .2vw solid}.rematch{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(.2rem,1vw,1.25rem);width:100%;height:50%}.rematch-winner{font-family:Bungee;font-size:clamp(.5rem,4vw,2.5rem);justify-self:flex-start;color:#0f0;padding-bottom:10%}.rematch-btn-container{display:flex;flex-direction:column;justify-content:center;align-items:center;width:fit-content;padding-bottom:5%}.rematch-ready-btn,.rematch-cancel-btn{font-size:clamp(.5rem,4vw,2.5rem);background-color:#228b22;padding:8% 4%;border:none;border-radius:2%;color:#fff;cursor:pointer;font-family:Bungee,cursive;opacity:1;width:250px;height:80px;display:flex;align-items:center;justify-content:center}.rematch-cancel-btn{background-color:red}.rematch-exit-btn{font-size:clamp(.3rem,2vw,1.25rem);background-color:#000;font-family:Bungee,cursive;color:#fff;border:1px solid white;cursor:pointer;padding:1% 3%}.win-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.win-text,.lose-text{font-size:clamp(.25rem,2vw,1.25rem);color:#dcdcdc}.throw-tech-effect{position:absolute;transform:translate(-50%,50%);pointer-events:none;z-index:100;width:5%;height:auto;aspect-ratio:1 / 1}.throw-tech-effect svg{width:100%;height:100%;background:transparent}.tech-star{fill:#fff;filter:drop-shadow(0 0 10px rgba(255,255,255,.9)) drop-shadow(0 0 20px rgba(255,255,255,.8)) drop-shadow(0 0 30px rgba(255,255,255,.7));transform-origin:center;animation:techSpin .1s linear}@keyframes techSpin{0%{transform:scale(0) rotate(0)}to{transform:scale(1) rotate(360deg)}}.power-meter{position:absolute;width:clamp(55px,8vw,127px);pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:clamp(2px,.3vw,4px);z-index:999;transform:translate(-50%);filter:drop-shadow(0 0 8px rgba(0,0,0,.4));will-change:transform,bottom,left}.power-meter-bar{width:100%;height:clamp(10px,1.2vw,14px);background:#2c1810;border:2px solid #4a2c1c;border-radius:3px;overflow:hidden;box-shadow:inset 0 0 10px #00000080,0 0 4px #0000004d,inset 0 0 0 1px #ffffff0d;position:relative;will-change:transform}.power-meter-bar:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(255,255,255,.1),rgba(255,255,255,0));pointer-events:none}.power-meter-bar:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,.2),rgba(255,255,255,0))}.power-meter-fill{height:100%;transition:width .05s ease-out,background-color .15s ease-out;border-radius:2px;min-height:clamp(10px,1.2vw,14px);display:block;position:relative;box-shadow:inset 0 0 10px #fff3,0 0 4px #ffffff1a}.power-meter-fill:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(255,255,255,.2),rgba(255,255,255,0));pointer-events:none}.power-meter-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,.1) 2px,rgba(255,255,255,.1) 4px);animation:pulse 1.5s linear infinite;pointer-events:none}@keyframes pulse{0%{opacity:.3}50%{opacity:.6}to{opacity:.3}}.power-meter-text{color:#f4d03f;font-size:clamp(12px,1.2vw,18px);font-weight:700;text-align:center;text-shadow:1px 1px 2px rgba(0,0,0,.8),0 0 8px rgba(244,208,63,.3);font-family:Bungee;letter-spacing:1px}.slap-parry-effect{pointer-events:none}.slap-parry-ring{width:clamp(1rem,4vw,3rem);height:clamp(1rem,4vw,3rem);border-radius:50%;border:clamp(2px,.3vw,4px) solid white;animation:slapParryRing .3s ease-out forwards;box-shadow:0 0 clamp(5px,.8vw,10px) #fff}@keyframes slapParryRing{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.hit-effect{pointer-events:none}.hit-ring{position:relative;width:clamp(2rem,6vmin,8rem);height:clamp(2rem,6vmin,8rem)}.hit-ring:before{display:none}.hit-ring:after{display:none}.hit-ring:before{animation:shockwaveRing .4s ease-out forwards}.hit-ring-wrapper{position:relative}.hit-ring-wrapper:before{display:none}.hit-ring-wrapper:after{display:none}@keyframes shockwaveRing{0%{transform:translate(-50%,-50%) scale(.4);opacity:1;border-width:4px}50%{transform:translate(-50%,-50%) scale(1);opacity:.8;border-width:2px}to{transform:translate(-50%,-50%) scale(1.8);opacity:0;border-width:1px}}@keyframes starBurst{0%{transform:translate(-50%,-50%) scale(.6) rotate(0);opacity:1}30%{transform:translate(-50%,-50%) scale(1) rotate(10deg);opacity:1}to{transform:translate(-50%,-50%) scale(1.5) rotate(15deg);opacity:0}}@keyframes innerFlash{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes outerShockwave{0%{transform:translate(-50%,-50%) scale(.9);opacity:.8}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}.hit-particles{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);pointer-events:none}.particle{position:absolute;width:.23vw;height:.23vw;background:radial-gradient(circle,#FFFF99,#FFD700);border-radius:50%;opacity:0}.particle:nth-child(1){top:20%;left:50%;animation:particleScatter .25s ease-out .05s forwards;--dx: -.9vw;--dy: -1.1vw}.particle:nth-child(2){top:40%;left:70%;animation:particleScatter .25s ease-out .08s forwards;--dx: 1.1vw;--dy: -.7vw}.particle:nth-child(3){top:60%;left:30%;animation:particleScatter .25s ease-out .04s forwards;--dx: -.7vw;--dy: .9vw}.particle:nth-child(4){top:80%;left:60%;animation:particleScatter .25s ease-out .06s forwards;--dx: .7vw;--dy: 1.1vw}.particle:nth-child(5){top:50%;left:10%;animation:particleScatter .4s ease-out .14s forwards;--dx: -1.8vw;--dy: .2vw}.particle:nth-child(6){top:20%;left:20%;animation:particleScatter .4s ease-out .04s forwards;--dx: -.9vw;--dy: -1.4vw}@keyframes particleScatter{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}.spark{position:absolute;opacity:0;transform-origin:center;will-change:transform,opacity;animation:sparkExplode .4s ease-out forwards}@keyframes sparkExplode{0%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1);filter:brightness(1.5) drop-shadow(0 0 4px currentColor)}20%{opacity:1;transform:translate(calc(-50% + var(--dx) * .3),calc(-50% + var(--dy) * .3)) rotate(calc(var(--rotation) * .2)) scale(1.1);filter:brightness(1.3) drop-shadow(0 0 6px currentColor)}40%{opacity:1;transform:translate(calc(-50% + var(--dx) * .6),calc(-50% + var(--dy) * .6)) rotate(calc(var(--rotation) * .4)) scale(1.05);filter:brightness(1.2) drop-shadow(0 0 4px currentColor)}60%{opacity:.8;transform:translate(calc(-50% + var(--dx) * .8),calc(-50% + var(--dy) * .8)) rotate(calc(var(--rotation) * .6)) scale(.9);filter:brightness(1.1) drop-shadow(0 0 3px currentColor)}80%{opacity:.5;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(calc(var(--rotation) * .8)) scale(.7);filter:brightness(1) drop-shadow(0 0 2px currentColor)}to{opacity:0;transform:translate(calc(-50% + var(--dx) * 1.2),calc(-50% + var(--dy) * 1.2)) rotate(var(--rotation)) scale(.3);filter:brightness(.8) drop-shadow(0 0 1px currentColor)}}.spark:before{content:"";position:absolute;top:50%;left:50%;width:150%;height:150%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,rgba(255,215,0,.1) 50%,transparent 100%);border-radius:50%;transform:translate(-50%,-50%);opacity:0;animation:sparkGlow .4s ease-out forwards;z-index:-1}@keyframes sparkGlow{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}30%{opacity:.6;transform:translate(-50%,-50%) scale(1.2)}60%{opacity:.3;transform:translate(-50%,-50%) scale(1.5)}to{opacity:0;transform:translate(-50%,-50%) scale(2)}}.spark:nth-child(odd):after{content:"";position:absolute;top:50%;left:50%;width:120%;height:60%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.9) 40%,rgba(255,215,0,.5) 60%,transparent 100%);border-radius:50%;transform:translate(-50%,-50%);opacity:0;animation:sparkTrail .4s ease-out forwards;z-index:-1}@keyframes sparkTrail{0%{opacity:0;transform:translate(-50%,-50%) scaleX(.3) scaleY(1)}25%{opacity:1;transform:translate(-50%,-50%) scaleX(1) scaleY(1.2)}50%{opacity:.8;transform:translate(-50%,-50%) scaleX(1.8) scaleY(1)}75%{opacity:.4;transform:translate(-50%,-50%) scaleX(2.5) scaleY(.8)}to{opacity:0;transform:translate(-50%,-50%) scaleX(3.5) scaleY(.4)}}@keyframes screenShake{0%,to{transform:translate(0)}10%{transform:translate(-2px,-1px) rotate(.3deg)}20%{transform:translate(2px,1px) rotate(-.3deg)}30%{transform:translate(-1px,2px) rotate(.2deg)}40%{transform:translate(1px,-1px) rotate(-.2deg)}50%{transform:translate(-2px,1px) rotate(.2deg)}60%{transform:translate(2px,-2px) rotate(-.2deg)}70%{transform:translate(-1px,-1px) rotate(.1deg)}80%{transform:translate(1px,2px) rotate(-.1deg)}90%{transform:translate(-2px,-1px) rotate(.1deg)}}.raw-parry-effect{pointer-events:none}.raw-parry-ring{position:relative;width:clamp(2rem,6vmin,8rem);height:clamp(2rem,6vmin,8rem)}.raw-parry-ring.regular:before{display:none}.raw-parry-ring.perfect:before{display:none}.raw-parry-ring.regular:after{display:none}.raw-parry-ring.perfect:after{display:none}.raw-parry-ring:before{animation:rawParryShockwaveRing .4s ease-out forwards}.raw-parry-ring-wrapper{position:relative}.raw-parry-ring-wrapper.regular:before{display:none}.raw-parry-ring-wrapper.perfect:before{display:none}.raw-parry-ring-wrapper:after{display:none}@keyframes rawParryShockwaveRing{0%{transform:translate(-50%,-50%) scale(.4);opacity:1;border-width:4px}50%{transform:translate(-50%,-50%) scale(1);opacity:.8;border-width:2px}to{transform:translate(-50%,-50%) scale(1.8);opacity:0;border-width:1px}}@keyframes rawParryStarBurst{0%{transform:translate(-50%,-50%) scale(.6) rotate(0);opacity:1}30%{transform:translate(-50%,-50%) scale(1) rotate(10deg);opacity:1}to{transform:translate(-50%,-50%) scale(1.5) rotate(15deg);opacity:0}}@keyframes rawParryInnerFlash{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes rawParryOuterShockwave{0%{transform:translate(-50%,-50%) scale(.9);opacity:.8}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}.raw-parry-particles{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);pointer-events:none}.particle{position:absolute;width:.23vw;height:.23vw;border-radius:50%;opacity:0}.particle:nth-child(1){top:20%;left:50%;animation:rawParryParticleScatter .25s ease-out .05s forwards;--dx: -.9vw;--dy: -1.1vw}.particle:nth-child(2){top:40%;left:70%;animation:rawParryParticleScatter .25s ease-out .08s forwards;--dx: 1.1vw;--dy: -.7vw}.particle:nth-child(3){top:60%;left:30%;animation:rawParryParticleScatter .25s ease-out .04s forwards;--dx: -.7vw;--dy: .9vw}.particle:nth-child(4){top:80%;left:60%;animation:rawParryParticleScatter .25s ease-out .06s forwards;--dx: .7vw;--dy: 1.1vw}@keyframes rawParryParticleScatter{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}.spark-particles{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);pointer-events:none;z-index:10}.spark{position:absolute;opacity:0;transform-origin:center;will-change:transform,opacity;animation:rawParrySparkExplode .4s ease-out forwards}.spark:nth-child(1){animation-delay:0s;--dx: 3.6vw;--dy: -.9vw;--rotation: 45deg}.spark:nth-child(2){animation-delay:.02s;--dx: 2.7vw;--dy: -2.7vw;--rotation: 90deg}.spark:nth-child(3){animation-delay:.01s;--dx: .9vw;--dy: -3.6vw;--rotation: 135deg}.spark:nth-child(4){animation-delay:.03s;--dx: -.9vw;--dy: -3.6vw;--rotation: 180deg}.spark:nth-child(5){animation-delay:0s;--dx: -2.7vw;--dy: -2.7vw;--rotation: 225deg}.spark:nth-child(6){animation-delay:.02s;--dx: -3.6vw;--dy: -.9vw;--rotation: 270deg}.spark:nth-child(7){animation-delay:.01s;--dx: -3.6vw;--dy: .9vw;--rotation: 315deg}.spark:nth-child(8){animation-delay:.03s;--dx: -2.7vw;--dy: 2.7vw;--rotation: 360deg}.spark:nth-child(9){animation-delay:0s;--dx: -.9vw;--dy: 3.6vw;--rotation: 405deg}.spark:nth-child(10){animation-delay:.02s;--dx: .9vw;--dy: 3.6vw;--rotation: 450deg}.spark:nth-child(11){animation-delay:.01s;--dx: 2.7vw;--dy: 2.7vw;--rotation: 495deg}.spark:nth-child(12){animation-delay:.03s;--dx: 3.6vw;--dy: .9vw;--rotation: 540deg}.spark:nth-child(13){animation-delay:0s;--dx: 4.05vw;--dy: -.45vw;--rotation: 585deg}.spark:nth-child(14){animation-delay:.02s;--dx: -4.05vw;--dy: -.45vw;--rotation: 630deg}.spark:nth-child(15){animation-delay:.01s;--dx: .45vw;--dy: -4.05vw;--rotation: 675deg}.spark:nth-child(16){animation-delay:.03s;--dx: -.45vw;--dy: 4.05vw;--rotation: 720deg}@keyframes rawParrySparkExplode{0%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1);filter:brightness(1.5) drop-shadow(0 0 4px currentColor)}20%{opacity:1;transform:translate(calc(-50% + var(--dx) * .3),calc(-50% + var(--dy) * .3)) rotate(calc(var(--rotation) * .2)) scale(1.1);filter:brightness(1.3) drop-shadow(0 0 6px currentColor)}40%{opacity:1;transform:translate(calc(-50% + var(--dx) * .6),calc(-50% + var(--dy) * .6)) rotate(calc(var(--rotation) * .4)) scale(1.05);filter:brightness(1.2) drop-shadow(0 0 4px currentColor)}60%{opacity:.8;transform:translate(calc(-50% + var(--dx) * .8),calc(-50% + var(--dy) * .8)) rotate(calc(var(--rotation) * .6)) scale(.9);filter:brightness(1.1) drop-shadow(0 0 3px currentColor)}80%{opacity:.5;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(calc(var(--rotation) * .8)) scale(.7);filter:brightness(1) drop-shadow(0 0 2px currentColor)}to{opacity:0;transform:translate(calc(-50% + var(--dx) * 1.2),calc(-50% + var(--dy) * 1.2)) rotate(var(--rotation)) scale(.3);filter:brightness(.8) drop-shadow(0 0 1px currentColor)}}.spark-regular:before{content:"";position:absolute;top:50%;left:50%;width:150%;height:150%;background:radial-gradient(circle,rgba(65,105,225,.3) 0%,rgba(65,105,225,.1) 50%,transparent 100%);border-radius:50%;transform:translate(-50%,-50%);opacity:0;animation:rawParrySparkGlow .4s ease-out forwards;z-index:-1}.spark-perfect:before{content:"";position:absolute;top:50%;left:50%;width:150%;height:150%;background:radial-gradient(circle,rgba(255,215,0,.3) 0%,rgba(255,215,0,.1) 50%,transparent 100%);border-radius:50%;transform:translate(-50%,-50%);opacity:0;animation:rawParrySparkGlow .4s ease-out forwards;z-index:-1}@keyframes rawParrySparkGlow{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}30%{opacity:.6;transform:translate(-50%,-50%) scale(1.2)}60%{opacity:.3;transform:translate(-50%,-50%) scale(1.5)}to{opacity:0;transform:translate(-50%,-50%) scale(2)}}.spark-regular:nth-child(odd):after{content:"";position:absolute;top:50%;left:50%;width:120%;height:60%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.9) 40%,rgba(65,105,225,.5) 60%,transparent 100%);border-radius:50%;transform:translate(-50%,-50%);opacity:0;animation:rawParrySparkTrail .4s ease-out forwards;z-index:-1}.spark-perfect:nth-child(odd):after{content:"";position:absolute;top:50%;left:50%;width:120%;height:60%;background:linear-gradient(90deg,transparent 0%,rgba(65,105,225,.9) 40%,rgba(255,215,0,.5) 60%,transparent 100%);border-radius:50%;transform:translate(-50%,-50%);opacity:0;animation:rawParrySparkTrail .4s ease-out forwards;z-index:-1}@keyframes rawParrySparkTrail{0%{opacity:0;transform:translate(-50%,-50%) scaleX(.3) scaleY(1)}25%{opacity:1;transform:translate(-50%,-50%) scaleX(1) scaleY(1.2)}50%{opacity:.8;transform:translate(-50%,-50%) scaleX(1.8) scaleY(1)}75%{opacity:.4;transform:translate(-50%,-50%) scaleX(2.5) scaleY(.8)}to{opacity:0;transform:translate(-50%,-50%) scaleX(3.5) scaleY(.4)}}:root{--edo-ink: #0b1020;--edo-indigo: #433d67;--edo-sakura: #ff6b6b;--edo-aqua: #00ffff;--edo-gold: #d4af37;--edo-shadow: rgba(0, 0, 0, .5)}.mobile-controls{position:fixed;bottom:0;left:0;width:100%;height:12rem;pointer-events:none;z-index:1000}.joystick-area{position:absolute;bottom:2rem;left:2rem;width:8rem;height:8rem;pointer-events:auto}.joystick-base{position:absolute;width:100%;height:100%;border-radius:50%;background-color:#0003;border:2px solid rgba(255,255,255,.3)}.joystick-stick{position:absolute;width:4rem;height:4rem;border-radius:50%;background-color:#ffffff4d;left:calc(50% - 2rem);top:calc(50% - 2rem)}.action-buttons{position:absolute;bottom:1rem;right:1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;pointer-events:auto}.action-button{width:4rem;height:4rem;border-radius:50%;border:2px solid rgba(255,255,255,.3);color:#ffffffb3;font-family:Bungee,cursive;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none}.attack-button{background-color:#ff00004d}.throw-button{background-color:#0000ff4d}.grab-button{background-color:#00ff004d}.dodge-button{background-color:#ffff004d}.action-button:active{background-color:#ffffff80}html,body{height:100%;width:100%;overflow:hidden;margin:0;color:#fff;background-color:#121213}.startup-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#121213;display:flex;align-items:center;justify-content:center;z-index:1000;border:black 2px solid}.startup-content{text-align:center;color:#fff;max-width:600px;padding:2rem}.startup-title{margin-bottom:8rem}.startup-logo{font-size:clamp(2rem,8vw,4rem);margin:0;color:#fff;font-family:Bungee,cursive}.startup-pow{font-size:clamp(2rem,8vw,4.5rem);color:red;font-family:Bungee Shade,cursive}.startup-status{margin:6rem 0 4rem;min-height:60px;display:flex;align-items:center;justify-content:center}.connecting-message p{font-size:clamp(.7rem,2vw,1rem);color:#fff;margin:0;font-family:Bungee,cursive;letter-spacing:.1em}.connection-error p{font-size:clamp(.6rem,2vw,.9rem);color:red;margin:0;font-family:Bungee,cursive;letter-spacing:.1em}.press-key-message{display:flex;flex-direction:column;align-items:center;gap:.8rem}.press-key-text{font-size:clamp(.7rem,2vw,1rem);color:#fff;margin:0;font-family:Bungee,cursive;letter-spacing:.1em;animation:startup-fade 2.5s ease-in-out infinite}.startup-footer{position:absolute;bottom:2rem;width:100%;text-align:center}.version-text{font-size:.8rem;color:gray;margin:0}@keyframes startup-fade{0%,to{opacity:1}50%{opacity:.3}}.steam-deck-mode .startup-logo{font-size:clamp(1.5rem,6vw,3rem)}.steam-deck-mode .startup-title{margin-bottom:6rem}.steam-deck-mode .press-key-text,.steam-deck-mode .connecting-message p{font-size:clamp(.6rem,2vw,.9rem)}.main-menu{display:flex;align-items:center;width:100vw;height:100vh;aspect-ratio:16 / 9;z-index:100;position:relative;overflow:hidden;border:black 2px solid}.main-menu-btn-container{display:flex;flex-direction:column;gap:1rem;z-index:2}.cherry-blossom{position:absolute;width:10px;height:10px;background-color:pink;border-radius:50%;opacity:.7;will-change:transform,opacity;transform-style:preserve-3d;backface-visibility:hidden;animation:fall 10s linear infinite;pointer-events:none;top:-10px}@keyframes fall{0%{transform:translateY(0) rotate(0);opacity:.7}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.main-menu-logo{position:absolute;top:0;left:.25rem;font-size:clamp(.75rem,4vw,2.25rem);color:#000;font-family:Bungee,cursive;margin:0 0 0 15px;cursor:pointer;z-index:99}.logo{position:absolute;top:0;left:.25rem;font-size:clamp(.75rem,4vw,2.25rem);color:#fff;font-family:Bungee,cursive;margin:0 0 0 15px;cursor:pointer}.pow{font-size:clamp(.75rem,4vw,2.75rem);color:red;font-family:Bungee Shade,cursive}.sumo{position:absolute;right:-10%;bottom:-100px;width:50%;aspect-ratio:auto 16 / 9;z-index:1}#play{font-size:clamp(3rem,10vw,6rem);color:red}#play:hover{color:#460000}.main-menu-btn-container>button{margin-left:3vw;background-color:none;background:none;border-radius:10px;width:fit-content;border:none;font-size:clamp(.5rem,2.5vw,2rem);color:#000;font-family:Bungee,cursive;cursor:pointer;padding:0}#closed{opacity:.4;cursor:default;margin-top:-1rem}#closed:hover{opacity:.4;color:#000}.main-menu-btn-container>button:hover{color:#fff;cursor:pointer}.current-page{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw}.rooms{display:flex;flex-direction:column;justify-self:center;align-self:center;width:100vw;height:100vh;aspect-ratio:16 / 9;background-color:#161616;box-shadow:0 0 2px 1px #000;border-radius:1%;position:relative;font-family:cursive;overflow-y:scroll;background-color:#323232;z-index:99}.room{display:flex;justify-content:space-between;align-items:center;font-size:clamp(.2rem,1vw,1rem);border-top:grey solid 1px;border-bottom:grey solid 1px;background-color:#191919}.room>button{margin:10px;padding:1% 2%;background-color:green;border:none;border-radius:5%;color:#fff;font-size:clamp(.5rem,2vw,1.5rem);cursor:pointer;font-family:Bungee,cursive;text-align:center}.room>button:hover{background-color:#00800059}.room-id{font-family:Bungee;font-size:clamp(.5rem,2vw,1.5rem);margin-left:1rem}.room-count{font-family:Tahoma,sans-serif;font-size:clamp(.5rem,2vw,1.5rem)}.rooms-button-container{display:flex;justify-content:space-between}.refresh-btn,.back-btn{border-radius:10px;border:none;color:#000;right:0;align-self:flex-end;padding:.5%;margin:.3%;background-color:#fff;display:flex;justify-content:center;align-items:center;cursor:pointer}.material-symbols-outlined{font-size:clamp(.5rem,2vw,1.5rem)}.refresh-btn:active{color:#fff;background-color:gray}.refresh-btn:active{background-color:gray}.back-btn{background-color:#000;color:#fff;font-size:clamp(.5rem,2vw,1rem);font-family:Bungee,cursive}.back-btn:hover{background-color:gray;cursor:pointer;border:none}.game-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background:#121213;overflow:hidden}.game-container{position:relative;width:100vw;height:56.25vw;max-width:100vw;max-height:100vh;aspect-ratio:16 / 9;border:2px solid black;overflow:hidden;z-index:99}.game-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(./game-map-1-ea35e81c.png);background-repeat:no-repeat;background-size:120% 120%;background-position:52% 5%;filter:brightness(1.08) saturate(1.15);z-index:-1}.game-container:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(rgba(255,255,255,.2),rgba(200,230,255,.15));mix-blend-mode:overlay;pointer-events:none;z-index:0}@media (min-aspect-ratio: 16/9){.game-container{width:calc(100vh * 16 / 9);height:100vh}}.ui{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}#ui-container-1{height:5%;left:3vw;bottom:3vw}#ui-container-2{height:5%;right:3vw;bottom:3vw;transform:scaleX(-1)}.wins{font-size:1000px}.ui-player-container{position:absolute;bottom:0}.ui-player-info{height:10%;width:100%;background-color:#ffffffbf;display:flex;gap:5%;justify-content:space-between;align-items:center;color:#000;text-align:center;font-family:Bungee;padding:0 2%;box-sizing:border-box}.rank-record-1,.rank-record-2{display:flex;flex-direction:column;justify-content:center;align-items:center;height:80%;width:20%;min-width:120px;max-width:200px}.rank-record-1{margin-left:2%}.rank-record-2{margin-right:2%}.rank,.record{display:flex;justify-content:center;align-items:center;background-color:#fff;opacity:100%;width:100%;height:50%;padding:1% 5%;border:red solid .15rem;text-align:center;font-size:clamp(.2rem,1vw,1rem);box-sizing:border-box}.record{display:flex;justify-content:space-between;align-items:center;border-top:none;padding:1% 5%;gap:.5rem}.win-circle,.loss-circle{border:black solid 2px;border-radius:50%;width:1em;height:1em;background-color:#fff;margin-right:.2rem}.win-count,.loss-count{margin-left:.2rem}.win-circle{border:black solid 2px;border-radius:50%;width:1em;height:1em;background-color:#fff}.loss-circle{border:black solid 2px;border-radius:50%;width:1em;height:1em;background-color:#000}.ui-player-1-name,.ui-player-2-name{border:red solid 2px;height:80%;width:20%;display:flex;justify-content:center;align-items:center;font-size:clamp(.5rem,2vw,2rem);background-color:#fff}.ui-player-1-name,.ui-player-2-name{color:#000}.scoreboard{display:flex;justify-content:center;align-items:center;gap:1vw;width:auto;padding:0 1vw;font-size:clamp(.75rem,4.25vw,3rem)}.player1-win-count,.player2-win-count{font-family:Bungee;font-size:clamp(.75rem,4.25vw,3rem);top:0;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000}.player1-win-count{color:#0ff}.player2-win-count{color:salmon}.dash{font-family:Bungee;font-size:clamp(.75rem,4vw,2.75rem);color:#fff;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000}#ui-name-1{color:#0ff;position:absolute;top:-2.2rem;left:3.1rem;visibility:hidden}#ui-name-2{color:salmon;position:absolute;top:-2.2rem;left:3.1rem;transform:scaleX(-1);visibility:hidden}.ui-container{position:absolute;bottom:0px;left:0;width:100%;height:100%}#ui-container-1{height:5%;width:15%;left:2vw;bottom:1vw}#ui-container-2{height:5%;width:15%;right:2vw;bottom:1vw;transform:scaleX(-1)}.ui-player-stamina-container{background-color:#000;height:100%;border:rgba(71,71,71,.7) solid 2px;border-radius:3px;position:relative;z-index:1;text-align:center}.ui-player-stamina-red,.ui-player-stamina-yellow{height:100%}.ui-player-stamina-red{position:absolute;z-index:2}.ui-player-stamina-yellow{position:absolute;z-index:99}.hakkiyoi{position:absolute;top:20%;left:50%;width:100%;margin:0 auto;transform:translate(-50%,-50%);white-space:nowrap;max-width:100%;font-size:clamp(1.2rem,4vw,3rem);color:#fff;text-align:center;opacity:0;pointer-events:none;font-family:Bungee;letter-spacing:.2em;text-transform:uppercase;animation:announceText 2s cubic-bezier(.4,0,.2,1) forwards;-webkit-text-fill-color:#ffffff;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 0 10px rgba(255,255,255,.5),0 0 20px rgba(255,255,255,.3);filter:drop-shadow(0 0 8px rgba(255,255,255,.4));z-index:1001}@keyframes announceText{0%{opacity:0;transform:translate(-50%,-50%) scale(.5);filter:blur(10px)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.2);filter:blur(0)}30%{transform:translate(-50%,-50%) scale(1)}85%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5);filter:blur(5px)}}.hakkiyoi[style*="color: aqua"],.hakkiyoi[style*="color: salmon"]{font-size:clamp(1rem,3vw,2.5rem);animation:winAnnounce 3s cubic-bezier(.4,0,.2,1) forwards;color:var(--win-color);-webkit-text-fill-color:var(--win-color);filter:drop-shadow(0 0 15px var(--win-glow)) drop-shadow(0 0 25px var(--win-glow-light));text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 0 15px var(--win-glow),0 0 25px var(--win-glow-light);z-index:1001}.hakkiyoi[style*="color: aqua"]{--win-color: #00ffff;--win-color-light: #80ffff;--win-glow: rgba(0, 255, 255, .6);--win-glow-light: rgba(0, 255, 255, .3)}.hakkiyoi[style*="color: salmon"]{--win-color: #ff6b6b;--win-color-light: #ff9e9e;--win-glow: rgba(255, 107, 107, .6);--win-glow-light: rgba(255, 107, 107, .3)}@keyframes winAnnounce{0%{opacity:0;transform:translate(-50%,-50%) scale(.5);filter:blur(10px)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.2);filter:blur(0)}30%{transform:translate(-50%,-50%) scale(1)}90%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5);filter:blur(5px)}}.gyoji{position:absolute;left:38%;bottom:40%;width:23.4%;height:auto;z-index:-1;pointer-events:none}.character-outline{filter:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='outline'%3E%3CfeMorphology operator='dilate' radius='2'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/%3E%3C/filter%3E%3C/svg%3E#outline")}@media screen and (width: 1280px) and (height: 800px){:root{--steam-deck-scale: 1;--ui-scale: 1;--font-scale: 1;--button-scale: 1.1;--touch-target-size: 44px}.game-container{width:100vw!important;height:100vh!important;max-width:1280px;max-height:800px}.ui-player-info{padding:6px 10px}.ui-player-1-name,.ui-player-2-name{font-size:1.2rem}.player-stamina-container{height:14px;border-width:2px}.win-circle,.loss-circle{width:calc(22px * var(--button-scale));height:calc(22px * var(--button-scale));font-size:.8rem}.mobile-controls{display:none}.power-up-option{padding:calc(10px * var(--button-scale));font-size:1rem;min-height:var(--touch-target-size)}.main-menu-btn-container>button{font-size:1.4rem;padding:calc(6px * var(--button-scale));min-height:var(--touch-target-size)}.room{font-size:.9rem;min-height:var(--touch-target-size)}.room>button{font-size:1rem;padding:calc(6px * var(--button-scale));min-height:var(--touch-target-size)}}@media screen and (width: 1280px) and (height: 800px){.cherry-blossom{animation-duration:15s}.dust-effect,.snow-effect,.salt-effect{transform:scale(.8);opacity:.7}.dust-effect{opacity:.5}*{transition-duration:.15s!important}img,.character-image,.StyledImage{filter:drop-shadow(1px 0 0 #000) drop-shadow(-1px 0 0 #000) drop-shadow(0 1px 0 #000) drop-shadow(0 -1px 0 #000)}.StyledImage{transition:transform .1s ease-out!important}.StyledImage,.player-image,.character-image{will-change:transform,left,bottom}.salt-effect,.snowball-effect,.pumo-army-effect{opacity:.6;transform:scale(.7)}}@media screen and (max-width: 1366px) and (max-height: 900px){.ui-player-info{font-size:1.05rem}.hakkiyoi{font-size:2.2rem}button{min-height:44px;min-width:44px}.power-up-option{min-height:44px}}@media (-webkit-min-device-pixel-ratio: 2){*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.game-container,.ui-container,.power-up-selection{border-width:1px}}.controller-connected-indicator{position:fixed;top:10px;right:10px;background:rgba(0,255,0,.8);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;z-index:1000;display:none}.controller-connected .controller-connected-indicator{display:block}.steam-deck-controls-hint{position:fixed;bottom:10px;left:50%;transform:translate(-50%);background:rgba(0,0,0,.8);color:#fff;padding:8px 16px;border-radius:8px;font-size:14px;z-index:1000;display:none}.steam-deck-mode .steam-deck-controls-hint{display:block}@keyframes haptic-pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.haptic-feedback{animation:haptic-pulse .1s ease-in-out}@media (prefers-color-scheme: dark){:root{--steam-deck-ui-brightness: 1}}@media screen and (orientation: portrait) and (max-width: 900px){.steam-deck-orientation-hint{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.9);color:#fff;padding:20px;border-radius:10px;text-align:center;z-index:9999;font-size:18px}}.loading-screen{background:#000;color:#fff;font-size:1.2rem}.achievement-notification,.steam-notification{position:fixed;top:60px;right:20px;background:rgba(16,86,142,.95);color:#fff;padding:12px 16px;border-radius:8px;border-left:4px solid #66c0f4;z-index:1001;font-size:14px;max-width:300px}
