:root{--bg:#070a09;--panel:rgba(8,13,11,.92);--panel2:rgba(18,24,21,.86);--line:#d0ad5a;--cyan:#78ddd2;--text:#edf1e9;--dim:#9ca69b;--hp:#d64b41;--hp2:#ef8a45;--ammo:#e4cd88;--good:#91c86f}
*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;background:#000;color:var(--text);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;user-select:none}
button,select,input{font:inherit}
button,a,select,input{outline-offset:3px}
#c{display:block;width:100%;height:100%;cursor:none}
.hidden{display:none!important}

.gamebar{position:fixed;z-index:60;left:0;right:0;top:0;height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(180deg,rgba(3,6,5,.94),rgba(3,6,5,.52),transparent);pointer-events:none}
.gamebar a,.gamebar button{pointer-events:auto}
.back,.bar-actions button{border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(8,12,11,.72);color:#dde5dc;text-decoration:none;padding:8px 12px;font-size:12px;font-weight:700;backdrop-filter:blur(8px);cursor:pointer}
.back:hover,.bar-actions button:hover{border-color:rgba(208,173,90,.72);color:#fff;background:rgba(208,173,90,.12)}
.brand{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:baseline;gap:10px;text-shadow:0 2px 10px #000}
.brand b{font-size:18px;letter-spacing:.22em}.brand span{font-size:11px;color:var(--line);letter-spacing:.14em}
.bar-actions{display:flex;align-items:center;gap:8px}.fps{font:700 10px/1 ui-monospace,Consolas,monospace;color:rgba(210,225,215,.52);min-width:48px;text-align:right}

.overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:70px 18px 22px;background:radial-gradient(ellipse at 50% 18%,rgba(87,142,158,.21),transparent 52%),linear-gradient(120deg,rgba(5,8,7,.75),rgba(8,12,10,.9));backdrop-filter:blur(8px);overflow:auto}
.panel{width:min(720px,96vw);padding:30px 36px 25px;background:linear-gradient(145deg,rgba(16,23,20,.96),rgba(7,11,9,.96));border:1px solid rgba(208,173,90,.33);border-radius:2px;box-shadow:0 28px 100px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.04);position:relative;overflow:hidden}
.panel:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(180deg,var(--line),transparent 70%)}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--cyan);text-transform:uppercase}.eyebrow i{width:22px;height:1px;background:rgba(120,221,210,.38)}
.panel h1{text-align:center;font-size:54px;line-height:1.05;margin:8px 0 2px;font-weight:900;letter-spacing:.27em;text-indent:.27em;color:#f4ead1;text-shadow:0 0 28px rgba(208,173,90,.24)}
.sub{text-align:center;color:var(--line);letter-spacing:.34em;text-indent:.34em;font-size:12px;margin-bottom:17px}
.brief{max-width:610px;margin:0 auto 17px;text-align:center;color:#b9c1b7;font-size:13px;line-height:1.75}.brief b{color:#f1db9d}
.mission-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);margin-bottom:17px}
.mission-strip div{padding:11px 14px;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:3px}.mission-strip div:last-child{border:0}.mission-strip span{font-size:9px;color:#788278;letter-spacing:.17em}.mission-strip b{font-size:13px;color:#e8eee6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.setup{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:10px;margin-bottom:17px}.setup label{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.22);font-size:10px;color:#9ca69b;letter-spacing:.06em}.setup input{grid-column:1/2;width:100%;accent-color:var(--line)}.setup output{grid-column:2;grid-row:1/3;color:#f0ddb0;font:700 12px ui-monospace,monospace}.setup select{grid-column:1/3;border:0;border-top:1px solid rgba(255,255,255,.08);padding-top:6px;background:#101512;color:#edf1e9;font-weight:700;font-size:12px;cursor:pointer}
.controls{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:17px}.controls li{padding:7px 4px;text-align:center;border:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.025);font-size:10px;color:#869087;white-space:nowrap}.controls b{display:block;color:#e3e9e1;font-size:11px;margin-bottom:2px}
.cta{display:block;width:100%;border:1px solid var(--line);padding:13px 18px;background:linear-gradient(90deg,rgba(208,173,90,.08),rgba(208,173,90,.2),rgba(208,173,90,.08));color:#f2dfa8;font-weight:900;letter-spacing:.35em;text-indent:.35em;cursor:pointer;transition:.18s}.cta:hover{background:var(--line);color:#15130d;box-shadow:0 0 28px rgba(208,173,90,.18)}.cta:disabled{opacity:.45;cursor:not-allowed}
.foot{text-align:center;margin-top:11px;font-size:10px;color:#667068;letter-spacing:.06em}

#hud{pointer-events:none}.objective{position:fixed;left:50%;top:68px;transform:translateX(-50%);z-index:5;width:220px;padding:8px 11px;background:rgba(7,11,9,.56);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px)}.objective>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:#bbc5ba;letter-spacing:.1em}.objective b{color:#f0deb0}.objective-bar{height:3px;background:rgba(255,255,255,.1);margin-top:6px;overflow:hidden}.objective-bar i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cyan),var(--line));transition:width .3s}
#timer{position:fixed;left:50%;top:114px;transform:translateX(-50%);z-index:5;color:rgba(230,237,230,.72);font:700 12px ui-monospace,Consolas,monospace;text-shadow:0 1px 8px #000}
#crosshair{position:fixed;left:50%;top:50%;width:0;height:0;z-index:5}#crosshair i{position:absolute;background:#f2f0e4;box-shadow:0 0 0 1px rgba(0,0,0,.55)}#crosshair .t,#crosshair .b{width:2px;height:9px;left:-1px}#crosshair .l,#crosshair .r{width:9px;height:2px;top:-1px}#crosshair .dot{width:2px;height:2px;left:-1px;top:-1px}
#hitmarker{position:fixed;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;z-index:6;opacity:0}#hitmarker:before,#hitmarker:after{content:"";position:absolute;left:10px;top:0;width:2px;height:22px;background:#fff;box-shadow:0 0 0 1px #000}#hitmarker:before{transform:rotate(45deg)}#hitmarker:after{transform:rotate(-45deg)}#hitmarker.show{opacity:1}#hitmarker.head{filter:brightness(1.4) saturate(.2)}
#hurt{position:fixed;inset:0;z-index:4;background:radial-gradient(ellipse at center,transparent 40%,rgba(140,16,12,.55));opacity:0;transition:opacity .12s}
.bottom{position:fixed;left:0;right:0;bottom:22px;z-index:5;display:flex;align-items:flex-end;justify-content:space-between;padding:0 28px;text-shadow:0 1px 6px rgba(0,0,0,.75)}.hp{display:flex;align-items:center;gap:10px;min-width:240px}.hp span,.nades{font-size:12px;letter-spacing:.2em;color:var(--dim)}.hp .bar{width:160px;height:10px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12);overflow:hidden}.hp .bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--hp),var(--hp2));transform-origin:left}.hp b{font-size:22px;font-variant-numeric:tabular-nums}.ammo{text-align:center}.ammo #wpn{font-size:13px;letter-spacing:.18em;color:var(--ammo);margin-bottom:2px}.ammo b{font-size:36px;line-height:1}.ammo span{color:var(--dim);font-size:16px}.nades{text-align:right;min-width:120px}.nades b{display:block;font-size:26px;color:var(--text);letter-spacing:0}
#slots{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:5;font-size:12px;color:var(--dim);line-height:1.8}#slots .on{color:var(--line)}#killfeed{position:fixed;top:68px;right:20px;z-index:5;font-size:13px;text-align:right;color:#efe7d0;text-shadow:0 1px 2px #000}#killfeed div{margin-bottom:4px}#hint{position:fixed;top:136px;left:50%;transform:translateX(-50%);z-index:5;font-size:11px;letter-spacing:.16em;color:#c8c2b0;text-shadow:0 1px 8px #000}#stats{position:fixed;top:68px;left:20px;z-index:5;font-size:13px;color:var(--dim)}#stats b{color:var(--text)}#mute-ind{position:fixed;bottom:88px;left:28px;z-index:5;font-size:12px;color:#d85b52;opacity:0;transition:opacity .2s}#mute-ind.on{opacity:1}#dmgnum{position:fixed;left:50%;top:42%;transform:translate(-50%,-50%);z-index:7;font-weight:700;font-size:18px;color:#fff;text-shadow:0 0 8px #000;opacity:0}

.result{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:rgba(14,5,5,.68);backdrop-filter:blur(8px)}.result-card{width:min(430px,92vw);padding:34px;text-align:center;background:rgba(13,17,15,.97);border:1px solid rgba(220,95,80,.5);box-shadow:0 25px 80px #000}.result-card>span{font-size:10px;letter-spacing:.25em;color:#df796c}.result-card h2{font-size:36px;margin:7px 0 8px;letter-spacing:.16em;text-indent:.16em}.result-card p{color:#aab3aa;font-size:13px;line-height:1.7;margin-bottom:20px}.result-card button,.result-card a{display:inline-block;min-width:130px;padding:11px 16px;border:1px solid var(--line);background:rgba(208,173,90,.12);color:#f2dfa8;text-decoration:none;font-weight:800;cursor:pointer}.result-card.victory{border-color:rgba(120,221,210,.5)}.result-card.victory>span{color:var(--cyan)}.result-actions{display:flex;gap:8px;justify-content:center}
#toast{position:fixed;z-index:90;left:50%;bottom:110px;transform:translate(-50%,16px);padding:9px 14px;border:1px solid rgba(255,255,255,.12);background:rgba(5,8,7,.86);color:#edf2ed;font-size:12px;opacity:0;transition:.2s;pointer-events:none;backdrop-filter:blur(8px)}#toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:760px){.brand{display:none}.fps{display:none}.gamebar{padding:0 10px}.panel{padding:25px 20px}.panel h1{font-size:44px}.setup{grid-template-columns:1fr 1fr}.setup label:first-child{grid-column:1/3}.controls{grid-template-columns:repeat(2,1fr)}.mission-strip b{font-size:11px}.bottom{padding:0 14px}.hp{min-width:0}.hp .bar{width:80px}.nades{min-width:55px}#slots{display:none}}
@media(pointer:coarse){#deviceNote{color:#e1a76d}.cta:disabled{background:rgba(180,80,55,.14);border-color:#a75a48}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
