.PlayerHUD { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; pointer-events: none; } .TopRight { position: absolute; top: 10px; right: 10px; display: flex; align-items: flex-start; gap: 6px; } .Compass { position: relative; width: 64px; height: 64px; flex-shrink: 0; } .CompassRing { position: absolute; top: 0; left: 0; width: 100%; height: 100%; image-rendering: auto; } .CompassNSEW { position: absolute; top: 0; left: 0; width: 100%; height: 100%; image-rendering: pixelated; } .Bars { display: flex; flex-direction: column; gap: 3px; padding-top: 10px; } .BarTrack { width: 120px; height: 10px; background: rgba(0, 0, 0, 0.5); border: 1px solid rgba(255, 255, 255, 0.15); overflow: hidden; } .BarFillHealth { height: 100%; background: #2ecc40; transition: width 0.15s ease-out; } .BarFillEnergy { height: 100%; background: #0af; transition: width 0.15s ease-out; } /* ── Weapon HUD (right side vertical list) ── */ .WeaponHUD { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 2px; } .WeaponSeparator { height: 6px; } /* ── Team Scores (bottom-left) ── */ .TeamScores { position: absolute; bottom: 8px; left: 8px; font-family: monospace; font-size: 12px; } .TeamRow { display: flex; gap: 6px; padding: 2px 8px; background: rgba(0, 50, 60, 0.65); } .TeamRow + .TeamRow { border-top: 1px solid rgba(128, 255, 200, 0.15); } .TeamNameFriendly { color: #2ecc40; min-width: 60px; } .TeamNameEnemy { color: #e44; min-width: 60px; } .TeamScore { color: #fff; min-width: 24px; text-align: right; font-weight: bold; } .TeamCount { color: #9ba; min-width: 24px; text-align: right; } /* ── Pack + Inventory HUD (bottom-right) ── */ .PackInventoryHUD { position: absolute; bottom: 8px; right: 8px; display: flex; align-items: center; gap: 4px; } .PackInvItem { display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(0, 50, 60, 0.65); border: 1px solid rgba(128, 255, 200, 0.15); padding: 4px; gap: 1px; } .PackInvItemActive { border-color: rgba(128, 255, 200, 0.5); box-shadow: 0 0 6px rgba(128, 255, 200, 0.3); } .PackInvItemDim { opacity: 0.5; } .PackInvIcon { display: block; image-rendering: pixelated; } .PackInvCount { font-family: monospace; font-size: 11px; color: #bfe; min-width: 12px; text-align: center; } .PackInvInfinity { display: block; image-rendering: pixelated; opacity: 0.8; } /* ── Reticle (center) ── */ .Reticle { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .ReticleImage { width: 64px; height: 64px; opacity: 0.85; image-rendering: pixelated; } .ReticleDot { width: 4px; height: 4px; border-radius: 50%; background: rgba(46, 204, 64, 0.7); box-shadow: 0 0 4px rgba(46, 204, 64, 0.5); }