*{box-sizing:border-box}html,body{margin:0;overflow:hidden;width:100%;height:100%;font-family:'Microsoft YaHei','PingFang SC',sans-serif;color:#254950;background:#bfdee5}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c9a45f;outline-offset:4px}.hidden{display:none!important}#arena{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#e8f1e990,transparent 65%),linear-gradient(0deg,#183f4528,transparent 40%)}header{position:absolute;inset:26px 38px auto;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}header a{pointer-events:auto;text-decoration:none}.brand{display:flex;align-items:center;gap:12px;font-size:34px}.brand span{font-size:19px;font-weight:bold;letter-spacing:3px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:4px}.place{font-size:12px;letter-spacing:3px}.place i{padding:0 16px;font-style:normal;color:#9d8153}.exit{font-size:12px;padding:10px 16px;border:1px solid #38626830;border-radius:25px;background:#f3f4e980}.panel{position:absolute;left:7%;top:50%;transform:translateY(-44%);width:380px;max-height:calc(100dvh - 140px);overflow:auto;padding:8px 6px 14px;scrollbar-width:thin}.eyebrow{font-size:9px;letter-spacing:2.7px;color:#7a856d;font-weight:bold}h1{font-family:serif;font-size:58px;letter-spacing:7px;font-weight:500;margin:20px 0}h1 span{display:block;font-family:'Microsoft YaHei',sans-serif;font-size:13px;letter-spacing:4px;margin-top:14px}h2{font-size:27px;font-weight:500;letter-spacing:2px}.lead{font-size:13px;line-height:2.1;color:#517175;margin:24px 0}.rules{display:flex;gap:12px;font-size:10px;letter-spacing:1px;margin:22px 0;color:#658281}.rules i{font-style:normal}label{display:block;font-size:10px;margin-bottom:7px;color:#617e7d}input{border:1px solid #406b682f;background:#fffdf6aa;padding:12px 14px;border-radius:5px;color:#264d53;outline:none;width:100%;font-size:13px}#duel-name{margin-bottom:14px}.primary{width:100%;background:#28575a;color:#fff8e8;border:1px solid #34696b;border-radius:4px;padding:15px 20px;font-size:13px;letter-spacing:2px;box-shadow:0 8px 24px #28575a20}.primary span{float:right}.primary:hover{background:#356c6b}.or{font-size:10px;color:#78918c;text-align:center;margin:18px 0 12px}.join-row{display:flex;gap:9px}.join-row input{text-transform:uppercase;letter-spacing:2px}.join-row button{width:76px;border:1px solid #587c733b;background:#edf2e7b0;border-radius:4px;flex-shrink:0}#lobby-status,#room-status{font-size:11px;color:#5e7f7d;min-height:28px;line-height:1.7}details{font-size:10px;color:#69827d;border-top:1px solid #57787125;padding:12px 0}summary{cursor:pointer}details p{line-height:2}.room-code{width:100%;background:#f4f3e6ab;border:1px solid #b7b99a;padding:20px;margin:20px 0;border-radius:7px}.room-code>span{font-size:32px;letter-spacing:7px;font-family:monospace}.room-code small{display:block;font-size:10px;color:#728780;margin-top:10px}.seats{display:flex;gap:12px;margin:15px 0 22px}.seats>div{flex:1;padding:16px 12px;background:#f1f2e7a0;border:1px solid #57787125;border-radius:4px}.seats strong{font-size:12px}.seats span{display:block;font-size:10px;color:#7e8d80;margin:10px 0 0 12px}.seat-light{display:inline-block;width:6px;height:6px;background:#51a49b;border-radius:50%;margin-right:7px}.seat-light.waiting{background:#aab5a5}.text{display:block;background:none;border:0;font-size:11px;margin:18px auto;color:#527674}.duel-top{position:absolute;top:32px;left:50%;transform:translateX(-50%);display:flex;gap:28px;align-items:flex-start;width:min(70%,850px)}.fighter{flex:1;padding-top:8px}.fighter-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:9px}.fighter-label b{font-weight:500}.fighter-label span{font-size:10px}.health{height:8px;background:#23494d33;transform:skewX(-18deg);border:1px solid #fbfbe199;padding:1px}.health i{display:block;height:100%;width:100%;background:#65c9c2;transition:width .15s}.enemy .health i{background:#de957e}.endurance{height:3px;margin-top:5px;background:#23494d22}.endurance i{display:block;height:100%;background:#cfb76e;width:100%}.score{text-align:center;width:110px;flex-shrink:0}.score>div{font-size:30px;font-family:serif;letter-spacing:8px;white-space:nowrap}.score>div span{opacity:.5;margin:0 5px}.score small{display:block;font-size:9px;letter-spacing:2px;margin:5px 0}.score strong{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}.in-match header .brand,.in-match .place{display:none}.connection{position:absolute;left:25px;top:23px;font-size:10px;background:#eff6e8b8;border-radius:3px;padding:7px 10px}.in-match header{right:70px;top:19px;justify-content:flex-end}#menu-button{position:absolute;right:22px;top:21px;border:1px solid #557c6c44;background:#f6f7e3b0;border-radius:50%;width:32px;height:32px}#notice{position:absolute;top:30%;left:50%;transform:translateX(-50%);font-size:30px;font-family:serif;letter-spacing:4px;white-space:pre-line;text-align:center;text-shadow:0 2px 10px #fff8}#counter{position:absolute;top:63%;left:50%;transform:translateX(-50%);background:#214f54c9;color:#f8e1a2;padding:10px 20px;border:1px solid #eed99f66;border-radius:4px;font-size:12px;white-space:nowrap}#target-label{position:absolute;color:#8d473c;font-size:11px;letter-spacing:1px;transform:translate(-50%,-100%);pointer-events:none;text-shadow:0 1px 7px #fff}#reticle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:23px;color:#f5fff3bb;text-shadow:0 0 3px #194e58}#action-readout{position:absolute;bottom:142px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:2px;color:#fafff3;background:#27505b88;padding:6px 16px;border-radius:20px}.loadout{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);display:flex;gap:7px}.loadout button{padding:13px 17px;border:1px solid #e4ead270;background:#edf4e4cb;font-size:11px;border-radius:4px;white-space:nowrap}.loadout button.selected{background:#295b60;color:#fbf1ce;border-color:#b2c5ac}.loadout small{font-size:9px;opacity:.5;margin-right:8px}.hint{position:absolute;bottom:25px;width:100%;text-align:center;font-size:10px;color:#eff6e4;letter-spacing:1px;text-shadow:0 1px 5px #24494a}.hint i{margin:0 14px;font-style:normal}.hint span{margin-left:25px;opacity:.75}.modal{position:absolute;inset:0;display:grid;place-items:center;background:#183b4666;backdrop-filter:blur(8px);z-index:6}.modal>div{width:360px;max-width:90vw;background:#f3f2e4f2;border:1px solid #e0d8bb;padding:35px;text-align:center;border-radius:8px}.modal p{font-size:12px;line-height:2;color:#6e827a}.modal h2{font-family:serif;font-size:34px}#flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #c75e58;opacity:0;transition:opacity .15s}#touch{position:absolute;inset:0;pointer-events:none}#look{position:absolute;right:0;top:100px;width:60%;height:calc(100% - 100px);pointer-events:auto;touch-action:none}#joystick{position:absolute;left:28px;bottom:30px;width:110px;height:110px;border:1px solid #f2f5dd88;background:#234d5330;border-radius:50%;pointer-events:auto;touch-action:none}#stick{position:absolute;width:40px;height:40px;border-radius:50%;background:#eff8e997;left:34px;top:34px;border:1px solid #fbf9e9}.touch{position:absolute;width:62px;height:62px;border-radius:50%;border:1px solid #f6f8e4aa;background:#24525dad;color:#fff6de;pointer-events:auto;touch-action:none;font-size:12px}.touch.attack{right:30px;bottom:30px;width:78px;height:78px;background:#eff2dbce;color:#274c53}.touch.dash{right:122px;bottom:36px}.touch.jump{right:26px;bottom:122px}.touch.heavy{right:112px;bottom:121px}.touch.heavy.charging{background:#b5aa66dc}.mobile .hint{display:none}.mobile .loadout{bottom:18px}.mobile .loadout button{padding:9px}.mobile .loadout #lock{display:none}.mobile #action-readout{bottom:85px}.mobile #counter{top:58%}.mobile .connection{left:14px;top:12px;font-size:8px}.mobile .duel-top{top:15px;width:65%;gap:15px}.mobile .score{width:75px}.mobile .score>div{font-size:23px}.mobile .fighter-label{font-size:10px}.mobile header{inset:16px 22px auto}.mobile .place{display:none}.mobile .brand{font-size:26px}.mobile .brand span{font-size:15px}.mobile .panel{left:6%;width:330px;max-height:calc(100dvh - 82px);transform:translateY(-43%)}.mobile h1{font-size:42px;margin:13px 0}.mobile .lead{margin:14px 0}.mobile .rules{margin:13px 0}.mobile .eyebrow{font-size:8px}.mobile #notice{font-size:24px}.mobile .in-match header{right:60px}@media(max-width:650px) and (orientation:portrait){.panel,.mobile .panel{left:7%;width:86%;top:52%;max-height:calc(100dvh - 105px)}.place{display:none}h1{font-size:47px}.duel-top,.mobile .duel-top{top:65px;width:90%;gap:14px}.connection,.mobile .connection{top:20px}#notice{top:32%}.loadout,.mobile .loadout{bottom:220px;gap:4px}.loadout button{padding:10px 8px}.mobile #action-readout{bottom:278px}#counter,.mobile #counter{top:58%}#joystick{left:15px;bottom:55px;width:100px;height:100px}#stick{left:29px;top:29px}.touch.attack{right:16px;bottom:48px}.touch.dash{right:105px;bottom:52px}.touch.jump{right:18px;bottom:141px}.touch.heavy{right:105px;bottom:137px}.hint{display:none}}@media(max-height:500px){.panel,.mobile .panel{top:55%;left:5%;width:330px;max-height:calc(100dvh - 90px);transform:translateY(-44%)}.panel h1{font-size:36px}.panel .lead{margin:12px 0}.panel h2{font-size:24px}#notice{top:33%;font-size:22px}.loadout,.mobile .loadout{bottom:16px;gap:4px}.loadout button,.mobile .loadout button{padding:8px 10px}.hint{display:none}#action-readout,.mobile #action-readout{bottom:66px}#counter,.mobile #counter{top:56%}.duel-top,.mobile .duel-top{top:12px}.score strong{font-size:12px}}

a{color:inherit}header a{color:inherit}.panel{background:linear-gradient(90deg,#eef4e800,transparent)}
.hit-number{position:absolute;pointer-events:none;color:#fff4ce;text-shadow:0 2px 5px #794a41;font-size:25px;z-index:4;animation:hit-rise .8s forwards}.hit-number.critical{color:#ffe4a1;font-size:34px}@keyframes hit-rise{from{opacity:1;transform:translate(-50%,0)}to{opacity:0;transform:translate(-50%,-75px)}}
.loadout{z-index:3}#menu-button{z-index:3}#touch{z-index:2}.modal{z-index:6}.in-match header{z-index:4}#hud{position:absolute;inset:0;pointer-events:none}#hud button{pointer-events:auto}
.mobile.in-match header{right:68px;left:auto;top:14px}.mobile.in-match #menu-button{top:17px;right:17px}
@media(orientation:landscape){.mobile .duel-top{width:60%;left:48%;gap:10px}}
