:root{--accent: #7ea2ff;--accent2: #ff5c6c;--gold: #f5b942;--bg: #0d1117;--panel: rgba(13, 17, 23, .82);--panel2: rgba(22, 28, 38, .9);--line: rgba(126, 162, 255, .28);--text: #e8ecf4;--dim: #8b95a8;--mono: "Consolas", "SF Mono", "Cascadia Code", monospace;--sans: "Segoe UI", "Microsoft YaHei", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:var(--sans);color:var(--text);touch-action:none}#game-root{position:fixed;inset:0}#c3d{position:absolute;inset:0;width:100%;height:100%;display:block}#hudCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}#minimap{position:absolute;left:14px;top:14px;z-index:6;width:132px;height:100px;border:1px solid rgba(126,162,255,.18);border-radius:4px;background:#080b1052;display:none;pointer-events:none}#ui-root{position:absolute;inset:0;z-index:10;pointer-events:none;font-family:var(--sans)}#ui-root>*{pointer-events:auto}#hud{pointer-events:none}#hud>*{pointer-events:none}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 40px #00000073}#menu{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse 90% 70% at 50% 110%,rgba(126,162,255,.1),transparent 60%),radial-gradient(ellipse 70% 50% at 50% -10%,rgba(255,92,108,.08),transparent 60%),linear-gradient(180deg,#0d1117d1,#0d1117f0);gap:8px}#menu .brand{font-size:76px;font-weight:800;letter-spacing:14px;background:linear-gradient(180deg,#fff 20%,#b9c8ff,#7ea2ff 90%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 60px rgba(126,162,255,.35);filter:drop-shadow(0 4px 18px rgba(0,0,0,.5))}#menu .sub{font-size:15px;letter-spacing:8px;color:var(--dim);margin-bottom:40px}#menu .sub b{color:var(--accent);font-weight:600}#menu .langs{display:flex;gap:10px;margin-bottom:26px}#menu .lang{pointer-events:auto;cursor:pointer;padding:7px 16px;font-size:13px;letter-spacing:1px;color:var(--dim);background:#ffffff08;border:1px solid rgba(255,255,255,.14);border-radius:20px;font-family:var(--sans);transition:all .15s ease}#menu .lang:hover{color:#fff;border-color:#7ea2ff99}#menu .lang.on{color:#fff;background:#7ea2ff29;border-color:var(--accent)}.btn{pointer-events:auto;cursor:pointer;min-width:320px;padding:14px 28px;font-size:16px;letter-spacing:4px;color:var(--text);background:#ffffff0a;border:1px solid rgba(255,255,255,.14);border-radius:6px;font-family:var(--sans);transition:all .15s ease}.btn:hover{border-color:var(--accent);color:#fff;background:#7ea2ff1a;transform:translateY(-1px)}.btn.primary{background:linear-gradient(180deg,#8fb0ff,#5d83e8);color:#0a0f1a;border:none;font-weight:700}.btn.primary:hover{filter:brightness(1.1);background:linear-gradient(180deg,#8fb0ff,#5d83e8)}.btn.small{min-width:0;padding:8px 16px;font-size:13px;letter-spacing:2px}.btn.danger:hover{border-color:var(--accent2);background:#ff5c6c1a}#menu .help{margin-top:42px;max-width:560px;display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;font-size:12.5px;color:var(--dim);line-height:1.9}#menu .help b{color:var(--accent);font-weight:700;margin-right:8px;letter-spacing:1px}#menu .help span{color:var(--dim);font-weight:400}#menu .foot{margin-top:14px;font-size:11px;color:#8b95a88c;letter-spacing:1px}#menu .credit{margin-top:6px;font-size:12px;color:#e8ecf4b3;letter-spacing:1px}#settings{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:30;background:#05080c99}#settings .panel{width:min(460px,94vw);max-height:min(86dvh,760px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:26px 30px;display:flex;flex-direction:column;gap:16px}#settings h2{font-size:18px;letter-spacing:6px;color:var(--accent);font-weight:700}.row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13.5px;color:var(--dim)}.row .val{color:var(--text);font-family:var(--mono);min-width:44px;text-align:right}.row input[type=range]{flex:1;accent-color:var(--accent);cursor:pointer}.swatches{display:flex;gap:8px}.swatch{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid transparent}.swatch.on{border-color:#fff;box-shadow:0 0 10px #fff6}.seg{display:flex;gap:6px}.seg button{padding:5px 14px;font-size:12px;letter-spacing:2px;cursor:pointer;background:#ffffff0d;color:var(--dim);border:1px solid rgba(255,255,255,.12);border-radius:4px}.seg button.on{color:#fff;border-color:var(--accent);background:#7ea2ff26}.settings-actions{display:flex;gap:12px;justify-content:flex-end;position:sticky;bottom:-8px;background:#0d1117eb;padding-top:8px;margin-top:2px}#hud{position:absolute;inset:0;display:none}#hp{position:absolute;left:24px;bottom:26px;display:flex;flex-direction:column;gap:4px}#hp .num{font-size:34px;font-weight:800;font-family:var(--mono);line-height:1;text-shadow:0 2px 8px rgba(0,0,0,.6)}#hp .bars{display:flex;flex-direction:column;gap:3px}#hp .bar{width:190px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}#hp .bar i{display:block;height:100%;border-radius:2px;transition:width .12s ease}#hp .hpbar i{background:linear-gradient(90deg,#e44f5c,#ff7a86)}#hp .armbar i{background:linear-gradient(90deg,#4f7fe8,#7ea2ff)}#kills{display:flex;gap:6px;margin-top:12px;min-height:24px}#kills .kicon{width:19px;height:24px;background:#e8ecf4;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);opacity:.98;animation:killIn .22s cubic-bezier(.2,1.8,.4,1);box-shadow:0 0 10px #e8ecf48c}#kills .kicon.gold{background:linear-gradient(180deg,#ffe08a,#f5b942);box-shadow:0 0 14px #f5b942d9}#kills .kicon.hot{background:linear-gradient(180deg,#ff9db0,#ff5c6c);box-shadow:0 0 16px #ff5c6cf2}#kills.out .kicon{transition:opacity .4s,transform .4s;opacity:0;transform:translateY(-10px)}@keyframes killIn{0%{transform:scale(.2) rotate(-30deg);opacity:0}60%{transform:scale(1.25) rotate(8deg)}to{transform:scale(1) rotate(0);opacity:1}}#ammo{position:absolute;right:26px;bottom:24px;text-align:right}#ammo .wpn{font-size:12px;letter-spacing:3px;color:var(--dim)}#ammo .cnt{font-family:var(--mono);font-size:38px;font-weight:700;line-height:1.05;text-shadow:0 2px 8px rgba(0,0,0,.6)}#ammo .cnt small{font-size:18px;color:var(--dim);font-weight:400}#ammo .reload{color:var(--gold);font-size:12px;letter-spacing:2px;margin-top:2px;min-height:16px}#timer{position:absolute;top:16px;left:50%;transform:translate(-50%);text-align:center}#timer .t{font-family:var(--mono);font-size:30px;font-weight:700;letter-spacing:3px;text-shadow:0 2px 10px rgba(0,0,0,.7)}#timer .goal{font-size:11px;letter-spacing:3px;color:var(--dim)}#mini-score{position:absolute;left:204px;top:22px;width:196px;padding:10px 12px;font-size:12px}#mini-score .row{display:flex;justify-content:space-between;padding:2px 0;font-size:12px}#mini-score .row.me{color:#fff}#mini-score .row .k{color:var(--accent);font-family:var(--mono)}#mini-score .rank{color:var(--dim);font-size:10px;letter-spacing:2px;margin-bottom:4px}#feed{position:absolute;top:16px;right:24px;display:flex;flex-direction:column;gap:5px;align-items:flex-end}#feed .entry{display:flex;align-items:center;gap:8px;font-size:13px;padding:5px 12px;border-radius:4px;background:#0a0e14b8;border:1px solid rgba(255,255,255,.07);animation:feedIn .18s ease;backdrop-filter:blur(6px)}#feed .entry.out{animation:feedOut .25s ease forwards}#feed .entry .gun{font-size:10px;padding:1px 6px;border-radius:3px;letter-spacing:1px}#feed .entry .gun.m4{background:#7ea2ff29;color:var(--accent);border:1px solid rgba(126,162,255,.35)}#feed .entry .gun.dg{background:#f5b94224;color:var(--gold);border:1px solid rgba(245,185,66,.35)}#feed .entry .gun.op{background:#7edcff24;color:#7fe3ff;border:1px solid rgba(126,220,255,.35)}#feed .entry .gun.knife{background:#ffffff14;color:#e8ecf4;border:1px solid rgba(255,255,255,.25)}#feed .entry .hs{color:var(--gold);font-size:12px;font-weight:700}#feed .entry .killer{color:#ff7d8a;font-weight:700}#feed .entry .victim{color:var(--text)}#feed .entry.me{border-color:#7ea2ff73}@keyframes feedIn{0%{transform:translate(30px);opacity:0}to{transform:none;opacity:1}}@keyframes feedOut{to{transform:translate(30px);opacity:0}}#announce{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);text-align:center}#announce .big{font-size:46px;font-weight:800;letter-spacing:10px;text-shadow:0 0 30px rgba(126,162,255,.5),0 4px 14px rgba(0,0,0,.7);animation:pop .28s cubic-bezier(.2,1.6,.4,1);color:#fff}#announce .big.gold{color:var(--gold);text-shadow:0 0 30px rgba(245,185,66,.55),0 4px 14px rgba(0,0,0,.7)}#announce .big.streak{font-size:36px;letter-spacing:14px;color:#eaf2ff;text-shadow:0 0 26px rgba(126,162,255,.6),0 4px 14px rgba(0,0,0,.7)}#announce .big.ace{font-size:60px;letter-spacing:18px;background:linear-gradient(180deg,#fff3c4,#ffb347 45%,#ff5c6c);-webkit-background-clip:text;background-clip:text;color:transparent;animation:acePop .5s cubic-bezier(.18,1.6,.3,1),aceGlow 1.1s ease-in-out infinite alternate}#announce .sub2{font-size:13px;letter-spacing:4px;color:var(--dim);margin-top:8px}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes acePop{0%{transform:scale(.18) rotate(-6deg);opacity:0}55%{transform:scale(1.16);opacity:1}to{transform:scale(1)}}@keyframes aceGlow{0%{filter:drop-shadow(0 0 12px rgba(255,180,80,.6))}to{filter:drop-shadow(0 0 28px rgba(255,92,108,.95))}}#countdown{position:absolute;inset:0;display:none;align-items:center;justify-content:center;font-size:120px;font-weight:800;font-family:var(--mono);color:#fff;text-shadow:0 0 40px rgba(126,162,255,.7),0 6px 20px rgba(0,0,0,.6)}#countdown.go{color:var(--gold);text-shadow:0 0 40px rgba(245,185,66,.8),0 6px 20px rgba(0,0,0,.6)}#death{position:absolute;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(120,10,18,.28),transparent 70%)}#death .who{font-size:26px;letter-spacing:3px}#death .who b{color:var(--accent2)}#death .hs{color:var(--gold);font-size:15px;letter-spacing:6px}#death .timer{font-family:var(--mono);font-size:58px;font-weight:800;color:#fff;text-shadow:0 0 24px rgba(255,92,108,.6)}#end{position:absolute;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:#080b10db;backdrop-filter:blur(8px)}#end h1{font-size:44px;letter-spacing:12px;font-weight:800;color:var(--accent)}#end .stat-line{display:flex;gap:34px;margin-top:8px}#end .stat{text-align:center}#end .stat .v{font-family:var(--mono);font-size:30px;font-weight:700}#end .stat .l{font-size:11px;letter-spacing:3px;color:var(--dim);margin-top:4px}#end .mvp{font-size:15px;color:var(--gold);letter-spacing:2px;margin-bottom:8px}#end .rank-line{font-size:14px;color:var(--dim);letter-spacing:2px}#end .actions{display:flex;gap:14px;margin-top:22px}#pause{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#05080c8c;backdrop-filter:blur(6px)}#pause .panel{padding:34px 40px;display:flex;flex-direction:column;gap:12px;align-items:stretch}#pause h2{letter-spacing:8px;color:var(--accent);margin-bottom:6px;font-size:20px}#fade{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:40;transition:opacity .5s ease}#fps{position:absolute;right:10px;top:6px;font-family:var(--mono);font-size:11px;color:#8b95a8b3;z-index:7;display:none}#hint{position:absolute;bottom:90px;left:50%;transform:translate(-50%);font-size:12px;color:#e8ecf480;letter-spacing:2px;z-index:7;display:none;text-shadow:0 1px 6px rgba(0,0,0,.8)}#credit{position:absolute;bottom:8px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:1px;color:#e8ecf461;z-index:7;text-shadow:0 1px 4px rgba(0,0,0,.7)}#touch-ui{position:absolute;inset:0;z-index:20;display:none;pointer-events:none}body.touch #touch-ui.active{display:block}#move-zone{position:absolute;left:0;top:0;bottom:0;width:42%;pointer-events:auto;touch-action:none}#look-zone{position:absolute;right:0;top:0;bottom:0;width:58%;pointer-events:auto;touch-action:none}#joy-base{position:absolute;left:0;top:0;width:112px;height:112px;border-radius:50%;background:#7ea2ff1a;border:1px solid rgba(126,162,255,.32);opacity:0;transition:opacity .12s ease;pointer-events:none}#joy-knob{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:#e8ecf433;border:1px solid rgba(255,255,255,.38);box-shadow:0 0 16px #7ea2ff38}.tbtn{position:absolute;pointer-events:auto;touch-action:none;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(255,255,255,.22);background:#080b107a;color:#e8ecf4;font-family:var(--sans);font-weight:700;letter-spacing:.5px;line-height:1.05;padding:0 6px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.tbtn.on{border-color:var(--accent);background:#7ea2ff47;color:#fff}#action-cluster{position:absolute;right:calc(10px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:68px 76px 96px;grid-template-rows:60px 60px 60px 60px;gap:10px;grid-template-areas:"switch . ." "reload jump ." "crouch aim fire" ". . fire";pointer-events:none}#action-cluster .tbtn{position:static;width:100%;height:100%;border-radius:16px;transition:transform .05s ease,background .05s ease}#action-cluster .tbtn:active{transform:scale(.94);background:#7ea2ff4d}#action-cluster [data-btn=fire]{grid-area:fire;border-radius:20px;font-size:14px;background:#7ea2ff3d;border-color:#7ea2ff80}#action-cluster [data-btn=aim]{grid-area:aim}#action-cluster [data-btn=jump]{grid-area:jump}#action-cluster [data-btn=crouch]{grid-area:crouch}#action-cluster [data-btn=reload]{grid-area:reload;font-size:11px}#action-cluster [data-btn=switch]{grid-area:switch;font-size:11px}.tbtn[data-btn=pause]{right:calc(12px + env(safe-area-inset-right,0px));top:calc(12px + env(safe-area-inset-top,0px));width:54px;height:54px;border-radius:50%;font-size:11px}body.touch #menu .brand{font-size:46px;letter-spacing:8px}body.touch #menu .sub{font-size:12px;letter-spacing:4px;margin-bottom:22px}body.touch .btn{min-width:min(320px,82vw);padding:13px 22px}body.touch #menu .help{grid-template-columns:1fr;max-width:88vw;margin-top:26px;font-size:11px}body.touch #settings .panel{width:min(460px,94vw);max-height:min(88dvh,760px);padding:22px 18px;gap:14px}body.touch #settings .row{flex-wrap:wrap;gap:8px 12px}body.touch #settings .row>span:first-child{width:100%;font-size:12.5px}body.touch #settings .row input[type=range]{flex:1 1 auto}body.touch #settings .seg{flex-wrap:wrap}body.touch #settings .seg button{flex:1 1 auto;padding:7px 10px}body.touch #settings .swatches{flex-wrap:wrap}body.touch #end h1{font-size:30px;letter-spacing:6px}body.touch #end .stat-line{gap:16px;flex-wrap:wrap;justify-content:center}body.touch #end .stat .v{font-size:24px}body.touch #scoreboard .panel{min-width:0!important;width:94vw;overflow-x:auto}body.touch #feed{top:122px;left:14px;right:auto;align-items:flex-start}body.touch #fps{display:none!important}.mobile-hint{display:none;margin-top:8px;font-size:12px;letter-spacing:1px;text-align:center}.mobile-hint.rotate{color:var(--gold)}.mobile-hint.ios{color:var(--dim)}body.touch #menu .rotate,body.ios #menu .ios{display:block}@media (orientation: landscape){body.touch #menu .rotate{display:none}}
