﻿/* v49 unified commercial mobile/desktop pass */
body.v49-unified #v42Lobby{position:fixed!important;inset:0!important;z-index:180!important;background:radial-gradient(circle at 78% 18%,rgba(247,209,122,.12),transparent 28%),linear-gradient(120deg,#05070c,#0b121d 58%,#05070c)!important;color:#eef6ff!important;font-family:Arial,'Microsoft YaHei',sans-serif!important;overflow:hidden!important}
body.v49-unified #v42Lobby.hidden{display:none!important}
.v49-shell{height:100%;box-sizing:border-box;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(130px,18vw) 1fr;gap:12px}.v49-side{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.v49-brand{display:flex;align-items:center;gap:8px;font-weight:900}.v49-brand i{width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,#fff,#ef4f64);color:#111;display:grid;place-items:center;font-style:normal}.v49-title{margin:10px 0 0;font-size:clamp(28px,6vh,56px);line-height:.92;letter-spacing:-.07em}.v49-title em{display:block;color:#ef4f64;font-style:normal}.v49-sub{font-size:12px;line-height:1.55;color:#aebdca}.v49-skill-note{align-self:end;border:1px solid rgba(66,231,202,.22);background:rgba(66,231,202,.07);border-radius:14px;padding:10px;font-size:11px;color:#bff}.v49-skill-note b{display:block;color:#fff;margin-bottom:5px}.v49-steps{display:grid;gap:7px}.v49-step{height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);color:#8493a3}.v49-step.on{background:linear-gradient(135deg,#f7d17a,#a77a20);color:#101217;font-weight:900}.v49-main{min-width:0;display:grid;grid-template-rows:auto 1fr auto;gap:10px}.v49-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.v49-head h2{margin:0;font-size:clamp(22px,5vh,38px)}.v49-current{font-size:12px;color:#98a8b6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v49-grid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:1px 2px 5px}.v49-step-weapon .v49-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.v49-card{text-align:left;min-height:84px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:linear-gradient(145deg,rgba(19,28,40,.94),rgba(6,10,16,.88));color:#eef6ff;padding:12px;position:relative;overflow:hidden}.v49-card:after{content:'';position:absolute;right:-38px;bottom:-44px;width:110px;height:110px;border-radius:50%;background:var(--c,#ef4f64);opacity:.13}.v49-card.on{border-color:#f7d17a;box-shadow:0 0 0 1px rgba(247,209,122,.3),0 14px 30px rgba(0,0,0,.22)}.v49-card span{display:block;color:#f7d17a;font-size:10px;letter-spacing:.12em}.v49-card strong{display:block;margin-top:9px;font-size:clamp(16px,3vh,28px);line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v49-card small{display:block;margin-top:6px;color:#9cacba;font-size:11px;line-height:1.35}.v49-actions{display:grid;grid-template-columns:96px 1fr;gap:10px}.v49-btn{height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#dce8f2;font-weight:900}.v49-btn.primary{border:0;background:linear-gradient(135deg,#ef4f64,#ff8b4a);color:#fff}.v49-btn:disabled{opacity:.25}body.v49-unified .menu-screen,body.v49-unified .loadout-screen{display:none!important}body.three-runtime .zf44-gun{display:none!important}#perfChipV25,#zfAudioChip,.perf-chip-v25{display:none!important}
@media(orientation:landscape){body.v49-unified .hud-bottom{left:max(8px,env(safe-area-inset-left))!important;bottom:max(7px,env(safe-area-inset-bottom))!important;display:flex!important;gap:8px!important;transform:scale(.78)!important;transform-origin:left bottom!important;max-width:42vw!important;z-index:74!important}body.v49-unified .weapon-readout{position:fixed!important;right:max(94px,env(safe-area-inset-right))!important;bottom:max(7px,env(safe-area-inset-bottom))!important;transform:scale(.74)!important;transform-origin:right bottom!important;z-index:74!important;max-width:230px!important}body.v49-unified .health-wrap{min-width:190px!important}body.v49-unified .ability-bar{bottom:max(8px,env(safe-area-inset-bottom))!important;left:50%!important;transform:translateX(-50%) scale(.72)!important;z-index:73!important;gap:6px!important}body.v49-unified .ability{width:58px!important;height:42px!important;font-size:9px!important;border-radius:8px!important;opacity:.78!important}body.v49-unified .ability b{font-size:15px!important}body.v49-unified .action-buttons{right:max(8px,env(safe-area-inset-right))!important;bottom:max(8px,env(safe-area-inset-bottom))!important;transform:scale(.72)!important;transform-origin:right bottom!important;z-index:76!important;gap:6px!important}body.v49-unified .action-button{width:48px!important;height:48px!important;opacity:.76!important}body.v49-unified .fire-button{width:70px!important;height:70px!important;opacity:.82!important}body.v49-unified .joystick{width:98px!important;height:98px!important;left:max(12px,env(safe-area-inset-left))!important;bottom:max(70px,env(safe-area-inset-bottom))!important;opacity:.42!important}body.v49-unified .hud-top{transform:scale(.82)!important;transform-origin:top center!important;z-index:70!important}body.v49-unified .scoreboard{position:fixed!important;left:max(8px,env(safe-area-inset-left))!important;top:max(6px,env(safe-area-inset-top))!important}body.v49-unified .match-meta{position:fixed!important;left:50%!important;top:max(6px,env(safe-area-inset-top))!important;transform:translateX(-50%)!important}body.v49-unified #pauseButton{position:fixed!important;right:max(8px,env(safe-area-inset-right))!important;top:max(6px,env(safe-area-inset-top))!important}.v49-card small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.v49-step-weapon .v49-card small{white-space:nowrap;display:block}.v49-step-weapon .v49-card{min-height:68px;padding:9px}.v49-step-weapon .v49-card strong{font-size:15px}.v49-shell{grid-template-columns:126px 1fr;gap:9px}.v49-grid{gap:7px}.v49-title{font-size:26px}.v49-sub{display:none}.v49-skill-note{font-size:10px;padding:8px}.v49-head h2{font-size:22px}.v49-card{min-height:62px;padding:8px}.v49-card strong{font-size:16px;margin-top:5px}.v49-card small{font-size:9px;margin-top:4px}.v49-actions{grid-template-columns:82px 1fr}.v49-btn{height:34px}}
@media(max-height:340px) and (orientation:landscape){.v49-shell{padding:6px 8px;grid-template-columns:112px 1fr}.v49-brand{font-size:12px}.v49-brand i{width:25px;height:25px}.v49-title{font-size:22px}.v49-skill-note{display:none}.v49-step{height:25px;font-size:11px}.v49-main{gap:6px}.v49-head h2{font-size:18px}.v49-card{min-height:52px;border-radius:11px;padding:7px}.v49-card strong{font-size:13px}.v49-card small{font-size:8px}.v49-btn{height:30px}.v49-grid{gap:5px}.v49-step-weapon .v49-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(orientation:portrait){.v49-shell{grid-template-columns:1fr;overflow:auto}.v49-grid,.v49-step-weapon .v49-grid{grid-template-columns:1fr}.v49-title{font-size:42px}}
/* v49.1 HUD non-overlap + joystick fixed */
@media(orientation:landscape){body.v49-unified .hud-bottom{position:fixed!important;left:max(8px,env(safe-area-inset-left))!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;transform:none!important;display:block!important;z-index:74!important}body.v49-unified .hud-bottom .health-wrap{transform:scale(.72)!important;transform-origin:left bottom!important;min-width:190px!important}body.v49-unified .hud-bottom .weapon-readout{position:fixed!important;left:auto!important;right:max(94px,env(safe-area-inset-right))!important;bottom:max(8px,env(safe-area-inset-bottom))!important;transform:scale(.70)!important;transform-origin:right bottom!important;max-width:230px!important;z-index:75!important}body.v49-unified .joystick{position:fixed!important;left:max(12px,env(safe-area-inset-left))!important;top:auto!important;right:auto!important;bottom:max(64px,env(safe-area-inset-bottom))!important;width:96px!important;height:96px!important;opacity:.38!important;z-index:76!important}body.v49-unified .ability-bar{bottom:max(6px,env(safe-area-inset-bottom))!important;transform:translateX(-50%) scale(.66)!important;opacity:.84!important}body.v49-unified .action-buttons{position:fixed!important;right:max(8px,env(safe-area-inset-right))!important;bottom:max(7px,env(safe-area-inset-bottom))!important;transform:scale(.68)!important}.v49-current{max-width:62vw}}
/* v49.2 move weapon info away from fire buttons */
@media(orientation:landscape){body.v49-unified .hud-bottom .weapon-readout{right:max(54px,env(safe-area-inset-right))!important;top:max(58px,env(safe-area-inset-top))!important;bottom:auto!important;transform:scale(.66)!important;opacity:.82!important;max-width:250px!important}body.v49-unified .hud-bottom{pointer-events:none!important}body.v49-unified .hud-bottom .weapon-readout{pointer-events:none!important}body.v49-unified .hud-bottom .health-wrap{pointer-events:none!important}body.v49-unified .action-buttons,body.v49-unified .joystick,body.v49-unified .ability-bar{pointer-events:auto!important}}
/* v50 ad modal + cleaner HUD */
.zf-ad-modal{position:fixed;inset:0;z-index:260;display:grid;place-items:center;background:rgba(0,0,0,.55);backdrop-filter:blur(8px)}.zf-ad-modal.hidden{display:none!important}.zf-ad-card{width:min(420px,82vw);border:1px solid rgba(247,209,122,.35);border-radius:20px;background:linear-gradient(145deg,rgba(10,16,26,.96),rgba(24,18,12,.94));box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 30px rgba(247,209,122,.12);padding:22px;color:#eef6ff;text-align:left}.zf-ad-tag{color:#f7d17a;font:800 11px Arial;letter-spacing:.18em}.zf-ad-card h2{margin:10px 0 8px;font-size:28px}.zf-ad-card p{margin:0 0 18px;color:#afbfcc;line-height:1.55}.zf-ad-actions{display:grid;grid-template-columns:1fr 110px;gap:10px}.zf-ad-actions button{height:42px;border-radius:13px;font-weight:900}@media(orientation:landscape){body.v49-unified .ability-bar{transform:translateX(-50%) scale(.58)!important;bottom:max(4px,env(safe-area-inset-bottom))!important;opacity:.72!important}body.v49-unified .ability{width:54px!important;height:38px!important}body.v49-unified .hud-bottom .health-wrap{transform:scale(.64)!important;opacity:.78!important}body.v49-unified .action-buttons{transform:scale(.63)!important;opacity:.84!important}.zf-ad-card{padding:18px;width:min(380px,70vw)}.zf-ad-card h2{font-size:24px}.zf-ad-actions{grid-template-columns:1fr 100px}.zf-ad-actions button{height:38px}}

/* v55 audible combat feedback + brighter commercial HUD */
.zf-kill-flash{position:fixed;inset:0;z-index:155;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(247,209,122,.22),transparent 26%),linear-gradient(90deg,rgba(239,79,100,.15),transparent 26%,transparent 74%,rgba(239,79,100,.15));opacity:0;transition:opacity .28s ease}.zf-kill-flash.on{opacity:1;animation:zfKillFlashV55 .62s ease-out}.zf-kill-badge{position:fixed;left:50%;top:17%;transform:translate(-50%,-20px) scale(.92);z-index:156;pointer-events:none;display:flex;align-items:center;gap:11px;padding:10px 18px;border-radius:999px;border:1px solid rgba(247,209,122,.48);background:linear-gradient(135deg,rgba(8,12,18,.92),rgba(43,20,18,.9));box-shadow:0 18px 45px rgba(0,0,0,.45),0 0 30px rgba(247,209,122,.20);color:#fff;opacity:0;transition:opacity .18s ease,transform .18s ease}.zf-kill-badge.on{opacity:1;transform:translate(-50%,0) scale(1)}.zf-kill-badge .skull{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#f7d17a,#ef4f64);color:#101217;font-size:22px;font-weight:900}.zf-kill-badge b{font-size:18px;letter-spacing:.08em;color:#f7d17a}.zf-kill-badge small{font-size:12px;color:#b9c8d5;white-space:nowrap}@keyframes zfKillFlashV55{0%{opacity:0;filter:blur(0)}18%{opacity:1}100%{opacity:0}}
@media(orientation:landscape){body.v49-unified .joystick{width:132px!important;height:132px!important;left:max(18px,env(safe-area-inset-left))!important;bottom:max(76px,env(safe-area-inset-bottom))!important;opacity:.72!important;border:2px solid rgba(110,245,255,.55)!important;box-shadow:0 0 28px rgba(66,231,202,.22),inset 0 0 24px rgba(66,231,202,.14)!important;background:rgba(4,18,24,.38)!important}body.v49-unified .joystick-knob{width:58px!important;height:58px!important;background:rgba(160,245,255,.28)!important;border:1px solid rgba(195,255,255,.65)!important;box-shadow:0 0 20px rgba(66,231,202,.30)!important}body.v49-unified .action-buttons{display:grid!important;grid-template-columns:58px 58px!important;grid-template-areas:'fire fire' 'reload ads'!important;right:max(18px,env(safe-area-inset-right))!important;bottom:max(18px,env(safe-area-inset-bottom))!important;transform:none!important;gap:9px!important;opacity:1!important}body.v49-unified #fireButton{grid-area:fire!important;width:112px!important;height:86px!important;border-radius:28px!important;font-size:18px!important;box-shadow:0 0 28px rgba(239,79,100,.48)!important;opacity:.96!important}body.v49-unified #reloadButton{grid-area:reload!important;width:58px!important;height:58px!important;opacity:.9!important}body.v49-unified #adsButton{grid-area:ads!important;width:58px!important;height:58px!important;opacity:.9!important}body.v49-unified .crosshair{filter:drop-shadow(0 0 8px rgba(247,209,122,.9))!important;opacity:.95!important}body.v49-unified .ability-bar{bottom:max(8px,env(safe-area-inset-bottom))!important;transform:translateX(-50%) scale(.76)!important;opacity:.92!important}.zf-kill-badge{top:14%;padding:8px 15px}.zf-kill-badge b{font-size:16px}.zf-kill-badge small{font-size:11px}}

/* v56 lobby selection effects */
.v49-card,.v49-step,.v49-btn{position:relative;overflow:hidden}.v49-card:before,.v49-step:before,.v49-btn:before{content:'';position:absolute;inset:-40% auto -40% -70%;width:46%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}.v49-card.v56-pop:before,.v49-step.v56-pop:before,.v49-btn.v56-pop:before{animation:v56MenuSweep .48s ease-out}.v49-card.v56-pop,.v49-step.v56-pop,.v49-btn.v56-pop{animation:v56MenuPop .22s ease-out}.v49-card.on{background:linear-gradient(145deg,rgba(24,34,48,.98),rgba(9,12,18,.96))!important;box-shadow:0 0 0 1px rgba(247,209,122,.55),0 0 26px rgba(247,209,122,.16),0 18px 42px rgba(0,0,0,.36)!important}.v49-card.on:after{opacity:.22!important;filter:blur(1px)}@keyframes v56MenuSweep{0%{left:-80%;opacity:0}18%{opacity:1}100%{left:130%;opacity:0}}@keyframes v56MenuPop{0%{transform:scale(.985)}60%{transform:scale(1.018)}100%{transform:scale(1)}}
.zf-music-hint{position:fixed;right:max(10px,env(safe-area-inset-right));top:max(42px,env(safe-area-inset-top));z-index:160;padding:7px 10px;border-radius:999px;background:rgba(7,18,24,.72);border:1px solid rgba(66,231,202,.24);color:#c9fff6;font:800 11px Arial,'Microsoft YaHei';pointer-events:none;opacity:.0;transition:opacity .25s}.zf-music-hint.on{opacity:.9}

/* v57 bright crosshair + transparent magnified scope */
body.v49-unified .crosshair{width:42px!important;height:42px!important;opacity:1!important;z-index:158!important;filter:drop-shadow(0 0 8px rgba(247,209,122,1)) drop-shadow(0 0 16px rgba(255,120,60,.55))!important}.crosshair i{background:#ffd86a!important;box-shadow:0 0 7px #ffd86a,0 0 13px rgba(255,120,48,.9)!important}.crosshair i:nth-child(1),.crosshair i:nth-child(2){width:14px!important;height:3px!important;top:20px!important}.crosshair i:nth-child(3),.crosshair i:nth-child(4){height:14px!important;width:3px!important;left:20px!important}.crosshair span{left:18px!important;top:18px!important;width:6px!important;height:6px!important;background:#fff2a8!important;box-shadow:0 0 9px #ffd86a!important}.crosshair.ads{transform:translate(-50%,-50%) scale(.62)!important;opacity:.82!important}.scope-overlay{z-index:154!important;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.04) 0 22%,rgba(90,185,255,.08) 23% 34%,rgba(0,0,0,.36) 35% 100%)!important;backdrop-filter:contrast(1.08) saturate(1.12)!important}.scope-ring{width:min(74vh,68vw)!important;height:min(74vh,68vw)!important;border:2px solid rgba(127,220,255,.76)!important;box-shadow:0 0 0 9999px rgba(0,0,0,.24),0 0 28px rgba(127,220,255,.30),inset 0 0 28px rgba(127,220,255,.14)!important;background:radial-gradient(circle,rgba(255,255,255,.035),rgba(127,220,255,.06) 44%,rgba(0,0,0,.04) 64%,transparent 66%)!important}.scope-ring:before{content:'倍率瞄准';position:absolute;left:50%;top:12%;transform:translateX(-50%);font:800 11px Arial,'Microsoft YaHei';letter-spacing:.18em;color:rgba(247,209,122,.78);text-shadow:0 0 8px rgba(247,209,122,.5)}.scope-cross:before,.scope-cross:after{background:rgba(247,209,122,.75)!important;box-shadow:0 0 8px rgba(247,209,122,.8)!important}.scope-cross:before{width:min(74vh,68vw)!important;height:1px!important}.scope-cross:after{height:min(74vh,68vw)!important;width:1px!important}.scope-cross{position:absolute;inset:0}.scope-overlay:not(.hidden)~.crosshair{opacity:.35!important}
@media(orientation:landscape){body.v49-unified .crosshair{width:46px!important;height:46px!important}.crosshair i:nth-child(1),.crosshair i:nth-child(2){top:22px!important}.crosshair i:nth-child(3),.crosshair i:nth-child(4){left:22px!important}.crosshair span{left:20px!important;top:20px!important}}

/* v58 in-game exit and permanent visible controls */
#zfExitMatchV58{display:none;position:fixed;right:max(18px,env(safe-area-inset-right));top:max(58px,env(safe-area-inset-top));z-index:230;width:74px;height:38px;border-radius:13px;border:1px solid rgba(247,209,122,.55);background:linear-gradient(135deg,rgba(9,14,20,.86),rgba(55,29,20,.84));color:#fff;box-shadow:0 0 18px rgba(247,209,122,.18);font:900 13px Arial,'Microsoft YaHei';pointer-events:auto}#zfExitMatchV58 small{display:block;font-size:9px;color:#f7d17a;line-height:1}#zfExitMatchV58.on{display:block}.zf58-playing .joystick,body.v49-unified.zf58-playing .joystick{display:block!important;visibility:visible!important;opacity:.88!important;z-index:235!important;pointer-events:auto!important;filter:drop-shadow(0 0 18px rgba(66,231,202,.55))!important}.zf58-playing .action-buttons,body.v49-unified.zf58-playing .action-buttons{z-index:236!important;visibility:visible!important}.zf58-playing .ability-bar{z-index:232!important}.zf58-playing .scope-overlay{z-index:150!important;pointer-events:none!important}.zf58-playing .zf-kill-flash,.zf58-playing .zf-kill-badge{pointer-events:none!important}.zf58-playing .hud:not(.hidden){display:block!important}@media(orientation:landscape){#zfExitMatchV58{top:max(50px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:70px;height:36px}.zf58-playing .joystick{width:132px!important;height:132px!important;left:max(18px,env(safe-area-inset-left))!important;bottom:max(76px,env(safe-area-inset-bottom))!important}}

/* v59 persistent music button */
#zfMusicButtonV59{position:fixed;right:max(96px,env(safe-area-inset-right));top:max(58px,env(safe-area-inset-top));z-index:231;width:76px;height:38px;border-radius:13px;border:1px solid rgba(66,231,202,.50);background:linear-gradient(135deg,rgba(7,18,24,.88),rgba(10,26,34,.82));color:#dffff9;box-shadow:0 0 18px rgba(66,231,202,.16);font:900 13px Arial,'Microsoft YaHei';pointer-events:auto}#zfMusicButtonV59 small{display:block;font-size:9px;color:#f7d17a;line-height:1}#zfMusicButtonV59.on{border-color:rgba(66,231,202,.9);box-shadow:0 0 24px rgba(66,231,202,.38);background:linear-gradient(135deg,rgba(10,42,40,.92),rgba(7,18,24,.88))}#zfMusicButtonV59.need{animation:zfMusicNeedV59 1.1s infinite}@keyframes zfMusicNeedV59{0%,100%{transform:scale(1);box-shadow:0 0 12px rgba(247,209,122,.22)}50%{transform:scale(1.04);box-shadow:0 0 28px rgba(247,209,122,.45)}}@media(orientation:landscape){#zfMusicButtonV59{top:max(50px,env(safe-area-inset-top));right:max(88px,env(safe-area-inset-right));width:72px;height:36px}}

/* v60 global scene beauty pass: brighter canvas, richer colors */
#gameCanvas{filter:brightness(1.16) saturate(1.18) contrast(1.04)!important;background:#b7cdda!important}.app-shell:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),transparent 38%),linear-gradient(180deg,rgba(255,244,216,.035),rgba(120,210,255,.025));mix-blend-mode:screen}.hud,.screen,.modal-screen,#v42Lobby,#threeLoader{z-index:2}.hud{z-index:20!important}#v42Lobby{z-index:180!important}.modal-screen{z-index:220!important}

/* v61 snow readability and scope stronger zoom feel */
body.zf-map-snow #gameCanvas{filter:brightness(.96) saturate(1.08) contrast(1.16)!important;background:#9fb9c8!important}.zf-map-snow .app-shell:after{background:linear-gradient(180deg,rgba(80,130,160,.03),rgba(0,0,0,.04))!important}.scope-overlay:not(.hidden){animation:zfScopePopV61 .16s ease-out}.scope-ring{transform:translate(-50%,-50%) scale(1.04)!important}@keyframes zfScopePopV61{from{transform:scale(1.04);opacity:.3}to{transform:scale(1);opacity:1}}
