:root{color:#083b61;font-synthesis:none;text-rendering:optimizelegibility;background:#063451;font-family:ui-rounded,SF Pro Rounded,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button,select,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.page-shell{background:radial-gradient(circle at 20% 15%,#53e5f847,#0000 30%),radial-gradient(circle at 80% 85%,#ff85682e,#0000 32%),#063451;place-items:center;min-height:100svh;display:grid;overflow:hidden}.access-shell{--navy:#083b61;--teal:#24cdb7;--gold:#ffd94c;width:min(100vw,470px);min-height:min(100svh,900px);padding:max(32px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));isolation:isolate;background:linear-gradient(#0568911a,#034a6c6b),url(/assets/arena-water-blaster.webp) 50%/cover;flex-direction:column;justify-content:center;align-items:center;gap:26px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff29,0 28px 90px #00000080}.access-shell:before,.access-shell:after{content:"";z-index:-1;filter:blur(16px);opacity:.28;border-radius:50%;width:280px;height:280px;position:absolute}.access-shell:before{background:var(--teal);top:-120px;right:-120px}.access-shell:after{background:#ff6fa8;bottom:-150px;left:-100px}.brand-lockup{z-index:1;color:#fff;filter:drop-shadow(0 6px 12px #054c706b);justify-items:center;display:grid;position:relative}.brand-lockup h1{letter-spacing:.04em;text-shadow:0 3px #1590b7,0 7px #075679,0 10px 22px #0441626b;margin:6px 0 0;font-size:clamp(38px,11vw,52px);line-height:1}.brand-gem{width:58px;height:58px;color:var(--gold,#ffd94c);background:linear-gradient(145deg,#7bf2ff,#18a7d5);border:2px solid #ffffffe6;border-radius:50%;place-items:center;font-size:28px;display:grid;box-shadow:0 0 0 7px #ffffff1f,inset 0 2px #ffffff6b}.access-card{z-index:1;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(155deg,#4b2b7af0,#271845f7);border:1.5px solid #ffffffb8;border-radius:28px;width:min(100%,360px);padding:28px 26px 26px;position:relative;box-shadow:0 24px 70px #140a267a,inset 0 1px #ffffff38}.access-card h2{color:#fff2ad;margin:0;font-size:29px;line-height:1.2}.access-copy{color:#ffffffb8;margin:9px 0 22px;font-size:13px;line-height:1.6}.access-form{text-align:left}.access-form label{color:#ffffffd1;margin:13px 0 7px 3px;font-size:12px;font-weight:800;display:block}.access-form label:first-child{margin-top:0}.access-form input{color:#fff;letter-spacing:.08em;background:#ffffff1a;border:1.5px solid #ffffff57;border-radius:14px;outline:none;width:100%;min-height:50px;padding:0 15px;transition:border-color .18s,box-shadow .18s;box-shadow:inset 0 2px 5px #160d2b33}.access-feedback{color:#ffffff94;min-height:18px;margin:8px 3px 12px;font-size:10.5px;font-weight:650}.access-form button{color:#38234d;cursor:pointer;background:linear-gradient(#ffe98d,#ffc94f);border:1px solid #fff1b7;border-radius:16px;width:100%;min-height:52px;font-size:16px;font-weight:950;transition:transform .14s,filter .14s,box-shadow .14s;box-shadow:0 6px #bd7134,0 10px 20px #190f2d4d,inset 0 2px #ffffffb8}.access-form button:hover{filter:brightness(1.04);transform:translateY(-1px)}.access-form button:active{transform:translateY(4px);box-shadow:0 2px #bd7134,0 5px 12px #190f2d4d}.access-form button:focus-visible{outline-offset:3px;outline:3px solid #fff}.access-form button:disabled{cursor:wait;filter:saturate(.6)}.lobby-shell{--teal:#24cdb7;--pink:#ff7769;--gold:#ffd94c;isolation:isolate;background:linear-gradient(#05689114,#034a6c59),url(/assets/arena-water-blaster.webp) 50%/cover;place-items:center;width:min(100vw,470px);height:min(100svh,900px);min-height:700px;padding:72px 20px 28px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff29,0 28px 90px #00000080}.lobby-shell:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 42%,#6d45ab14,#20143947 75%);position:absolute;inset:0}.lobby-topbar{top:max(16px, env(safe-area-inset-top));z-index:2;color:#ffffffd6;align-items:center;gap:7px;font-size:11px;font-weight:800;display:flex;position:absolute;left:20px;right:20px}.lobby-topbar button{color:#fff;cursor:pointer;background:#301c55b8;border:1px solid #ffffff73;border-radius:10px;margin-left:auto;padding:7px 12px}.connection-dot{background:#ffcf63;border-radius:50%;width:8px;height:8px;box-shadow:0 0 9px}.connection-dot.online{color:var(--teal);background:var(--teal)}.connection-dot.reconnecting{animation:.8s infinite alternate dotPulse}.lobby-card{text-align:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(165deg,#4c2e7ef2,#2a1a48f7);border:1.5px solid #ffffffbd;border-radius:30px;width:min(100%,390px);min-height:520px;padding:38px 24px 27px;transition:border-color .3s,box-shadow .3s;position:relative;box-shadow:0 24px 70px #140a2675,inset 0 1px #ffffff3d}.room-crystal{color:#fff1b7;background:linear-gradient(145deg,#8e61d4,#4d2d87);border:2px solid #e1b464;border-radius:11px;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:-21px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 6px 18px #1e103561,inset 0 1px #ffffff5c}.lobby-card h1{color:#fff;letter-spacing:.04em;text-shadow:0 3px #2f1851bf;margin:0;font-size:31px}.room-count{color:#ffffffd1;margin:9px 0 22px;font-size:26px;font-weight:900}.room-count span{color:var(--teal);text-shadow:0 0 14px #45eee259;font-size:38px}.player-slots{grid-template-columns:1fr 1fr;gap:20px;display:grid}.lobby-player{justify-items:center;min-width:0;display:grid}.avatar-frame{background:radial-gradient(circle,#548dc7a3,#1f1c46eb);border:3px solid #72ddff;border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:relative;overflow:visible;box-shadow:0 0 0 5px #39caff24,inset 0 0 22px #190b355c}.avatar-frame img{object-fit:contain;width:108%;height:108%;transform:translateY(2px)}.avatar-frame svg{fill:#d3c7ea26;stroke:#e6dcf761;stroke-width:2px;width:64px}.avatar-frame i{background:#ffcf63;border:3px solid #38235e;border-radius:50%;width:16px;height:16px;position:absolute;bottom:8px;right:1px}.avatar-frame i.online{background:var(--teal);box-shadow:0 0 8px var(--teal)}.lobby-player strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;width:100%;margin-top:12px;font-size:14px;overflow:hidden}.lobby-player>span{color:#bffcff;background:#1a6a926b;border:1px solid #4be1f88f;border-radius:8px;min-width:76px;margin-top:5px;padding:5px 11px;font-size:10px;font-weight:850}.match-status{color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:116px;margin-top:16px;display:flex}.match-status strong{color:#8ffff5;text-shadow:0 0 14px #45eee240;font-size:20px;line-height:1.25}.lobby-card.ready .match-status strong{color:#a9ffad;font-size:25px}.lobby-card>p{color:#ffecb3b8;margin:-1px 0 0;font-size:11px}.loading-dots.large i{width:9px;height:9px}.countdown-orb{color:#fff;background:radial-gradient(circle,#2ba9dad1,#25347df5);border:3px solid #82f8ff;border-radius:50%;place-items:center;width:84px;height:84px;font-size:44px;font-weight:950;animation:1s infinite countdownPulse;display:grid;box-shadow:0 0 0 7px #45eee21f,0 0 28px #45eee261,inset 0 0 18px #ffffff38}.loading-shell{text-align:center;background:#3a2360e0;border:1px solid #ffffff73;border-radius:26px;align-content:center;place-items:center;gap:14px;width:min(100% - 40px,360px);min-height:240px;padding:28px;display:grid}.loading-shell h1,.loading-shell p{margin:0}.loading-shell p{color:#ffffffc2;font-size:13px}.loading-shell button{color:#38234d;cursor:pointer;background:#ffd762;border:0;border-radius:12px;padding:11px 18px;font-weight:900}.game-shell{--navy:#083b61;--navy-deep:#052f4d;--teal:#24cdb7;--pink:#ff7769;--gold:#ffd94c;isolation:isolate;background-image:url(/assets/arena-water-motion.webp);background-position:50%;background-size:cover;width:min(100vw,470px);height:min(100svh,900px);min-height:700px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff29,0 28px 90px #00000080}.arena-shade{z-index:-1;pointer-events:none;background:linear-gradient(#0247692e 0%,#0000 24% 61%,#004d6e4d 100%);position:absolute;inset:0}.fighter-stage{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.fighter{will-change:transform, filter, opacity;transform-origin:50% 78%;position:absolute;left:50%;translate:-50%}.fighter img{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 11px 12px #01486638);width:100%;height:auto;display:block}.fighter-enemy{width:138px;top:10.5%}.fighter-player{width:166px;bottom:32.5%}.fighter.is-idle{animation:2.5s ease-in-out infinite alternate fighterBreathe}.fighter-player.is-idle{animation-delay:-.85s}.fighter-player.is-attacking{animation:1.05s cubic-bezier(.2,.8,.2,1) both playerLunge}.fighter-enemy.is-attacking{animation:1.05s cubic-bezier(.2,.8,.2,1) both enemyLunge}.fighter-player.is-hit{animation:1.05s cubic-bezier(.2,.75,.25,1) .52s both playerHit}.fighter-enemy.is-hit{animation:1.05s cubic-bezier(.2,.75,.25,1) .52s both enemyHit}.fighter-player.is-dodging{animation:1.05s cubic-bezier(.15,.8,.2,1) .32s both playerDodge}.fighter-enemy.is-dodging{animation:1.05s cubic-bezier(.15,.8,.2,1) .32s both enemyDodge}.health-card{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#301c55db;border:1.5px solid #ffffffb3;border-radius:20px;padding:10px 14px 12px;position:absolute;left:18px;right:18px;box-shadow:0 7px 24px #1f123a3d,inset 0 1px #fff3}.enemy-side{top:max(12px, env(safe-area-inset-top))}.player-side{bottom:204px}.health-row{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:20px;margin-bottom:7px;display:grid}.health-row strong{letter-spacing:.03em;font-size:15px}.health-row b{font-variant-numeric:tabular-nums;font-size:18px}.health-row .stats{color:#ffffffb8;justify-self:end;font-size:10px;font-weight:700}.health-track{background:#ffffff38;border-radius:999px;height:11px;overflow:hidden;box-shadow:inset 0 2px 3px #170f2838}.health-track span{border-radius:inherit;height:100%;transition:width .45s cubic-bezier(.2,.8,.2,1);display:block;box-shadow:inset 0 2px #ffffff80,0 0 12px}.round-badge{z-index:3;text-align:center;color:#ffffffdb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3f2569d1;border:1px solid #ffffffa6;border-radius:18px;min-width:174px;padding:8px 22px;position:absolute;top:82px;left:50%;transform:translate(-50%);box-shadow:0 7px 18px #2718432e}.round-badge span{letter-spacing:.1em;font-size:11px;font-weight:700;display:block}.round-badge b{margin-top:2px;font-size:15px;display:block}.battle-message{z-index:3;width:min(86%,370px);position:absolute;top:28%;left:50%;transform:translate(-50%)}.result-card{text-align:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#3d2367de;border:1.5px solid #ffffffc7;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:74px;padding:12px 16px;display:flex;box-shadow:0 12px 28px #311b5338,inset 0 1px #fff3}.result-card strong{color:var(--gold);font-size:22px;line-height:1.1}.result-card span{color:#ffffffd6;font-size:11px;font-weight:650;line-height:1.4}.result-card.hit{border-color:var(--gold);animation:.45s cubic-bezier(.2,1.4,.4,1) resultPop}.result-card.thinking{color:#f5edff;flex-direction:row;font-size:14px;font-weight:800}.loading-dots{gap:4px;margin-right:5px;display:flex}.loading-dots i{background:var(--gold);border-radius:50%;width:6px;height:6px;animation:.8s infinite alternate dotPulse}.loading-dots i:nth-child(2){animation-delay:.14s}.loading-dots i:nth-child(3){animation-delay:.28s}.control-deck{z-index:6;min-height:188px;padding:17px 18px max(15px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#311d54f0,#23163cfa);border-top:1.5px solid #ffffff80;border-radius:26px 26px 0 0;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 35px #2a1a4852,inset 0 1px #ffffff29}.equipment-row{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-bottom:12px;display:grid}.equipment-row label{color:#ffffffc7;font-size:11px;font-weight:750}.select-wrap{position:relative}.select-wrap select{appearance:none;color:#fff;background:#ffffff1a;border:1px solid #ffffff45;border-radius:10px;outline:none;width:100%;min-height:34px;padding:0 30px 0 11px;font-size:11px;font-weight:750}.select-wrap svg{fill:none;stroke:#ffffffb8;stroke-width:2px;pointer-events:none;width:18px;position:absolute;top:8px;right:8px}.equipment-stats{color:var(--gold);white-space:nowrap;font-size:10px;font-weight:800}.attack-button{isolation:isolate;color:#38234d;letter-spacing:.02em;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffe98d,#ffc94f);border:1px solid #fff1b7;border-radius:17px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:54px;font-size:17px;font-weight:950;transition:transform .14s,filter .14s,box-shadow .14s;display:flex;position:relative;overflow:hidden;box-shadow:0 7px #bd7134,0 10px 20px #190f2d59,inset 0 2px #ffffffb8}.attack-button:after{content:"";z-index:0;background:#ffffffdb;border-radius:0 5px 5px 0;width:0;height:7px;position:absolute;bottom:0;left:0;box-shadow:0 -2px 10px #ffffff85}.attack-button>*{z-index:1;position:relative}.attack-button.is-holding{filter:brightness(1.04);transform:translateY(5px);box-shadow:0 2px #bd7134,0 5px 12px #190f2d4d}.attack-button.is-holding:after{animation:.333333s linear infinite holdStep}.attack-button.is-holding .water-blaster-icon{animation:.14s ease-in-out infinite alternate blasterShake}.attack-button:not(:disabled):hover{filter:brightness(1.04);transform:translateY(-1px)}.attack-button.is-holding:not(:disabled):hover{transform:translateY(5px)}.attack-button:not(:disabled):active{transform:translateY(5px);box-shadow:0 2px #bd7134,0 5px 12px #190f2d4d}.attack-button:disabled{color:#38234da3;filter:saturate(.55);cursor:wait}.attack-button:focus-visible{outline-offset:3px;outline:3px solid #fff}.attack-button.defense-turn:not(:disabled):active,.attack-button.defense-turn.is-holding{box-shadow:0 2px #258a91,0 5px 12px #190f2d4d}.rule-note{text-align:center;color:#ffffff8f;margin-top:13px;font-size:9.5px;font-weight:650}.restart-button{z-index:8;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#36205ac2;border:1px solid #ffffff85;border-radius:12px;place-items:center;width:36px;height:36px;padding:8px;display:grid;position:absolute;top:88px;right:17px}.restart-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:100%}.network-notice{z-index:12;color:#fff0bd;white-space:nowrap;background:#351f59eb;border:1px solid #ffd76275;border-radius:10px;padding:7px 12px;font-size:10px;font-weight:800;position:absolute;top:132px;left:50%;transform:translate(-50%)}.projectile-layer,.miss-effects{z-index:7;pointer-events:none;position:absolute;inset:0}.projectile{opacity:0;filter:drop-shadow(0 0 8px);background:linear-gradient(90deg,#ffffff1f,#bffaff 30%,#fff 50%,#39d8f4 72%,#ffffff29);border-radius:99px;width:12px;height:96px;position:absolute;left:50%}.projectile:before{content:"";border:3px solid #e0fdfff2;border-radius:50% 50% 55% 45%;width:24px;height:24px;position:absolute;top:-13px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:-16px 9px 0 -6px #d6faffe0,17px 17px 0 -7px #d6faffcc}.projectile:after{content:"";border:4px solid;border-top-color:#0000;border-radius:50%;width:44px;height:20px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.player-shot{color:#52e4ff;transform-origin:bottom;animation:.72s ease-in forwards waterShootUp;bottom:38%;transform:translate(-50%)}.enemy-shot{color:#88f2ff;transform-origin:top;animation:.72s ease-in forwards waterShootDown;top:21%;transform:translate(-50%)rotate(180deg)}.impact-burst{opacity:0;width:84px;height:84px;animation:.72s cubic-bezier(.18,.78,.24,1) .56s forwards impactBurst;position:absolute;left:50%;transform:translate(-50%,-50%)scale(.35)}.impact-burst.top-target{top:19%}.impact-burst.bottom-target{bottom:44%}.impact-burst:before,.impact-burst:after{content:"";border:5px solid #d7fcfff0;border-radius:50%;position:absolute;inset:10px;box-shadow:0 0 0 5px #3fdcf538,0 0 22px #26d0f194}.impact-burst:after{border-width:6px 3px 0;border-radius:50% 50% 44% 56%;inset:24px 9px;transform:rotate(-18deg)}.impact-burst i{background:#4adef775;border:3px solid #effefff5;border-radius:50% 48% 54% 46%;width:13px;height:13px;position:absolute;top:50%;left:50%;box-shadow:0 0 8px #2ac9eb80}.impact-burst i:first-child{translate:-48px -43px;scale:.72}.impact-burst i:nth-child(2){translate:34px -35px;scale:.92}.impact-burst i:nth-child(3){translate:-43px 28px;scale:.56}.impact-burst i:nth-child(4){translate:42px 23px;scale:.66}.damage-number{opacity:0;color:#ff557f;text-shadow:0 2px #fff,0 4px 12px #46143259;font-size:31px;font-weight:950;animation:.75s cubic-bezier(.2,.8,.2,1) .72s forwards damageFloat;position:absolute;left:50%}.enemy-damage{top:15%;transform:translate(-50%)}.player-damage{bottom:44%;transform:translate(-50%)}.dodge-trail{opacity:0;filter:drop-shadow(0 0 7px #30d5eeb8);border-top:7px solid #dafdffe6;border-radius:50%;width:128px;height:68px;animation:.78s ease-out .34s forwards dodgeTrail;position:absolute;left:50%;transform:translate(-50%)}.dodge-trail.top-target{top:17%}.dodge-trail.bottom-target{bottom:44%}.dodge-trail:before,.dodge-trail:after{content:"";border-top:4px solid #5ce2f5c7;border-radius:50%;width:42px;height:28px;position:absolute;top:-16px}.dodge-trail:before{left:-18px;transform:rotate(-18deg)}.dodge-trail:after{right:-18px;transform:rotate(18deg)}.dodge-trail i{background:#3bd5ef75;border:2px solid #e8fdff;border-radius:50%;width:9px;height:9px;position:absolute;top:-12px}.dodge-trail i:first-child{left:12px}.dodge-trail i:nth-child(2){top:-25px;left:58px;scale:.7}.dodge-trail i:nth-child(3){top:-5px;right:8px;scale:1.15}.miss-label{opacity:0;color:#fff;letter-spacing:.12em;text-shadow:0 3px #604687,0 6px 18px #2e1c4e73;font-size:25px;font-style:italic;font-weight:950;animation:.9s ease-out .45s forwards missFloat;position:absolute;left:50%;transform:translate(-50%)}.miss-label.top{top:15%}.miss-label.bottom{bottom:49%}.outcome-backdrop{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1b112f7a;place-items:center;padding:22px;animation:.25s ease-out fadeIn;display:grid;position:absolute;inset:0}.outcome-card{text-align:center;background:linear-gradient(155deg,#56358bfa,#301d52fa);border:2px solid #ffffffd1;border-radius:28px;width:min(100%,330px);padding:28px 24px 24px;animation:.4s cubic-bezier(.2,1.3,.3,1) outcomePop;box-shadow:0 24px 70px #140a2685,inset 0 1px #ffffff38}.outcome-spark{color:var(--gold);font-size:44px;line-height:1;display:block}.outcome-card h1{color:#fff1a6;margin:9px 0 6px;font-size:30px}.outcome-card p{color:#ffffffc2;margin:0 0 20px;font-size:13px}.outcome-card button{color:#38234d;cursor:pointer;background:linear-gradient(#ffe990,#ffca52);border:0;border-radius:15px;min-width:170px;min-height:46px;font-weight:900;box-shadow:0 5px #b76c32}.outcome-card button:disabled{cursor:wait;filter:saturate(.55)}.access-card,.lobby-card,.loading-shell{color:#083b61;background:linear-gradient(165deg,#f7fdfff5,#def7fcf0);border-color:#ffffffe6;box-shadow:0 24px 70px #02446657,inset 0 1px #ffffffe0}.access-card h2{color:#075e86}.access-copy{color:#083b61ad}.access-form label{color:#083b61c7}.access-form input{color:#083b61;background:#fffc;border-color:#0c71973d;box-shadow:inset 0 2px 5px #06527314}.access-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #24cdb72e,inset 0 2px 5px #06527314}.access-form input[aria-invalid=true]{border-color:#ff7769;box-shadow:0 0 0 3px #ff776924}.access-feedback{color:#083b6194}.access-feedback.error{color:#d94d4a}.access-form button{color:#064b70;background:linear-gradient(#ffe97f,#ffc83e);border-color:#fff7bd;box-shadow:0 6px #dc8a24,0 10px 20px #04476633,inset 0 2px #ffffffc2}.lobby-shell:after{background:radial-gradient(circle at 50% 42%,#8cf5ff05,#034d6f3d 78%)}.lobby-topbar{text-shadow:0 1px 5px #032e4866;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#054d6f6b;border-radius:12px;padding:7px 9px}.lobby-topbar button{color:#07597f;background:#f4fdffeb;border-color:#ffffffd9}.lobby-card.ready{border-color:#54e1c7f2;box-shadow:0 24px 70px #02446652,0 0 28px #24cdb738,inset 0 1px #ffffffe6}.room-crystal{background:linear-gradient(145deg,#74ecff,#159fcf);border-color:#fffffff0;border-radius:50%;font-size:20px;transform:translate(-50%);box-shadow:0 6px 18px #034d6f47,inset 0 1px #ffffff85}.lobby-card h1{color:#075e86;text-shadow:none}.room-count{color:#083b61a8}.room-count span{color:#0ab8bd;text-shadow:0 0 14px #24cdb73d}.avatar-frame{background:radial-gradient(circle at 50% 35%,#f6ffff,#bceff5 68%,#86dbe9);border-color:#42d9f0;box-shadow:0 0 0 5px #42d9f02e,inset 0 0 22px #066e8f29}.avatar-frame.slot-1{border-color:#ff8e80;box-shadow:0 0 0 5px #ff776929,inset 0 0 22px #ad4c461f}.avatar-frame img{width:115%;height:115%;transform:translateY(5px)}.avatar-frame i{border-color:#e6f9fc}.lobby-player strong{color:#083b61}.lobby-player>span{color:#087a8b;background:#2bd3d61f;border-color:#16b0c25c}.lobby-player:nth-child(2)>span{color:#b34a46;background:#ff77691f;border-color:#ff776961}.lobby-player.empty .avatar-frame{border-color:#157fa03d;box-shadow:0 0 0 5px #fff3,inset 0 0 22px #066e8f1f}.match-status{color:#083b61}.match-status strong{color:#087b95;text-shadow:none}.lobby-card.ready .match-status strong{color:#159f7f}.lobby-card>p{color:#083b6194}.countdown-orb{color:#fff;background:radial-gradient(circle at 38% 30%,#71efff,#0aa9d3 66%,#08789f);border-color:#bffaff;box-shadow:0 0 0 7px #24cdb71f,0 0 28px #1abbd157,inset 0 0 18px #ffffff5c}.loading-shell p{color:#083b61b3}.loading-shell button{color:#064b70;background:#ffd94c}.health-card{color:#083b61;background:#f4fcffeb;border-color:#ffffffe6;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;padding:7px 12px 8px 8px;display:grid;box-shadow:0 7px 24px #034d6f2e,inset 0 1px #ffffffe0}.health-avatar{object-fit:contain;background:linear-gradient(145deg,#e8fdff,#a8eaf3);border:2px solid #38d4ed;border-radius:50%;width:46px;height:46px;box-shadow:0 0 0 3px #38d4ed21}.enemy-side .health-avatar{border-color:#ff8c7e;box-shadow:0 0 0 3px #ff77691f}.health-content{min-width:0}.health-row{margin-bottom:6px}.health-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.health-row .stats{color:#083b619e}.health-track{background:#085d7e21;box-shadow:inset 0 2px 3px #04425f1f}.enemy-side .health-track span{color:#ff7769;background:linear-gradient(90deg,#ff6f66,#ff9b7e)}.player-side .health-track span{color:#17c9c4;background:linear-gradient(90deg,#10b8c9,#43dfc4)}.round-badge{color:#083b61;background:#f2fcffe0;border-color:#ffffffe6;box-shadow:0 7px 18px #034d6f29}.result-card{color:#083b61;background:#f4fcffe8;border-color:#ffffffeb;box-shadow:0 12px 28px #034d6f33,inset 0 1px #ffffffe6}.result-card strong{color:#08769b}.result-card span{color:#083b61bd}.result-card.hit{border-color:#ffd94c}.result-card.miss strong{color:#0a98a0}.result-card.thinking{color:#075e86}.loading-dots i{background:#ffd94c}.control-deck{background:linear-gradient(#ebfafff5,#d3f2fafa);border-color:#ffffffdb;box-shadow:0 -12px 35px #0248693d,inset 0 1px #ffffffd1}.equipment-row label{color:#083b61b8}.select-wrap select{color:#083b61;background:#ffffffc2;border-color:#0b7a993d}.select-wrap select:focus-visible{border-color:#15b9bd;box-shadow:0 0 0 2px #24cdb72e}.select-wrap svg{stroke:#083b61a8}.equipment-stats{color:#087b95}.attack-button{color:#07466b;background:linear-gradient(#ffe878,#ffc83d);border-color:#fff8c7;box-shadow:0 7px #df8b23,0 10px 20px #04476633,inset 0 2px #ffffffc7}.attack-button:disabled{color:#07466b99}.attack-button.defense-turn{color:#064e66;background:linear-gradient(#8df4f2,#2bcac5);border-color:#d6ffff;box-shadow:0 7px #138a98,0 10px 20px #04476633,inset 0 2px #ffffffbd}.water-blaster-icon{width:30px;height:30px}.water-blaster-icon svg{fill:#ffffff52;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.rule-note{color:#083b618f}.restart-button{color:#075e86;background:#f4fcffe6;border-color:#ffffffeb}.restart-button:hover{background:#fff}.network-notice{color:#075e86;background:#fafefff0;border-color:#ffd94cb8}.damage-number{color:#ff665d;text-shadow:0 2px #fff,0 4px 12px #762b2740}.miss-label{color:#fff;text-shadow:0 3px #0a8fae,0 6px 18px #024b685c}.outcome-backdrop{background:#01496961}.outcome-card{background:linear-gradient(155deg,#f4fdfffa,#d1f3f9fa);border-color:#ffffffeb;box-shadow:0 24px 70px #02446666,inset 0 1px #ffffffe0}.outcome-card h1{color:#075e86}.outcome-card p{color:#083b61ad}.outcome-card button{color:#064b70;background:linear-gradient(#ffe985,#ffca45);box-shadow:0 5px #d98622}.outcome-spark{color:#15b9bd}@keyframes resultPop{0%{opacity:.4;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes dotPulse{0%{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}@keyframes pinDrop{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@keyframes holdStep{0%{width:0}to{width:100%}}@keyframes blasterShake{0%{transform:rotate(-4deg)translate(-1px)}to{transform:rotate(4deg)translate(1px)}}@keyframes fighterBreathe{0%{transform:translateY(1px)rotate(-.6deg)scale(.99)}to{transform:translateY(-5px)rotate(.7deg)scale(1.01)}}@keyframes playerLunge{0%{transform:translateY(0)rotate(0)scale(1)}22%{transform:translateY(8px)rotate(2deg)scale(.98)}48%{transform:translateY(-34px)rotate(-3deg)scale(1.06)}70%{transform:translateY(-20px)rotate(-1deg)scale(1.03)}to{transform:translateY(0)rotate(0)scale(1)}}@keyframes enemyLunge{0%{transform:translateY(0)rotate(0)scale(1)}22%{transform:translateY(-7px)rotate(-2deg)scale(.98)}48%{transform:translateY(30px)rotate(3deg)scale(1.06)}70%{transform:translateY(17px)rotate(1deg)scale(1.03)}to{transform:translateY(0)rotate(0)scale(1)}}@keyframes playerHit{0%,18%{filter:brightness();transform:translate(0)rotate(0)}28%{filter:brightness(1.65);transform:translate(-18px,13px)rotate(-7deg)scale(.96)}39%{transform:translate(10px,6px)rotate(5deg)scale(.98)}52%{filter:brightness(1.08);transform:translate(-7px,2px)rotate(-3deg)}68%{transform:translate(4px)rotate(2deg)}to{filter:brightness();transform:translate(0)rotate(0)}}@keyframes enemyHit{0%,18%{filter:brightness();transform:translate(0)rotate(0)}28%{filter:brightness(1.65);transform:translate(19px,-12px)rotate(8deg)scale(.96)}39%{transform:translate(-10px,-5px)rotate(-5deg)scale(.98)}52%{filter:brightness(1.08);transform:translate(7px,-2px)rotate(3deg)}68%{transform:translate(-4px)rotate(-2deg)}to{filter:brightness();transform:translate(0)rotate(0)}}@keyframes playerDodge{0%{opacity:1;transform:translate(0)rotate(0)}30%{opacity:.72;transform:translate(58px)rotate(4deg)scale(.98)}48%{opacity:1;transform:translate(72px)rotate(5deg)scale(.97)}72%{transform:translate(-7px)rotate(-1deg)}to{transform:translate(0)rotate(0)}}@keyframes enemyDodge{0%{opacity:1;transform:translate(0)rotate(0)}30%{opacity:.72;transform:translate(-58px)rotate(-4deg)scale(.98)}48%{opacity:1;transform:translate(-72px)rotate(-5deg)scale(.97)}72%{transform:translate(7px)rotate(1deg)}to{transform:translate(0)rotate(0)}}@keyframes waterShootUp{0%{opacity:0;translate:0 45px;scale:1 .25}15%{opacity:1}to{opacity:1;translate:0 -235px;scale:1 1.1}}@keyframes waterShootDown{0%{opacity:0;translate:0 -45px;scale:1 .25}15%{opacity:1}to{opacity:1;translate:0 235px;scale:1 1.1}}@keyframes impactBurst{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(-8deg)}35%{opacity:1;transform:translate(-50%,-50%)scale(1.2)rotate(4deg)}70%{opacity:.92;transform:translate(-50%,-50%)scale(.92)rotate(0)}to{opacity:0;transform:translate(-50%,-50%)scale(1.48)}}@keyframes dodgeTrail{0%{opacity:0;transform:translate(-50%)scaleX(.35)}24%{opacity:1;transform:translate(-50%)scaleX(1.1)}68%{opacity:.84;transform:translate(-50%)scaleX(.92)translateY(-7px)}to{opacity:0;transform:translate(-50%)scaleX(1.35)translateY(-15px)}}@keyframes damageFloat{0%{opacity:0;translate:0 16px;scale:.55}35%{opacity:1;scale:1.18}to{opacity:0;translate:0 -35px;scale:1}}@keyframes missFloat{0%{opacity:0;scale:.7}35%{opacity:1;scale:1.1}to{opacity:0;translate:0 -25px}}@keyframes fadeIn{0%{opacity:0}}@keyframes outcomePop{0%{opacity:0;transform:scale(.78)translateY(18px)}}@keyframes countdownPulse{50%{transform:scale(1.06);box-shadow:0 0 0 10px #45eee212,0 0 34px #45eee27a,inset 0 0 18px #ffffff38}}@media (width>=471px){.game-shell,.access-shell,.lobby-shell{border-radius:28px}}@media (height<=760px){.game-shell{min-height:100svh}.fighter-enemy{width:122px;top:10%}.fighter-player{width:148px;bottom:32%}.battle-message{top:25%}.player-side{bottom:195px}.control-deck{min-height:180px;padding-top:12px}.result-card{min-height:64px}.brand-lockup h1{font-size:38px}.brand-gem{width:48px;height:48px;font-size:25px}.access-shell{gap:18px}.access-card{padding-top:23px;padding-bottom:23px}.lobby-shell{padding-top:58px}.lobby-card{min-height:470px;padding-top:30px}.room-count{margin-bottom:14px}.avatar-frame{width:98px;height:98px}.match-status{min-height:100px;margin-top:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
