:root{--gold:#ffcf6b;--coral:#ff8b78;--cyan:#4fd6e0;--amber:#f09a4a;--ink:#eef4f3;--panel:#13232fe8;--line:#6f8a9a66}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);background:#0e1820;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Segoe UI,sans-serif;overflow:hidden}canvas#view{width:100vw;height:100vh;display:block}.hidden{display:none!important}.tA{color:var(--cyan)}.tB{color:var(--amber)}.muted{color:#a9bac2;font-size:12px;line-height:1.7}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;background:radial-gradient(at 70% 20%,#3a6fb040,#0000 60%),linear-gradient(90deg,#07122af0 0%,#0b1a38c8 45%,#0b1a3a60 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f1f38d9;border:1px solid #fff2;border-radius:22px;width:640px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:28px 32px;overflow:auto;box-shadow:0 30px 90px #000a,inset 0 1px #ffffff1a}.card.small{text-align:center;width:340px}.card.lobby{grid-template-columns:1.25fr 1fr;gap:36px;width:1080px;padding:34px 38px;animation:.5s cubic-bezier(.2,.8,.2,1) both lobbyIn;display:grid}@keyframes lobbyIn{0%{opacity:0;transform:translateY(18px)scale(.98)}}.lobby-side{border-left:1px solid #ffffff1c;flex-direction:column;align-self:start;padding-left:32px;display:flex;position:sticky;top:0}.eyebrow{letter-spacing:3px;color:var(--gold);font-size:11px;font-weight:800}h1{letter-spacing:1px;background:linear-gradient(100deg,#fff 30%,#ffe2a0 60%,#fff 90%) 0 0/220% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;margin:8px 0 6px;font-size:38px;font-weight:900;animation:6s ease-in-out infinite shine}@keyframes shine{0%,30%{background-position:100% 0}70%,to{background-position:0 0}}h2{margin:0 0 8px}h4{letter-spacing:3px;color:#8fa6c4;margin:20px 0 10px;font-size:11px;font-weight:800}button{cursor:pointer;font:inherit;color:var(--ink);background:#ffffff0f;border:1px solid #ffffff2a;border-radius:12px;padding:10px 14px;transition:border-color .15s,background .15s,transform .15s}button:hover{background:#ffffff18;border-color:#fff6}button.primary{background:linear-gradient(100deg, var(--gold) 0%, #ffb455 55%, var(--coral) 100%);color:#2b1606;letter-spacing:2px;border:0;border-radius:16px;flex-direction:column;align-items:center;width:100%;margin-top:auto;padding:15px;font-size:19px;font-weight:900;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #ff9d5a55,inset 0 1px #fff8}button.primary small{letter-spacing:2.5px;opacity:.7;font-size:10px;font-weight:800}button.primary:after{content:"";background:linear-gradient(110deg,#0000 30%,#fffa 48%,#0000 62%);animation:3.4s ease-in-out 1s infinite sweep;position:absolute;inset:0;transform:translate(-120%)}@keyframes sweep{0%,55%{transform:translate(-120%)}to{transform:translate(120%)}}button.primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px #ff9d5a77}.card.small button{width:100%;margin-top:10px}.card.small button.primary{flex-direction:row;justify-content:center;font-size:15px}.tabs{background:#0006;border-radius:14px;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px;padding:5px;display:grid}.tab{color:#b9c9de;background:0 0;border:0;border-radius:10px;font-weight:700}.tab.on{color:#fff;background:linear-gradient(#2b5a8f,#1d3f6b);box-shadow:0 4px 14px #0005}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 12px;display:grid}label{color:#9fb3cf;flex-direction:column;gap:5px;font-size:12px;display:flex}label.check{flex-direction:row;align-items:center;gap:8px;padding-top:18px}input,select{font:inherit;color:var(--ink);background:#0a1730;border:1px solid #ffffff26;border-radius:9px;padding:9px;font-size:13px}input:focus,select:focus{border-color:var(--gold);outline:none}body:not(.online) .onlineOnly,body.online .offlineOnly{display:none}.chars{grid-template-columns:1fr 1fr;gap:12px;display:grid}.char{text-align:left;flex-direction:column;gap:4px;padding:14px 16px 14px 18px;display:flex;position:relative;overflow:hidden}.char:before{content:"";background:var(--c);width:4px;position:absolute;top:0;bottom:0;left:0}.char b{font-size:18px}.char.on{border-color:var(--c);box-shadow:0 0 0 1px var(--c), 0 8px 24px #0006;background:linear-gradient(120deg,#ffffff1f,#ffffff08)}.char span{color:#b9c9de;font-size:12px}.maps{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.mapcard{text-align:left;border-radius:16px;flex-direction:column;gap:4px;padding:0 0 12px;display:flex;position:relative;overflow:hidden}.mapcard img{aspect-ratio:16/9;object-fit:cover;width:100%;margin-bottom:8px;transition:transform .4s cubic-bezier(.2,.8,.2,1);display:block}.mapcard:hover img{transform:scale(1.05)}.mapcard b{padding:0 12px;font-size:13.5px}.mapcard span{color:#b9c9de;padding:0 12px;font-size:11px;line-height:1.5}.mapcard.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold), 0 12px 30px #0007;background:#ffffff14}.mapcard.on:after{content:"已选";background:var(--gold);color:#2b1606;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:900;position:absolute;top:10px;right:10px}.error{color:#ffb3b3;border:1px solid #e07a7a;border-radius:8px;margin-top:12px;padding:10px;font-size:13px}.keys{margin:12px 0 0}@media (max-width:900px){.card.lobby{grid-template-columns:1fr;gap:8px}.lobby-side{border-left:0;padding-left:0;position:static}button.primary{margin-top:22px}}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}#top{align-items:center;gap:14px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}#top .score{text-align:center;text-shadow:0 2px 8px #0008;min-width:52px;font-size:34px;font-weight:800}#top .mid{text-align:center;background:#0d1a24b0;border-radius:8px;padding:6px 14px}#clock{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}#limit{color:#a9bac2;font-size:11px}#feed{flex-direction:column;align-items:flex-end;gap:4px;font-size:13px;display:flex;position:absolute;top:16px;right:18px}#feed div{background:#0d1a24c0;border-radius:5px;padding:5px 10px}#feed em{color:#c8d4d8;margin:0 6px;font-size:11px;font-style:normal}#crosshair{--bloom:0;width:calc(22px + var(--bloom) * 26px);height:calc(22px + var(--bloom) * 26px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair:before,#crosshair:after{content:"";background:#fff;position:absolute;box-shadow:0 0 2px #000}#crosshair:before{clip-path:polygon(0 0,30% 0,30% 100%,0 100%,0 0,100% 0,100% 100%,70% 100%,70% 0);height:2px;top:calc(50% - 1px);left:0;right:0}#crosshair:after{clip-path:polygon(0 0,100% 0,100% 30%,0 30%,0 70%,100% 70%,100% 100%,0 100%);width:2px;top:0;bottom:0;left:calc(50% - 1px)}#hitmarker{opacity:0;width:30px;height:30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}#hitmarker.pop{animation:.18s ease-out hitpop}@keyframes hitpop{0%{transform:translate(-50%,-50%)rotate(45deg)scale(1.6)}}#killpop{text-align:center;opacity:0;pointer-events:none;position:absolute;top:58%;left:50%;transform:translate(-50%)}#killpop b{letter-spacing:8px;color:#fff;text-shadow:0 0 18px #ff5d7a,0 3px #b8264a;font-size:30px;font-weight:900;display:block}#killpop i{color:#3b2400;letter-spacing:3px;background:#ffd34d;border-radius:999px;margin-top:4px;padding:2px 10px;font-size:12px;font-style:normal;font-weight:900;display:inline-block}#killpop.pop{animation:1.2s cubic-bezier(.2,.8,.2,1) both killpop}@keyframes killpop{0%{opacity:0;transform:translate(-50%)scale(1.8)}12%{opacity:1;transform:translate(-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-10px)}}#hitmarker:before,#hitmarker:after{content:"";background:#fff;position:absolute}#hitmarker:before{clip-path:polygon(0 0,30% 0,30% 100%,0 100%,0 0,100% 0,100% 100%,70% 100%,70% 0);height:2px;top:14px;left:0;right:0}#hitmarker:after{clip-path:polygon(0 0,100% 0,100% 30%,0 30%,0 70%,100% 70%,100% 100%,0 100%);width:2px;top:0;bottom:0;left:14px}#hitmarker.head:before,#hitmarker.head:after{background:#ffd34d}#hitmarker.kill:before,#hitmarker.kill:after{background:#ff4d5e}#hurt{opacity:0;background:radial-gradient(#0000 55%,#d0102890 100%);position:absolute;inset:0}#banner{letter-spacing:6px;text-shadow:0 4px 20px #000a;font-size:44px;font-weight:800;position:absolute;top:28%;left:50%;transform:translate(-50%)}#vitals{align-items:center;gap:10px;display:flex;position:absolute;bottom:24px;left:24px}#hpbar{background:#0d1a24c0;border:1px solid #ffffff40;border-radius:3px;width:240px;height:14px;overflow:hidden;transform:skew(-18deg)}#hpfill{background:linear-gradient(90deg,#7ef2c9,#4fd6e0);width:100%;height:100%;transition:width .12s}#hptext{font-variant-numeric:tabular-nums;text-shadow:0 2px 6px #0009;font-size:26px;font-weight:800}#spawn-protection{color:#b6f4f7;font-variant-numeric:tabular-nums;pointer-events:none;background:#102935d9;border:1px solid #8be8ed88;border-radius:5px;padding:5px 9px;font-size:12px;position:absolute;bottom:120px;left:24px}#skills{gap:8px;display:flex;position:absolute;bottom:60px;left:24px}.skill{--cd:0;background:#0d1a24c0;border:1px solid #ffffff40;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;width:auto;min-width:64px;max-width:96px;height:50px;padding:0 8px;font-size:12px;display:flex;position:relative;overflow:hidden}.skill:after{content:"";height:calc(var(--cd) * 100%);background:#00000090;position:absolute;bottom:0;left:0;right:0}.skill.ready{border-color:var(--cyan);box-shadow:0 0 10px #4fd6e055}.skill kbd{color:#a9bac2;overflow-wrap:anywhere;text-align:center;white-space:normal;max-width:100%;font:10px/1.15 ui-monospace,monospace}.skill b{z-index:2;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;inset:0}#weapon{text-align:right;position:absolute;bottom:24px;right:24px}#ammoline{font-variant-numeric:tabular-nums;text-shadow:0 2px 6px #0009}#ammo{font-size:38px;font-weight:800}#mag{color:#b9c8ce;margin-left:6px;font-size:16px}#wname{color:#d4e0e4;font-size:13px}#wslots{flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:min(310px,70vw);margin-top:6px;display:flex}.wslot{overflow-wrap:anywhere;text-align:center;background:#0d1a24c0;border:1px solid #ffffff30;border-radius:4px;justify-content:center;align-items:center;width:auto;min-width:24px;max-width:96px;height:auto;min-height:24px;padding:2px 5px;font-size:12px;display:inline-flex}.wslot.on{border-color:var(--cyan);color:var(--cyan)}#ping{color:#a9bac2;font:11px ui-monospace,monospace;position:absolute;top:16px;left:24px}#dead{text-align:center;background:#0d1a24d0;border-radius:10px;padding:16px 28px;font-size:20px;line-height:1.8;position:absolute;top:40%;left:50%;transform:translate(-50%)}#scoreboard{gap:16px;display:flex;position:absolute;top:18%;left:50%;transform:translate(-50%)}#scoreboard .team{background:#0d1a24e0;border-top:3px solid;border-radius:10px;min-width:300px;padding:14px 18px}#scoreboard h3{justify-content:space-between;margin:0 0 8px;display:flex}#scoreboard table{border-collapse:collapse;width:100%;color:var(--ink);font-size:13px}#scoreboard th{text-align:left;color:#a9bac2;font-size:11px;font-weight:500}#scoreboard td,#scoreboard th{padding:4px 6px}#scoreboard tr.me td{color:#fff3b0}#scoreboard i{color:#a9bac2;font-size:10px;font-style:normal}@media (max-width:700px){#scoreboard{flex-direction:column}#hpbar{width:140px}}@media (prefers-reduced-motion:reduce){.card.lobby,h1,button.primary:after{animation:none!important}}#endcard{background:#07122a66;align-items:flex-end;padding-bottom:8vh}#endcard h2{letter-spacing:6px;font-size:34px}#scope{pointer-events:none;background:radial-gradient(circle,#0000 0 33vh,#07111ce8 34vh);place-items:center;display:grid;position:absolute;inset:0}#scope.hidden{display:none}.scope-ring{border:3px solid #111e2d;border-radius:50%;width:66vh;height:66vh;position:relative;box-shadow:0 0 0 2px #a1b9c044,inset 0 0 28px #0008}.scope-ring:before,.scope-ring:after{content:"";background:#14202c;position:absolute}.scope-ring:before{width:1px;height:100%;left:50%}.scope-ring:after{width:100%;height:1px;top:50%}.scope-ring i{z-index:1;background:#65f6e7;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scope-ring b{color:#c5e3de;font:11px monospace;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}#crosshair.ads{background:#79fff0;border-radius:50%;width:4px;height:4px;box-shadow:0 0 3px #10252a}#crosshair.ads:before,#crosshair.ads:after{display:none}#crosshair.scoped{opacity:0}#armory{width:100%;margin-top:10px}#armory-dialog{color:#e5f2f4;background:#10232d;border:1px solid #68888f;border-radius:18px;width:min(1100px,95vw);max-height:94vh;padding:24px;box-shadow:0 20px 100px #000a}#armory-dialog::backdrop{background:#051119d9}#armory-dialog header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}#armory-dialog header small{letter-spacing:.18em;color:#9cbcbf}#armory-dialog h2{margin:7px 0 0}.armory-layout{grid-template-columns:250px 1fr;gap:20px;display:grid}.armory-layout nav{align-content:start;gap:7px;display:grid}.armory-layout nav button{text-align:left;padding:10px}.armory-layout nav span{color:#9bb6bc;margin-top:4px;font-size:11px;display:block}.armory-layout nav button.on{background:#24434c;border-color:#61d5d6}.armory-layout section{min-width:0}.armory-layout canvas{touch-action:none;border-radius:12px;width:100%;height:min(45vh,440px);display:block}.armory-layout p{font-size:13px;line-height:1.65}#art-status{color:#8ae0d6;min-height:24px}@media (max-width:700px){.armory-layout{grid-template-columns:1fr}.armory-layout nav{grid-template-columns:1fr 1fr}#armory-dialog{padding:16px}.armory-layout canvas{height:32vh}}.loadout{gap:9px;display:grid}.loadout-item{background:#07162c7a;border:1px solid #fff2;border-radius:12px;gap:7px;padding:12px}.loadout-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.loadout-heading b{color:#d9e7f4}.loadout-heading kbd{overflow-wrap:anywhere;max-width:60%;color:var(--gold);font:11px ui-monospace,monospace}.loadout-item select{width:100%}.loadout-role{color:#c4d2df;font-size:12px;line-height:1.5}.loadout-item small{color:#9bafc3;line-height:1.5}button:disabled{cursor:wait;opacity:.6;transform:none}.wslot{flex-direction:column;gap:2px;min-width:74px;max-width:140px}.wslot kbd{font:11px ui-monospace,monospace}.wslot small{color:#c0d0d9;font-size:10px}#weapon.melee #ammo{font-size:24px}#weapon.melee #mag{font-size:12px}#hud.viewing-scores{z-index:25}#hud.viewing-scores>:not(#scoreboard),#endcard.viewing-scores .card{visibility:hidden}#scoreboard.results{z-index:25;pointer-events:auto;background:#081322f7;border:1px solid #ffffff40;border-radius:16px;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 24px);max-height:76vh;padding:18px;position:fixed;top:12vh;overflow:auto}#scoreboard.results .scores-close{text-align:right;width:100%}#scoreboard.results .scores-close button{font-size:13px}@media (max-width:700px){#scoreboard.results{align-items:stretch;width:calc(100vw - 24px)}#scoreboard.results .team{min-width:0}}.input-settings{color:#e5f2f4;background:#10232d;border:1px solid #68888f;border-radius:18px;width:min(780px,94vw);max-height:92vh;padding:24px;font:14px system-ui,sans-serif;box-shadow:0 20px 100px #000a}.input-settings::backdrop{background:#051119d9}.input-settings header{justify-content:space-between;align-items:center;gap:20px;display:flex}.input-settings h2{margin:6px 0}.input-settings header small{color:#9ebbbf;letter-spacing:.15em}.input-settings button{color:#e5f2f4;cursor:pointer;font:inherit;background:#1d3945;border:1px solid #547580;border-radius:7px;padding:9px 13px}.input-settings button:hover,.input-settings button:focus-visible{background:#2a4a55;border-color:#72eee0;outline:2px solid #72eee066}.input-settings [hidden]{display:none!important}.settings-note{color:#aec6cc;font-size:12px;line-height:1.7}.settings-sliders{grid-template-columns:1fr 1fr;gap:18px;padding:14px 0;display:grid}.settings-sliders label{display:block}.settings-sliders input[type=range]{accent-color:#69d4d0;width:100%;margin:12px 0}.settings-sliders output{float:right;color:#8cebdd;font-variant-numeric:tabular-nums}.settings-sliders .settings-check{grid-column:1/-1;align-items:center;gap:10px;display:flex}.settings-bindings{grid-template-columns:1fr 1fr;gap:8px 22px;display:grid}.settings-bindings>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-bindings button{min-width:114px}.settings-actions{flex-wrap:wrap;gap:10px;display:flex}.input-settings [data-status]{color:#8cebdd;min-height:24px;line-height:1.6}@media (max-width:600px){.settings-bindings,.settings-sliders{grid-template-columns:1fr}.input-settings{padding:16px}}.settings-bindings{grid-template-columns:1fr}.settings-bindings .binding-pair{gap:6px;display:flex}.settings-bindings .binding-pair button[data-clear]{min-width:32px;padding-inline:8px}.settings-bindings button:disabled{opacity:.35;cursor:default}.control-migration{z-index:40;color:#e7fffc;white-space:pre-line;background:#14353bf5;border:1px solid #70c7bf;border-radius:10px;align-items:center;gap:16px;width:min(760px,90vw);padding:12px 14px;font:13px/1.65 system-ui,sans-serif;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #0006}.control-migration button{color:#fff;white-space:nowrap;cursor:pointer;background:#245158;border:1px solid #70c7bf;border-radius:6px;padding:8px}.input-settings [data-migration]{white-space:pre-line}@media (max-width:600px){.settings-bindings>div{flex-direction:column;align-items:flex-start;gap:4px}.settings-bindings .binding-pair{width:100%}.settings-bindings .binding-pair button[data-bind]{flex:1;min-width:0}}.parhelion-language{color:inherit;white-space:nowrap;pointer-events:auto;align-items:center;gap:8px;font:12px/1.4 system-ui,sans-serif;display:inline-flex}.parhelion-language select{color:#eaf3f5;width:auto;min-width:85px;font:inherit;cursor:pointer;background:#15283b;border:1px solid #7295a5;border-radius:8px;padding:7px 10px}.parhelion-language select:focus-visible{outline-offset:2px;outline:2px solid #ffc66d}body>.parhelion-language{z-index:10005;color:#eaf3f5;background:#12243be8;border-radius:10px;padding:7px 10px;position:fixed;top:14px;left:14px}.input-settings header{flex-wrap:wrap;gap:12px}.input-settings .parhelion-language{margin-left:auto}.parhelion-language[hidden]{display:none!important}
