/* === DANGER ROYALE — AAA+ PREMIUM TACTICAL SCI-FI HUD === */ @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@400;500;600;700&family=Exo+2:wght@300;400;500;600;700;900&display=swap'); /* === PREMIUM CYBERPUNK / MILITARY TECH COLOR PALETTE === */ :root { --bg-deep: #05070a; --bg-panel: rgba(10, 14, 18, 0.45); --bg-panel-strong: rgba(5, 7, 10, 0.85); --border-tactical: rgba(0, 229, 255, 0.2); --border-tactical-strong: #00e5ff; --accent-orange: #ff6500; --accent-blue: #00e5ff; --accent-blue-glow: 0, 229, 255; --orange-glow: 255, 101, 0; --text-primary: #e0e0e0; --text-secondary: #a0a0a8; --panel-glow: 0 0 15px rgba(0, 229, 255, 0.15), inset 0 0 15px rgba(0, 229, 255, 0.05); --panel-glow-hover: 0 0 25px rgba(0, 229, 255, 0.35), inset 0 0 20px rgba(0, 229, 255, 0.1); --orange-panel-glow: 0 0 15px rgba(255, 101, 0, 0.25); --orange-panel-glow-hover: 0 0 25px rgba(255, 101, 0, 0.45); } /* === CINEMATIC BACKGROUND & CRT SCAN OVERLAY === */ body, html { margin: 0; padding: 0; width: 100vw; height: 100vh; overflow: hidden; position: fixed; background-image: url('bg.png'); background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; font-family: 'Exo 2', 'Orbitron', 'Courier New', Courier, monospace; color: var(--text-primary); box-sizing: border-box; } /* CRT scanning grid overlay — subtle military monitor scan lines */ body::before { content: ""; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: repeating-linear-gradient( 0deg, transparent, transparent 3px, rgba(0, 229, 255, 0.01) 3px, rgba(0, 229, 255, 0.01) 6px ), repeating-linear-gradient( 90deg, transparent, transparent 3px, rgba(0, 229, 255, 0.005) 3px, rgba(0, 229, 255, 0.005) 6px ), radial-gradient(ellipse at center, rgba(5, 7, 10, 0.8) 0%, rgba(0, 0, 0, 0.95) 100%); opacity: 0.35; z-index: -2; pointer-events: none; animation: scanlineShift 15s linear infinite; } @keyframes scanlineShift { 0% { background-position: 0 0, 0 0, center; } 100% { background-position: 0 1000px, 1000px 0, center; } } /* === HAZMOB-STYLE THREE-COLUMN TACTICAL GRID LAYOUT === */ #app-root { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; display: grid; grid-template-columns: 320px 1fr 320px; grid-template-rows: 1fr; gap: 0; background: transparent; overflow: hidden; padding: 0; box-sizing: border-box; font-family: 'Exo 2', 'Orbitron', monospace; z-index: 1; } /* Left Column: Control & Login Deck */ #app-root > .left-sidebar { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; height: 100vh; padding: 20px; box-sizing: border-box; gap: 16px; position: relative; z-index: 10; background: var(--bg-panel-strong); backdrop-filter: blur(20px) saturate(180%); border-right: 1px solid var(--border-tactical); } /* Center Column: Arena Viewport (cinematic hero element) */ #app-root > #main-viewport-canvas-container { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100vh; padding: 20px; box-sizing: border-box; position: relative; z-index: 5; overflow: hidden; } /* Right Column: Telemetry & Statistics Deck */ #app-root > .right-column, #app-root > #panel-stats, #app-root > .bottom-dashboard { grid-column: 3; grid-row: 1; display: flex; flex-direction: column; height: 100vh; padding: 20px; box-sizing: border-box; gap: 16px; position: relative; z-index: 10; overflow-y: auto; } #app-root > #panel-stats { grid-column: 3; grid-row: 1; } /* Bottom Dashboard fallback when 3-column mode is unavailable */ #app-root > .bottom-dashboard { grid-column: 1 / -1; grid-row: 2; flex-direction: row; } /* === GLASSMORPHISM HUD UNITS === */ .glass-hud, .mp-item-card, .dev-panel, .marketplace-panel, .settings-modal, .mp-modal, .servers-feed, .character-showcase, .login-top-left { background: var(--bg-panel); border: 1px solid var(--border-tactical); backdrop-filter: blur(20px) saturate(180%); box-shadow: var(--panel-glow); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); } /* Glassmorphism on hover — intensify glow */ .glass-hud:hover, .mp-item-card:hover { box-shadow: var(--panel-glow-hover); transform: translateY(-2px); border-color: var(--border-tactical-strong); } /* === LOGIN HUB === */ .login-top-left { width: 100%; box-sizing: border-box; } .login-panel { display: flex; flex-direction: column; gap: 12px; } .login-title { text-align: center; font-family: 'Orbitron', monospace; font-size: 16px; font-weight: 900; color: var(--accent-orange); letter-spacing: 2px; text-transform: uppercase; margin: 0; text-shadow: 0 0 12px rgba(255, 101, 0, 0.5); padding-bottom: 10px; border-bottom: 1px solid var(--border-tactical); } .login-btn { display: flex; align-items: center; justify-content: center; gap: 8px; font-family: 'Orbitron', monospace; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 12px 16px; border: 2px solid var(--border-tactical); border-radius: 0; background: rgba(10, 14, 18, 0.6); color: var(--accent-orange); cursor: pointer; transition: all 0.25s ease; width: 100%; box-sizing: border-box; } .login-btn:hover { transform: scale(1.02); background: var(--bg-panel-strong); border-color: var(--accent-orange); box-shadow: var(--orange-panel-glow-hover); } .steam-btn { border-color: var(--accent-blue); color: var(--accent-blue); } .steam-btn:hover { border-color: var(--accent-orange); color: var(--accent-orange); } .google-btn { border-color: var(--accent-orange); color: var(--accent-orange); } .google-btn:hover { border-color: var(--accent-blue); color: var(--accent-blue); } .cancel-btn { background: rgba(255, 101, 0, 0.15); color: var(--accent-orange); border: 1px solid var(--accent-orange); } .cancel-btn:hover { background: rgba(255, 101, 0, 0.3); box-shadow: var(--orange-panel-glow-hover); } /* === PROFILE PANEL === */ .profile-panel { display: flex; flex-direction: column; gap: 12px; } .profile-pic { width: 64px; height: 64px; border-radius: 0; border: 2px solid var(--border-tactical-strong); box-shadow: 0 0 10px rgba(0, 229, 255, 0.3); } #wallet-display { margin-top: 8px; padding: 6px 8px; background: rgba(0, 0, 0, 0.3); border: 1px solid var(--border-tactical); text-align: center; } #wallet-amount { color: var(--accent-orange); font-weight: 700; } /* === TACTICAL NAVIGATION === */ .tactical-nav { flex: 1; width: 100%; overflow-y: auto; } .nav-list { list-style: none; margin: 0; padding: 0; background: var(--bg-panel); border: 1px solid var(--border-tactical); border-radius: 0; box-shadow: var(--panel-glow); overflow: hidden; padding: 8px 0; display: flex; flex-direction: column; gap: 4px; } .nav-item { display: flex; align-items: center; gap: 10px; padding: 10px 16px; cursor: pointer; border-left: 3px solid transparent; transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1); font-family: 'Orbitron', monospace; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--text-secondary); position: relative; overflow: hidden; } .nav-item:hover { border-left-color: var(--accent-orange); color: var(--accent-orange); background: rgba(255, 101, 0, 0.05); box-shadow: var(--orange-panel-glow-hover); } .nav-item.active { border-left-color: var(--accent-orange); color: var(--accent-orange); background: rgba(255, 101, 0, 0.1); box-shadow: inset 0 0 10px rgba(255, 101, 0, 0.3); } .nav-icon { font-family: 'Orbitron', monospace; font-weight: 700; color: var(--accent-orange); font-size: 14px; min-width: 24px; text-align: center; } .nav-label { font-size: 12px; letter-spacing: 1px; } /* Admin trigger (bottom left) */ #admin-trigger-container { display: flex; flex-direction: column; gap: 8px; width: 100%; } #dev-panel-trigger { font-size: 11px; padding: 8px 12px; } /* === TACTICAL BUTTONS — sharp 0px border-radius === */ .tactical-btn, .mp-buy-btn, .mp-buyorder-btn, .mp-sell-btn, .mp-btn, .mp-tier-btn, .mp-legal-checkbox input[type="checkbox"] + label, .connect-btn, .mp-claim-btn, .mp-recharge-btn { font-family: 'Orbitron', monospace; font-weight: 700; text-transform: uppercase; cursor: pointer; border-radius: 0; border-radius: 0px; border: 1px solid var(--border-tactical); padding: 8px 14px; font-size: 11px; letter-spacing: 0.5px; transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1); position: relative; overflow: hidden; } .tactical-btn { display: inline-flex; align-items: center; gap: 6px; border: 2px solid var(--border-tactical); } .tactical-btn.primary-btn { background: rgba(255, 101, 0, 0.15); color: var(--accent-orange); border-color: var(--accent-orange); } .tactical-btn.primary-btn:hover { background: rgba(255, 101, 0, 0.3); border-color: var(--border-tactical-strong); box-shadow: var(--orange-panel-glow-hover); transform: scale(1.02); clip-path: polygon(0 0, 100% 0, 100% 85%, 85% 100%, 0 100%); } .tactical-btn.secondary-btn { background: rgba(0, 229, 255, 0.1); color: var(--accent-blue); border-color: var(--accent-blue); } .tactical-btn.secondary-btn:hover { background: rgba(0, 229, 255, 0.2); border-color: var(--border-tactical-strong); box-shadow: var(--panel-glow-hover); transform: scale(1.02); clip-path: polygon(0 0, 100% 0, 100% 85%, 85% 100%, 0 100%); } /*.hud-action-btn — legacy tactical button */ .hud-action-btn { font-family: 'Orbitron', monospace; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; border-radius: 0; padding: 8px 12px; font-size: 11px; border: 1px solid var(--border-tactical); background: var(--bg-panel); color: var(--accent-orange); cursor: pointer; transition: all 0.25s ease; display: inline-flex; align-items: center; gap: 6px; } .hud-action-btn.primary-btn { background: rgba(255, 101, 0, 0.15); border-color: var(--accent-orange); color: var(--accent-orange); } .hud-action-btn.primary-btn:hover { background: rgba(255, 101, 0, 0.3); box-shadow: var(--orange-panel-glow-hover); transform: scale(1.02); } .hud-action-btn.admin-btn { background: rgba(0, 229, 255, 0.1); border-color: var(--accent-blue); color: var(--accent-blue); } .hud-action-btn.admin-btn:hover { background: rgba(0, 229, 255, 0.2); box-shadow: var(--panel-glow-hover); } .hud-action-btn:hover { border-color: var(--border-tactical-strong); box-shadow: var(--panel-glow-hover); } .btn-icon { font-family: 'Orbitron', monospace; font-size: 12px; font-weight: 900; } /* Tactical status displays */ .tactical-status { font-family: 'Orbitron', monospace; font-size: 11px; font-weight: 500; text-align: center; letter-spacing: 1px; padding: 8px; text-transform: uppercase; color: var(--text-secondary); border: 1px solid var(--border-tactical); background: var(--bg-panel); box-shadow: var(--panel-glow); } .tactical-status.error { color: var(--accent-orange); border-color: var(--accent-orange); text-shadow: 0 0 8px rgba(255, 101, 0, 0.5); animation: pulseGlow 1.5s ease-in-out infinite; } .tactical-status.ready { color: #00ffaa; border-color: #00ffaa; text-shadow: 0 0 8px rgba(0, 255, 170, 0.5); } @keyframes pulseGlow { 0%, 100% { box-shadow: var(--panel-glow); } 50% { box-shadow: var(--panel-glow-hover); } } /* Tactical select dropdowns */ .tactical-select { background: rgba(5, 7, 10, 0.85); color: var(--text-primary); border: 1px solid var(--border-tactical); padding: 6px 10px; font-family: 'Orbitron', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; border-radius: 0; outline: none; transition: all 0.2s ease; } .tactical-select:hover, .tactical-select:focus { border-color: var(--accent-orange); box-shadow: var(--orange-panel-glow); color: var(--accent-orange); } /* === CONTENT BOX === */ .content-box { width: 100%; max-width: 800px; background: var(--bg-panel-strong); border: 1px solid var(--border-tactical-strong); border-radius: 0; box-shadow: 0 0 30px rgba(0, 229, 255, 0.2); padding: 20px; box-sizing: border-box; margin-bottom: 20px; } /* === MATCHMAKING CONTROLS === */ .matchmaking-container { width: 100%; display: flex; flex-direction: column; gap: 16px; } .mode-selector-group { display: flex; gap: 6px; flex-wrap: wrap; } .mode-select-btn { flex: 1 1 0; background: rgba(5, 7, 10, 0.7); color: var(--text-primary); border: 1px solid var(--border-tactical); padding: 6px 8px; font-family: 'Orbitron', monospace; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: all 0.2s ease; } .mode-select-btn:hover { background: rgba(255, 101, 0, 0.15); border-color: var(--accent-orange); color: var(--accent-orange); box-shadow: var(--orange-panel-glow); } .mode-select-btn[data-mode="0"] { border-color: rgba(0, 229, 255, 0.3); } .mode-select-btn[data-mode="1"] { border-color: rgba(255, 101, 0, 0.3); } .mode-select-btn[data-mode="2"] { border-color: rgba(255, 68, 68, 0.3); } .mode-select-btn[data-mode="2"][data-disabled="true"] { opacity: 0.5; cursor: not-allowed; } .mode-select-btn.active { background: rgba(0, 229, 255, 0.15); border-color: var(--border-tactical-strong); color: var(--accent-orange); box-shadow: 0 0 20px rgba(0, 229, 255, 0.3); } .queue-btn-group { display: flex; gap: 10px; width: 100%; } .queue-btn-group button, .queue-btn-group select { flex: 1; font-family: 'Orbitron', monospace; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; padding: 10px 14px; border: 2px solid var(--border-tactical); border-radius: 0; background: var(--bg-panel); color: var(--accent-orange); cursor: pointer; transition: all 0.25s ease; box-shadow: var(--orange-panel-glow); } .queue-btn-group button:hover, .queue-btn-group select:hover { border-color: var(--border-tactical-strong); box-shadow: var(--panel-glow-hover); transform: scale(1.02); background: var(--bg-panel-strong); } .loadout-container, .operatives-container, .skins-container, .inventory-container, .marketplace-container { width: 100%; display: flex; flex-direction: column; gap: 14px; } .panel-header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 8px; border-bottom: 1px solid var(--border-tactical); font-family: 'Orbitron', monospace; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--accent-orange); text-shadow: 0 0 8px rgba(255, 101, 0, 0.4); } .panel-footer { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--border-tactical); } .panel-caption { font-family: 'Rajdhani', sans-serif; font-size: 10px; color: var(--text-secondary); letter-spacing: 0.5px; } .weapon-select-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; } .weapon-select-group { display: flex; flex-direction: column; gap: 6px; } .weapon-select-label { font-family: 'Orbitron', monospace; font-size: 10px; text-transform: uppercase; color: var(--accent-blue); letter-spacing: 1px; } .weapon-select { padding: 8px 12px; background: var(--bg-panel); border: 1px solid var(--border-tactical); color: var(--text-primary); font-family: 'Orbitron', monospace; font-size: 12px; border-radius: 0; } .weapon-select:focus { outline: none; border-color: var(--accent-orange); box-shadow: 0 0 12px rgba(255, 101, 0, 0.3); } .mp-store-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin-top: 4px; } .mp-item-thumb { width: 100%; height: 80px; border: 1px solid var(--border-tactical); border-radius: 0; display: flex; align-items: center; justify-content: center; background: var(--bg-panel); box-sizing: border-box; overflow: hidden; } .mp-item-name { font-size: 10px; font-family: 'Orbitron', monospace; color: var(--text-primary); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .mp-item-price { font-size: 9px; font-family: 'Orbitron', monospace; color: var(--accent-blue); margin-top: 2px; } .mp-buy-btn { margin-top: 6px; padding: 4px 8px; border: 1px solid var(--border-tactical); background: var(--bg-panel); color: var(--accent-orange); font-family: 'Orbitron', monospace; font-size: 9px; border-radius: 0; cursor: pointer; transition: all 0.2s ease; } .mp-buy-btn:hover { border-color: var(--accent-orange); box-shadow: 0 0 10px rgba(255, 101, 0, 0.3); background: rgba(255, 101, 0, 0.1); } .queue-btn-group button.primary-btn { border-color: var(--accent-orange); background: rgba(255, 101, 0, 0.1); } .queue-btn-group button.secondary-btn { border-color: #ffcc44; color: #ffcc44; background: rgba(255, 204, 0, 0.08); } .queue-btn-group button.secondary-btn:hover { border-color: var(--accent-orange); box-shadow: var(--orange-panel-glow-hover); } /* === VIEWPORT CONTAINER === */ .viewport-container { position: relative; width: 100%; max-width: 800px; height: 100%; display: flex; justify-content: center; align-items: center; } .viewport-container canvas.engine-viewport-canvas { width: 100%; height: 100%; max-width: 800px; border: 1px solid var(--border-tactical-strong); box-shadow: 0 0 30px rgba(0, 229, 255, 0.2); background: rgba(0, 0, 0, 0.6); display: block; } /* === CHARACTER SHOWCASE === */ .character-showcase { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; pointer-events: none; } .hologram-platform { position: relative; width: 100%; max-width: 400px; height: 400px; display: flex; flex-direction: column; align-items: center; justify-content: center; } .hologram-ring { position: absolute; border: 1px solid rgba(0, 229, 255, 0.2); border-radius: 50%; box-shadow: 0 0 20px rgba(0, 229, 255, 0.15); } .hologram-ring.ring-1 { width: 380px; height: 380px; animation: rotate 25s linear infinite; } .hologram-ring.ring-2 { width: 280px; height: 280px; animation: rotate 18s linear infinite reverse; border-color: rgba(255, 101, 0, 0.3); box-shadow: 0 0 20px rgba(255, 101, 0, 0.15); } .hologram-ring.ring-3 { width: 180px; height: 180px; animation: rotate 12s linear infinite; } @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #app-root > #main-viewport-canvas-container canvas.character-preview-canvas { position: relative; z-index: 2; width: 100%; max-width: 280px; height: 350px; border: 1px solid var(--border-tactical); box-shadow: 0 0 30px rgba(255, 101, 0, 0.2); background: transparent; display: block; transition: all 0.4s ease; } .preview-dynamic { position: absolute; bottom: 0; right: 0; z-index: 10; pointer-events: none; } .preview-dynamic .hologram-platform { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; } .preview-dynamic .preview-label { position: static; margin-top: 8px; font-family: 'Orbitron', monospace; font-size: 10px; color: var(--accent-orange); text-transform: uppercase; letter-spacing: 2px; text-shadow: 0 0 5px rgba(255, 101, 0, 0.6); pointer-events: none; } #app-root > #main-viewport-canvas-container canvas.character-preview-canvas.canvas-ready { border-color: var(--border-tactical-strong); box-shadow: 0 0 30px rgba(0, 229, 255, 0.4); } /* === HUD ELEMENTS === */ .hud-element { position: absolute; font-family: 'Orbitron', monospace; font-size: 10px; color: var(--accent-blue); text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 5px rgba(0, 229, 255, 0.6); z-index: 3; opacity: 0; transition: opacity 0.5s ease; pointer-events: none; } .hud-element.ready, .hud-element.hud-element-ready { opacity: 0.8; } .hud-element#hud-tl { top: 20px; left: 20px; text-align: left; } .hud-element#hud-tr { top: 20px; right: 20px; text-align: right; } .hud-element#hud-bl { bottom: 20px; left: 20px; text-align: left; } .hud-element#hud-br { bottom: 20px; right: 20px; text-align: center; } .hud-line { font-size: 9px; letter-spacing: 1px; } .hud-spinner { width: 12px; height: 12px; border: 2px solid rgba(255, 204, 0, 0.3); border-top-color: var(--accent-blue); border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 4px; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #player-preview-label { position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); color: var(--accent-orange); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; z-index: 3; text-shadow: 0 0 8px rgba(255, 101, 0, 0.5); } /* Operatives selector */ #operatives-selector { width: 100%; max-width: 800px; margin-top: 20px; } .character-select-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 10px; } .character-option { background: var(--bg-panel); border: 2px solid rgba(255, 101, 0, 0.2); border-radius: 0; padding: 10px; cursor: pointer; transition: all 0.3s ease; text-align: center; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4); position: relative; overflow: hidden; font-family: 'Orbitron', monospace; } .character-option:hover { border-color: var(--accent-orange); box-shadow: 0 0 15px rgba(255, 101, 0, 0.4); transform: scale(1.03); } .character-option.selected { border-color: var(--accent-orange); box-shadow: 0 0 20px rgba(255, 101, 0, 0.5); background: rgba(15, 17, 21, 0.9); animation: pulseGlow 2s ease-in-out infinite; } /* === BOTTOM DASHBOARD === */ #app-root > .bottom-dashboard { grid-column: 1 / -1; grid-row: 2; display: flex; gap: 20px; width: 100%; padding: 16px 20px; box-sizing: border-box; background: var(--bg-panel-strong); border-top: 2px solid var(--border-tactical-strong); box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.5); z-index: 10; } #app-root > .bottom-dashboard .dashboard-panel { flex: 1; min-width: 200px; background: var(--bg-panel); border: 1px solid var(--border-tactical); border-radius: 0; box-shadow: var(--panel-glow); padding: 12px; box-sizing: border-box; display: flex; flex-direction: column; gap: 8px; } .dashboard-panel .panel-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255, 101, 0, 0.15); padding-bottom: 6px; } .panel-title { font-family: 'Orbitron', monospace; font-size: 11px; color: var(--accent-orange); font-weight: 700; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 5px rgba(255, 101, 0, 0.5); } .server-section .panel-title { color: var(--accent-blue); text-shadow: 0 0 5px rgba(0, 229, 255, 0.5); } /* STAT DISPLAYS */ .tactical-stats { display: flex; gap: 16px; width: 100%; margin-top: 8px; } .tactical-stat { flex: 1; text-align: center; padding: 10px; background: rgba(10, 14, 18, 0.6); border: 1px solid var(--border-tactical); } .tactical-stat-value { font-size: 24px; font-weight: 900; color: var(--accent-orange); text-shadow: 0 0 8px rgba(255, 101, 0, 0.5); } .tactical-stat-label { font-size: 9px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; } /* Server list feeds */ .server-list { display: flex; flex-direction: column; gap: 6px; max-height: 120px; overflow-y: auto; } .server-item { display: flex; justify-content: space-between; align-items: center; background: rgba(15, 17, 21, 0.8); border: 1px solid rgba(255, 101, 0, 0.15); padding: 8px 10px; font-family: 'Orbitron', monospace; font-size: 10px; box-sizing: border-box; transition: all 0.2s ease; } .server-item:hover { border-color: var(--accent-orange); background: rgba(20, 23, 29, 0.9); box-shadow: var(--orange-panel-glow-hover); } .server-name { font-weight: bold; color: var(--text-primary); } .server-meta { font-size: 9px; color: var(--accent-blue); letter-spacing: 0.5px; } .connect-btn { background: rgba(255, 101, 0, 0.15); color: var(--accent-orange); border: 1px solid var(--accent-orange); padding: 6px 12px; font-weight: 700; border-radius: 0; cursor: pointer; text-transform: uppercase; font-family: 'Orbitron', monospace; font-size: 10px; letter-spacing: 1px; transition: all 0.2s ease; flex-shrink: 0; } .connect-btn:hover { background: rgba(255, 101, 0, 0.3); box-shadow: var(--orange-panel-glow-hover); transform: scale(1.03); } .servers-feed { width: 100%; background: var(--bg-panel-strong); border: 1px solid var(--accent-blue); border-radius: 0; box-shadow: 0 0 20px rgba(0, 229, 255, 0.2); padding: 12px; box-sizing: border-box; margin-bottom: 12px; } .servers-feed .panel-title { color: var(--accent-blue); text-shadow: 0 0 5px rgba(0, 229, 255, 0.5); } .servers-feed .server-list { display: flex; flex-direction: column; gap: 6px; } .servers-feed .server-item { display: flex; justify-content: space-between; align-items: center; background: rgba(15, 17, 21, 0.8); border: 1px solid rgba(255, 101, 0, 0.15); padding: 8px 10px; font-family: 'Orbitron', monospace; font-size: 10px; box-sizing: border-box; transition: all 0.2s ease; } .servers-feed .server-item:hover { border-color: var(--accent-orange); background: rgba(20, 23, 29, 0.9); box-shadow: var(--orange-panel-glow-hover); } .servers-feed .server-name { font-weight: bold; color: var(--text-primary); } .servers-feed .server-meta { font-size: 9px; color: var(--accent-blue); letter-spacing: 0.5px; } /* === OVERLAY PANELS === */ .settings-overlay, .marketplace-overlay, .hud-chat-log, .dw-chat-container, .game-chat-log, .mp-modal-overlay, .mp-drop-alert { position: fixed; } .settings-overlay { display: none; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.85); justify-content: center; align-items: center; backdrop-filter: blur(4px); z-index: 100; } .settings-modal { flex-direction: column; width: 60vw; max-width: 500px; min-width: 280px; max-height: 75vh; overflow-y: auto; font-family: 'Orbitron', monospace; animation: panelFadeIn 0.5s ease-out; } @keyframes panelFadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .settings-modal-header { padding: 10px 16px; background: rgba(0, 0, 0, 0.3); border-bottom: 1px solid var(--accent-orange); font-family: 'Orbitron', monospace; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--accent-orange); display: flex; justify-content: space-between; align-items: center; } .settings-modal-body { padding: 15px; display: flex; flex-direction: column; gap: 12px; } .settings-section { border: 1px solid rgba(255, 101, 0, 0.15); background: rgba(10, 14, 18, 0.6); padding: 12px; border-radius: 0; margin-bottom: 12px; box-sizing: border-box; } .settings-input-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; } .settings-input { width: 100%; padding: 6px; background: rgba(5, 7, 10, 0.9); border: 1px solid var(--border-tactical); border-radius: 0; font-family: 'Orbitron', monospace; font-size: 13px; color: var(--text-primary); box-sizing: border-box; transition: all 0.2s ease; } .settings-input:focus { border-color: var(--accent-orange); box-shadow: var(--orange-panel-glow); } .settings-btn { flex: 1; padding: 12px; font-weight: 700; border-radius: 0; cursor: pointer; font-size: 14px; text-transform: uppercase; border: none; font-family: 'Orbitron', monospace; transition: all 0.2s ease; } .settings-btn.save-btn { background: rgba(75, 175, 80, 0.3); color: #4caf50; border: 1px solid #4caf50; } .settings-btn.cancel-btn { background: rgba(255, 101, 0, 0.15); color: var(--accent-orange); border: 1px solid var(--accent-orange); } .settings-btn:hover { transform: scale(1.03); box-shadow: var(--panel-glow-hover); } /* === DEVELOPER ADMIN PANEL - FLOATING OVERLAY === */ #admin-panel-container { display: none; position: fixed; bottom: 80px; right: 20px; width: 280px; max-height: 400px; z-index: 10000; } #admin-panel-container.visible { display: block; visibility: visible; }.admin-panel-float { width: 100%; height: 100%; max-height: calc(100vh - 40px); background: rgba(15, 23, 42, 0.85); backdrop-filter: blur(16px); border: 1px solid rgba(0, 229, 255, 0.3); box-shadow: 0 0 20px rgba(0, 0, 0, 0.7); display: flex; flex-direction: column; overflow: hidden; font-family: 'Orbitron', monospace; } .admin-panel-anchor-bar { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; background: rgba(5, 7, 10, 0.9); border-bottom: 1px solid rgba(0, 229, 255, 0.3); font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: var(--text-primary); } .admin-panel-label { color: var(--accent-blue); font-weight: 700; text-shadow: 0 0 8px rgba(0, 229, 255, 0.5); } .admin-panel-close-btn { background: transparent; border: 1px solid var(--accent-orange); color: var(--accent-orange); width: 20px; height: 20px; font-size: 12px; cursor: pointer; border-radius: 0; transition: all 0.2s ease; } .admin-panel-close-btn:hover { background: var(--accent-orange); color: #000; box-shadow: 0 0 10px var(--accent-orange); } .admin-panel-scroll { flex: 1; overflow-y: auto; scrollbar-width: none; padding: 12px; } .admin-panel-scroll::-webkit-scrollbar { display: none; } .admin-panel-scroll::-webkit-scrollbar-thumb { display: none; } .admin-section-title { font-size: 11px; color: var(--accent-orange); font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin: 12px 0 8px 0; padding-bottom: 4px; border-bottom: 1px solid var(--border-tactical); } .admin-sub-section { display: none; } .admin-modal.admin-verified .admin-sub-section, #admin-complex-functions { display: block !important; } .admin-sub-section-title { font-size: 9px; color: var(--accent-blue); text-transform: uppercase; letter-spacing: 0.5px; margin: 10px 0 6px 0; } .admin-input { width: 100%; padding: 6px 8px; background: rgba(5, 7, 10, 0.9); border: 1px solid var(--border-tactical); border-radius: 0; font-family: 'Orbitron', monospace; font-size: 11px; color: var(--text-primary); box-sizing: border-box; transition: all 0.2s ease; } .admin-input:focus { border-color: var(--accent-orange); box-shadow: var(--orange-panel-glow); } .admin-cmd-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 12px; } .admin-cmd-btn { font-size: 10px; padding: 4px 6px; } .admin-managed-list { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; } /* === TACTICAL HIT REGISTRATION NOTIFICATION === */ .tactical-hit-overlay { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 99999; display: none; pointer-events: none; opacity: 0; transition: opacity 0.3s ease; } .hitreg-flash { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 200px; padding: 16px 24px; background: rgba(15, 23, 42, 0.9); backdrop-filter: blur(8px); border: 2px solid rgba(0, 229, 255, 0.5); box-shadow: 0 0 30px rgba(255, 68, 68, 0.7); text-align: center; animation: hitregPulse 0.8s ease-out; } @keyframes hitregPulse { 0% { transform: scale(0.5); opacity: 0; } 50% { transform: scale(1.1); opacity: 1; } 100% { transform: scale(1); opacity: 0.8; } } .hitreg-zone { font-family: 'Orbitron', monospace; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--accent-orange); text-shadow: 0 0 8px rgba(255, 68, 68, 0.8); } .hitreg-damage { font-family: 'Orbitron', monospace; font-size: 11px; color: #ff4444; margin-top: 4px; font-weight: 700; } /* === MARKETPLACE OVERLAY === */ .marketplace-overlay { display: none; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.85); backdrop-filter: blur(4px); z-index: 10000; justify-content: center; align-items: center; } .marketplace-overlay.active { display: flex; } .marketplace-panel { width: 80vw; max-width: 900px; max-height: 80vh; overflow: hidden; font-family: 'Orbitron', monospace; } .marketplace-header { display: flex; justify-content: space-between; align-items: center; background: rgba(0, 0, 0, 0.3); border-bottom: 1px solid var(--accent-orange); padding: 12px 20px; } .marketplace-title { font-size: 14px; color: var(--accent-orange); font-weight: 700; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 8px rgba(255, 101, 0, 0.5); } .marketplace-wallet { color: var(--accent-blue); font-size: 12px; font-weight: 700; } .marketplace-close { background: transparent; border: 1px solid var(--accent-blue); color: var(--accent-blue); width: 24px; height: 24px; font-size: 18px; cursor: pointer; border-radius: 0; } .marketplace-close:hover { background: var(--accent-blue); color: #000; } .marketplace-categories { display: flex; gap: 4px; padding: 8px 12px; background: rgba(0, 0, 0, 0.2); border-bottom: 1px solid var(--border-tactical); } .marketplace-cat-btn { flex: 1; padding: 6px 8px; font-family: 'Orbitron', monospace; font-size: 10px; font-weight: 700; text-transform: uppercase; color: var(--text-secondary); background: rgba(10, 14, 18, 0.4); border: 1px solid var(--border-tactical); cursor: pointer; transition: all 0.2s ease; } .marketplace-cat-btn:hover, .marketplace-cat-btn.active { border-color: var(--accent-orange); color: var(--accent-orange); background: rgba(255, 101, 0, 0.1); } .marketplace-content { padding: 16px; display: flex; gap: 20px; } .marketplace-store-section, .marketplace-inventory-section { flex: 1; display: flex; flex-direction: column; gap: 8px; } .marketplace-section-title { font-family: 'Orbitron', monospace; font-size: 10px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; } .marketplace-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; width: 100%; } /* === TACTICAL STATS GRID === */ .tactical-stat { flex: 1; text-align: center; padding: 10px; background: rgba(10, 14, 18, 0.6); border: 1px solid var(--border-tactical); } .tactical-stat-value { font-size: 24px; font-weight: 900; color: var(--accent-orange); text-shadow: 0 0 8px rgba(255, 101, 0, 0.5); } .tactical-stat-label { font-size: 9px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; } /* === SERVER STATUS HUD === */ .server-status-hud { position: fixed; top: 20px; right: 20px; padding: 8px 16px; background: var(--bg-panel-strong); border: 1px solid var(--accent-blue); font-family: 'Orbitron', monospace; font-size: 11px; color: var(--accent-blue); letter-spacing: 1px; text-shadow: 0 0 8px rgba(0, 229, 255, 0.5); box-shadow: var(--panel-glow); z-index: 50; } /* === ENGINE LOADER === */ #engine-loader { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: #000000; z-index: 1000; flex-direction: column; justify-content: center; align-items: center; } .spinner { width: 50px; height: 50px; border: 5px solid #333; border-top: 5px solid var(--accent-blue); border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 20px; box-shadow: 0 0 20px rgba(0, 229, 255, 0.5); } .loader-label { color: var(--accent-orange); font-size: 14px; font-weight: 900; text-transform: uppercase; letter-spacing: 2px; text-shadow: 0 0 10px rgba(255, 101, 0, 0.5); } /* === CHAT SYSTEM === */ .hud-chat-log { bottom: 20px; left: 20px; width: 320px; max-height: 240px; background: var(--bg-panel); border: 1px solid var(--accent-blue); border-radius: 0; padding: 8px; overflow-y: auto; font-family: 'Orbitron', monospace; font-size: 10px; box-shadow: 0 0 15px rgba(0, 229, 255, 0.3); } .hud-chat-log .chat-entry { margin-bottom: 4px; line-height: 1.3; text-transform: uppercase; } .chat-author { font-weight: 900; color: var(--accent-orange); } .chat-text-basic { color: #a8d4ff; } .chat-text-admin { color: #ff55ff; } .chat-text-system { color: var(--accent-blue); } .chat-text-warning { color: var(--accent-orange); } .chat-text-error { color: #ff5555; } .chat-command { color: var(--accent-blue); } .dw-chat-container { bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 5000; width: 480px; max-width: 90vw; } .chat-input { width: 100%; background: var(--bg-panel); color: var(--accent-blue); border: 2px solid var(--border-tactical); border-radius: 0; padding: 10px 14px; font-family: 'Orbitron', monospace; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; outline: none; box-shadow: 0 0 20px rgba(255, 101, 0, 0.3); transition: all 0.3s ease; } .chat-input:focus { border-color: var(--accent-blue); box-shadow: 0 0 25px rgba(0, 229, 255, 0.5); } .chat-input::placeholder { color: var(--text-secondary); opacity: 0.6; } /* === MAINTENANCE OVERLAY === */ #maintenance-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(5, 7, 10, 0.95); backdrop-filter: blur(4px); display: none; align-items: center; justify-content: center; flex-direction: column; z-index: 99999; transition: opacity 0.5s ease; opacity: 1; } #maintenance-overlay.fadeing { opacity: 0; pointer-events: none; } /* === EULA & TOS MODALS === */ #eula-modal, #tos-modal { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.85); backdrop-filter: blur(4px); z-index: 10000; justify-content: center; align-items: center; } .eula-content, .tos-content { background: var(--bg-panel-strong); border: 2px solid var(--accent-orange); border-radius: 0; box-shadow: 0 0 40px rgba(255, 101, 0, 0.4); max-width: 600px; max-height: 70vh; overflow: auto; padding: 20px; box-sizing: border-box; font-family: 'Orbitron', monospace; color: var(--text-primary); } .eula-content h2, .tos-content h2 { color: var(--accent-orange); font-size: 18px; text-transform: uppercase; letter-spacing: 2px; margin-top: 0; text-align: center; text-shadow: 0 0 10px rgba(255, 101, 0, 0.5); } .eula-content pre, .tos-content pre { font-size: 11px; line-height: 1.4; white-space: pre-wrap; color: var(--text-secondary); margin: 0 0 16px 0; } .eula-buttons, .tos-buttons { text-align: center; } #eula-accept, #tos-accept { background: rgba(255, 101, 0, 0.15); color: var(--accent-orange); border: 2px solid var(--accent-orange); padding: 12px 24px; font-family: 'Orbitron', monospace; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; border-radius: 0; box-shadow: 0 0 15px rgba(255, 101, 0, 0.4); transition: all 0.25s ease; } #eula-accept:hover, #tos-accept:hover { background: rgba(255, 101, 0, 0.3); transform: scale(1.02); box-shadow: 0 0 25px rgba(255, 101, 0, 0.6); } /* === AUTH-GATED NAVIGATION === */ #tactical-nav:not(.authed) { display: none; } /* === LOADOUT SUB-TABS === */ .loadout-sub-tabs { display: flex; gap: 6px; margin-top: 10px; padding: 4px; background: var(--bg-panel); border: 1px solid var(--border-tactical); border-radius: 0; } .loadout-sub-tab { flex: 1; padding: 6px 8px; font-size: 11px; font-family: 'Orbitron', monospace; text-transform: uppercase; color: var(--text-secondary); background: rgba(0, 0, 0, 0.3); border: 1px solid var(--border-tactical); border-radius: 0; cursor: pointer; transition: all 0.2s ease; } .loadout-sub-tab:hover { color: var(--text-primary); border-color: var(--accent-orange); box-shadow: var(--orange-panel-glow); } .loadout-sub-tab.active { color: var(--accent-orange); background: rgba(255, 101, 0, 0.1); border-color: var(--accent-orange); } /* === WEAPON SELECT === */ .weapon-select-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; } .weapon-select-group { display: flex; flex-direction: column; gap: 4px; } .weapon-select-label { font-size: 10px; color: var(--accent-blue); text-transform: uppercase; font-weight: 700; } .weapon-select { width: 100%; background: rgba(5, 7, 10, 0.9); color: var(--text-primary); border: 1px solid var(--border-tactical); padding: 10px; border-radius: 0; font-size: 13px; font-family: 'Orbitron', monospace; font-weight: 700; text-transform: uppercase; outline: none; transition: all 0.2s ease; box-sizing: border-box; } .weapon-select:hover, .weapon-select:focus { border-color: var(--accent-orange); } /* === SKIN DROP ITEMS === */ .skin-drop-item { display: flex; align-items: center; gap: 10px; background: var(--bg-panel); border: 1px solid var(--border-tactical); padding: 10px; border-radius: 0; margin-bottom: 6px; font-family: 'Orbitron', monospace; font-size: 12px; transition: all 0.2s ease; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .skin-drop-item:hover { border-color: var(--accent-orange); box-shadow: var(--orange-panel-glow-hover); } .skin-grid-item { position: relative; } .skin-card-wear-bar { position: absolute; bottom: 0; left: 0; width: 100%; height: 4px; background: rgba(0, 0, 0, 0.5); overflow: hidden; } .skin-card-wear-fill { height: 100%; border-radius: 2px; transition: width 0.3s ease; } .skin-card-asset-id { font-size: 6px; color: var(--text-secondary); font-family: 'Courier New', monospace; margin-top: 2px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } /* === MARKETPLACE TRADING DASHBOARD === */ .mp-ticker-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; background: var(--bg-panel-strong); border: 1px solid var(--accent-orange); box-shadow: 0 0 15px rgba(255, 101, 0, 0.2); font-family: 'Orbitron', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; } .mp-ticker-wallet { display: flex; align-items: center; gap: 6px; color: var(--accent-blue); font-weight: 700; } .mp-ticker-wallet span { color: var(--accent-orange); text-shadow: 0 0 6px rgba(255, 101, 0, 0.5); } .mp-ticker-feed { display: flex; align-items: center; gap: 16px; overflow: hidden; white-space: nowrap; color: var(--text-secondary); } .mp-ticker-item { display: inline-flex; align-items: center; gap: 4px; } .ticker-name { color: var(--text-primary); } .ticker-change-positive { color: #00ffaa; } .ticker-change-negative { color: #ff5555; } .mp-recharge-block { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; background: rgba(255, 101, 0, 0.08); border: 1px solid var(--accent-orange); box-shadow: 0 0 12px rgba(255, 101, 0, 0.15); font-family: 'Orbitron', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: all 0.25s ease; } .mp-recharge-block:hover { background: rgba(255, 101, 0, 0.15); box-shadow: var(--orange-panel-glow-hover); transform: scale(1.02); } .recharge-label { color: var(--accent-orange); font-weight: 700; } .recharge-icon { color: var(--accent-blue); font-weight: 700; } .mp-filter-bar { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: rgba(10, 14, 18, 0.7); border: 1px solid var(--border-tactical); box-shadow: 0 0 10px rgba(0, 229, 255, 0.15); font-family: 'Orbitron', monospace; font-size: 10px; } .mp-search-input { flex: 1; padding: 6px 10px; background: rgba(5, 7, 10, 0.9); border: 1px solid var(--border-tactical); color: var(--text-primary); font-family: 'Orbitron', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; outline: none; transition: all 0.2s ease; } .mp-search-input:focus { border-color: var(--accent-orange); box-shadow: var(--orange-panel-glow); } .mp-micro-select { padding: 4px 8px; background: rgba(5, 7, 10, 0.9); border: 1px solid var(--border-tactical); color: var(--accent-blue); font-family: 'Orbitron', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 0.5px; cursor: pointer; outline: none; transition: all 0.2s ease; } .mp-micro-select:focus { border-color: var(--accent-orange); color: var(--accent-orange); box-shadow: var(--orange-panel-glow); } /* === TRADING GRID === */ .mp-trading-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; } .mp-store-column, .mp-orders-column { display: flex; flex-direction: column; gap: 8px; } .mp-column-header { padding: 6px 14px; background: rgba(15, 17, 21, 0.85); border: 1px solid var(--border-tactical); border-bottom: 1px solid var(--accent-orange); font-family: 'Orbitron', monospace; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--text-primary); display: flex; justify-content: space-between; align-items: center; } .column-title { color: var(--accent-blue); } .column-action { color: var(--accent-orange); cursor: pointer; font-weight: 700; } .column-action:hover { text-shadow: 0 0 8px rgba(255, 101, 0, 0.8); } .mp-store-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; width: 100%; padding: 4px; } .mp-orders-list { display: flex; flex-direction: column; gap: 6px; max-height: 320px; overflow-y: auto; } /* === ITEM CARD (storefront) === */ .mp-item-card { background: var(--bg-panel-strong); border: 1px solid var(--border-tactical); border-left: 2px solid var(--accent-orange); box-shadow: var(--orange-panel-glow); padding: 8px; display: flex; flex-direction: column; gap: 6px; transition: all 0.2s ease; position: relative; overflow: hidden; } .mp-item-card:hover { border-left-color: var(--accent-blue); box-shadow: var(--panel-glow-hover); transform: translateY(-2px); } .mp-item-thumbnail { width: 100%; height: 80px; background: rgba(0, 0, 0, 0.5); border: 1px solid var(--border-tactical); border-radius: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; position: relative; } .mp-item-thumbnail img { width: 100%; height: 100%; object-fit: contain; } .mp-item-content { display: flex; flex-direction: column; gap: 2px; } .mp-item-name { font-family: 'Orbitron', monospace; font-size: 11px; font-weight: 700; color: var(--text-primary); text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .mp-item-subtext { font-size: 8px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .mp-item-price { font-family: 'Orbitron', monospace; font-size: 11px; font-weight: 700; color: var(--accent-orange); text-shadow: 0 0 6px rgba(255, 101, 0, 0.5); } .mp-item-wear-container { margin-top: 4px; } .mp-wear-bar { width: 100%; height: 4px; background: rgba(255, 255, 255, 0.1); border: 1px solid var(--border-tactical); border-radius: 0; overflow: hidden; position: relative; } .mp-wear-fill { height: 100%; border-radius: 0; transition: width 0.3s ease; } .mp-wear-factory-new { background: linear-gradient(90deg, #00ff88, #40ffaa); } .mp-wear-minimal-wear { background: linear-gradient(90deg, #ffaa00, #ffc24d); } .mp-wear-field-tested { background: linear-gradient(90deg, #4a90ff, #6ab0ff); } .mp-wear-well-worn { background: linear-gradient(90deg, #ff6600, #ff8800); } .mp-wear-battle-scarred { background: linear-gradient(90deg, #ff4d4d, #ff6666); } .mp-item-btns { display: flex; gap: 4px; margin-top: 4px; } .mp-buy-btn { background: rgba(255, 101, 0, 0.15); color: var(--accent-orange); border-color: var(--accent-orange); } .mp-buy-btn:hover { background: rgba(255, 101, 0, 0.3); box-shadow: var(--orange-panel-glow-hover); } .mp-buyorder-btn { background: rgba(0, 229, 255, 0.15); color: var(--accent-blue); border-color: var(--accent-blue); } .mp-buyorder-btn:hover { background: rgba(0, 229, 255, 0.3); box-shadow: var(--panel-glow-hover); } .mp-sell-btn { background: rgba(76, 175, 80, 0.15); color: #4caf50; border-color: #4caf50; } .mp-sell-btn:hover { background: rgba(76, 175, 80, 0.3); box-shadow: 0 0 12px rgba(76, 175, 80, 0.4); } .mp-sell-btn:disabled { background: rgba(50, 50, 55, 0.5); color: var(--text-secondary); cursor: not-allowed; } /* === ORDER BOOK === */ .mp-orderbook-panel { background: rgba(10, 14, 18, 0.7); border: 1px solid var(--accent-blue); box-shadow: 0 0 12px rgba(0, 229, 255, 0.2); padding: 8px; margin-top: 8px; max-height: 220px; overflow-y: auto; } .mp-orderbook-title { font-family: 'Orbitron', monospace; font-size: 9px; color: var(--accent-blue); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 6px; text-align: center; } .mp-orderbook-section { margin-bottom: 8px; } .mp-orderbook-row { display: flex; justify-content: space-between; gap: 6px; font-family: 'Orbitron', monospace; font-size: 9px; padding: 2px 0; border-bottom: 1px solid rgba(40, 44, 50, 0.5); } .mp-orderbook-row:last-child { border-bottom: none; } .mp-orderbook-price-ask { color: #ff5555; } .mp-orderbook-price-bid { color: #00ffaa; } .mp-orderbook-qty { color: var(--text-secondary); } /* === CHART === */ .mp-chart-container { background: rgba(5, 7, 10, 0.95); border: 1px solid var(--border-tactical); border-radius: 0; box-shadow: 0 0 15px rgba(0, 0, 0, 0.4); padding: 8px; margin-top: 8px; height: 160px; position: relative; } .mp-chart-canvas { width: 100%; height: 100%; display: block; } .mp-chart-toolbar { display: flex; gap: 6px; margin-bottom: 4px; } .mp-chart-toolbar button { font-family: 'Orbitron', monospace; font-size: 9px; padding: 2px 8px; background: rgba(10, 14, 18, 0.6); border: 1px solid var(--border-tactical); color: var(--text-secondary); cursor: pointer; text-transform: uppercase; transition: all 0.2s ease; } .mp-chart-toolbar button:hover, .mp-chart-toolbar button.active { border-color: var(--accent-orange); color: var(--accent-orange); box-shadow: var(--orange-panel-glow); } .mp-chart-hud { display: flex; gap: 16px; margin-top: 4px; font-family: 'Orbitron', monospace; font-size: 9px; text-transform: uppercase; letter-spacing: 1px; } .mp-chart-hud span { font-weight: 700; } .hud-label { color: var(--text-secondary); } .hud-value-high { color: #00ffaa; } .hud-value-low { color: #ff6600; } .hud-value-volume { color: var(--accent-blue); } /* === TOAST NOTIFICATIONS === */ .mp-toast-container { position: fixed; top: 60px; right: 20px; z-index: 9999; display: flex; flex-direction: column; gap: 6px; pointer-events: none; } .mp-toast { min-width: 200px; max-width: 320px; padding: 10px 14px; background: var(--bg-panel-strong); border: 1px solid var(--border-tactical); border-left: 3px solid var(--accent-orange); box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); font-family: 'Orbitron', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: var(--text-primary); backdrop-filter: blur(4px); animation: mpToastSlide 0.3s ease-out, mpToastFade 0.3s ease-out 4.7s forwards; opacity: 1; } .mp-toast.success { border-left-color: #00ffaa; } .mp-toast.error { border-left-color: #ff5555; } .mp-toast.info { border-left-color: var(--accent-blue); } @keyframes mpToastSlide { from { transform: translateX(120%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } @keyframes mpToastFade { to { opacity: 0; } } /* === MODALS === */ .mp-modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.85); backdrop-filter: blur(4px); z-index: 10000; justify-content: center; align-items: center; } .mp-modal-overlay.active { display: flex; } .mp-modal { background: var(--bg-panel-strong); border: 1px solid var(--accent-orange); box-shadow: 0 0 40px rgba(255, 101, 0, 0.4); max-width: 500px; width: 90vw; max-height: 85vh; overflow-y: auto; font-family: 'Orbitron', monospace; animation: panelFadeIn 0.3s ease-out; } .mp-modal-header { padding: 10px 16px; background: rgba(0, 0, 0, 0.3); border-bottom: 1px solid var(--accent-orange); font-family: 'Orbitron', monospace; font-size: 13px; text-transform: uppercase; color: var(--accent-orange); font-weight: 700; letter-spacing: 1px; display: flex; justify-content: space-between; align-items: center; } .mp-modal-close { background: none; border: 1px solid var(--accent-blue); color: var(--accent-blue); width: 20px; height: 20px; font-size: 14px; cursor: pointer; border-radius: 0; } .mp-modal-close:hover { background: var(--accent-blue); color: #000; } .mp-modal-body { padding: 14px; } .mp-form-row { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; } .mp-form-row label { font-size: 9px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.5px; } .mp-form-row input[type="number"] { padding: 6px 8px; background: rgba(5, 7, 10, 0.9); border: 1px solid var(--border-tactical); color: var(--text-primary); font-family: 'Orbitron', monospace; font-size: 11px; outline: none; transition: all 0.2s ease; } .mp-form-row input[type="number"]:focus { border-color: var(--accent-orange); box-shadow: var(--orange-panel-glow); } .mp-modal-actions { display: flex; gap: 8px; padding: 10px 14px; border-top: 1px solid var(--accent-orange); } .mp-btn, .mp-btn-primary, .mp-btn-cancel { flex: 1; padding: 8px; font-family: 'Orbitron', monospace; font-size: 10px; font-weight: 700; text-transform: uppercase; border: 1px solid var(--border-tactical); cursor: pointer; transition: all 0.2s ease; } .mp-btn-primary { background: rgba(255, 101, 0, 0.15); color: var(--accent-orange); border-color: var(--accent-orange); } .mp-btn-primary:hover:not(:disabled) { background: rgba(255, 101, 0, 0.3); box-shadow: var(--orange-panel-glow-hover); } .mp-btn-primary:disabled { background: rgba(50, 50, 55, 0.5); color: var(--text-secondary); cursor: not-allowed; } .mp-btn-cancel { background: rgba(50, 50, 75, 0.5); color: var(--text-secondary); } .mp-btn-cancel:hover { background: rgba(70, 70, 100, 0.7); color: var(--text-primary); } /* === TIER SELECT === */ .mp-tier-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-bottom: 12px; } .mp-tier-btn { padding: 10px; background: var(--bg-panel); border: 1px solid var(--border-tactical); color: var(--accent-orange); font-family: 'Orbitron', monospace; font-size: 10px; font-weight: 700; text-transform: uppercase; cursor: pointer; transition: all 0.2s ease; display: flex; flex-direction: column; align-items: center; gap: 2px; } .mp-tier-btn:hover { border-color: var(--accent-blue); color: var(--accent-blue); box-shadow: var(--panel-glow-hover); } .mp-tier-btn .tier-coins { font-size: 12px; } .mp-tier-btn .tier-eur { font-size: 10px; color: var(--text-secondary); } .mp-tier-btn.selected { border-color: var(--accent-blue); background: rgba(0, 229, 255, 0.1); box-shadow: var(--panel-glow-hover); } .mp-tier-btn.selected .tier-coins { color: var(--accent-blue); } /* === LEGAL CHECKBOX === */ .mp-legal-checkbox { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0; font-family: 'Orbitron', monospace; font-size: 9px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.5px; line-height: 1.4; } .mp-legal-checkbox input[type="checkbox"] { margin-top: 2px; width: 14px; height: 14px; cursor: pointer; accent-color: var(--accent-orange); } /* === STRIPE PAYMENT === */ .mp-stripe-btn { width: 100%; padding: 10px; background: #635bff; color: white; border: none; border-radius: 0; font-family: 'Orbitron', monospace; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 0 15px rgba(99, 91, 255, 0.4); } .mp-stripe-btn:hover:not(:disabled) { background: #7b6ef0; box-shadow: 0 0 20px rgba(99, 91, 255, 0.6); transform: scale(1.02); } .mp-stripe-btn:disabled { background: rgba(50, 50, 55, 0.5); color: var(--text-secondary); cursor: not-allowed; box-shadow: none; } /* === LIVE DROP CLAIM === */ .mp-drop-alert { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 10000; display: none; } .mp-drop-alert.active { display: block; } .mp-drop-alert-content { background: var(--bg-panel-strong); border: 2px solid #ff0033; box-shadow: 0 0 30px rgba(255, 0, 51, 0.5); padding: 20px 30px; text-align: center; font-family: 'Orbitron', monospace; text-transform: uppercase; letter-spacing: 2px; animation: dropPulse 1s ease-in-out infinite; } @keyframes dropPulse { 0% { box-shadow: 0 0 20px rgba(255, 0, 51, 0.4); } 50% { box-shadow: 0 0 40px rgba(255, 0, 51, 0.8); } 100% { box-shadow: 0 0 20px rgba(255, 0, 51, 0.4); } } .mp-drop-title { color: #ff0033; font-size: 16px; font-weight: 900; text-shadow: 0 0 10px rgba(255, 0, 51, 0.7); margin-bottom: 10px; letter-spacing: 3px; } .mp-drop-countdown { font-size: 28px; font-weight: 900; color: #ffcc00; text-shadow: 0 0 15px rgba(255, 204, 0, 0.7); font-variant-numeric: tabular-nums; margin: 8px 0; } .mp-drop-challenge { font-size: 12px; color: var(--accent-blue); margin: 12px 0; letter-spacing: 1px; } .challenge-key { color: var(--accent-orange); font-weight: 700; text-shadow: 0 0 8px rgba(255, 101, 0, 0.6); } .mp-drop-claim-btn { padding: 10px 30px; background: rgba(255, 0, 51, 0.15); border: 2px solid #ff0033; color: #ff0033; font-family: 'Orbitron', monospace; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 0 15px rgba(255, 0, 51, 0.3); } .mp-drop-claim-btn:hover:not(:disabled) { background: rgba(255, 0, 51, 0.3); box-shadow: 0 0 25px rgba(255, 0, 51, 0.6); transform: scale(1.05); } .mp-drop-claim-btn:disabled { background: rgba(50, 50, 55, 0.5); color: var(--text-secondary); cursor: not-allowed; border-color: var(--border-tactical); box-shadow: none; } .mp-drop-claim-btn.claimed { background: rgba(50, 50, 55, 0.5); border-color: var(--border-tactical); color: var(--text-secondary); box-shadow: none; } .mp-claim-btn { font-family: 'Orbitron', monospace; font-size: 10px; text-transform: uppercase; padding: 6px 10px; background: rgba(255, 101, 0, 0.2); border: 1px solid var(--accent-orange); color: var(--accent-orange); border-radius: 0; cursor: pointer; transition: all 0.2s ease; } .mp-claim-btn:hover { background: rgba(255, 101, 0, 0.3); box-shadow: var(--orange-panel-glow); } .mp-recharge-btn { font-family: 'Orbitron', monospace; font-size: 10px; text-transform: uppercase; padding: 6px 10px; background: rgba(0, 229, 255, 0.2); border: 1px solid var(--accent-blue); color: var(--accent-blue); border-radius: 0; cursor: pointer; transition: all 0.2s ease; } .mp-recharge-btn:hover { background: rgba(0, 229, 255, 0.3); box-shadow: var(--panel-glow); } /* === STRIPE MODAL === */ .stripe-modal { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.8); display: none; align-items: center; justify-content: center; z-index: 99999; } .stripe-modal-content { background: var(--bg-panel-strong); border: 1px solid var(--border-tactical); border-radius: 0; width: 90%; max-width: 420px; box-shadow: 0 0 30px rgba(255, 101, 0, 0.3); } .stripe-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--border-tactical); font-family: 'Orbitron', monospace; font-size: 13px; text-transform: uppercase; color: var(--accent-orange); } .stripe-modal-close { background: none; border: none; color: var(--text-secondary); font-size: 20px; cursor: pointer; } .stripe-modal-close:hover { color: var(--accent-orange); } .stripe-modal-body { padding: 16px; } .stripe-modal button.tactical-btn { margin-top: 8px; } /* === ADMIN POPUP MENU === */ .admin-popup-menu { display: none; } /* === HAZMOB OPACITIES FOR SELECTED OPERATIVE CARDS === */ .operative-card.selected, .server-item.selected { animation: pulseGlow 1.5s ease-in-out infinite; border-color: var(--accent-orange); box-shadow: var(--orange-panel-glow-hover); } /* === LOGO HEADER === */ #app-root > .left-sidebar .logo-header-wrapper { text-align: center; padding-bottom: 12px; border-bottom: 1px solid var(--border-tactical); } .dangerroyale-title { font-family: 'Orbitron', monospace; font-size: 24px; font-weight: 900; color: var(--accent-orange); letter-spacing: 3px; text-transform: uppercase; text-shadow: 0 0 12px rgba(255, 101, 0, 0.5); margin: 0; } .sourcenetwork-subtitle { font-family: 'Courier New', monospace; font-size: 10px; color: var(--accent-blue); letter-spacing: 4px; text-transform: uppercase; margin-top: 4px; } /* === PARTICLE BACKGROUND === */ #hud-particles { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: -1; pointer-events: none; overflow: hidden; } #hud-particles::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 20% 30%, rgba(255, 101, 0, 0.04) 0%, transparent 40%), radial-gradient(circle at 80% 70%, rgba(0, 229, 255, 0.04) 0%, transparent 40%), radial-gradient(circle at 50% 50%, rgba(255, 101, 0, 0.03) 0%, transparent 50%); animation: parallaxFloat 30s ease-in-out infinite; } @keyframes parallaxFloat { 0%, 100% { transform: translate(0, 0) scale(1); } 25% { transform: translate(-10px, -5px) scale(1.02); } 50% { transform: translate(5px, -10px) scale(0.98); } 75% { transform: translate(-5px, 5px) scale(1.01); } } /* === RESPONSIVE BREAKPOINTS === */ @media (max-width: 1020px) { #app-root { grid-template-columns: 220px 1fr; grid-template-rows: 1fr auto; } #app-root > .left-sidebar { padding: 12px; gap: 12px; } #app-root > #main-viewport-canvas-container { grid-column: 2; grid-row: 1; height: calc(100vh - 220px); padding: 12px; } #app-root > .bottom-dashboard { grid-column: 1 / -1; grid-row: 2; flex-direction: column; gap: 12px; padding: 12px; } #app-root > .right-column, #app-root > #panel-stats { display: none; } .character-select-grid { grid-template-columns: repeat(2, 1fr); } .mp-trading-grid { grid-template-columns: 1fr; } .mp-chart-hud { gap: 8px; font-size: 8px; } .mp-tier-grid { grid-template-columns: 1fr; } } @media (max-width: 768px) { #app-root { grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; } #app-root > .left-sidebar { grid-row: 1; flex-direction: row; flex-wrap: wrap; height: auto; gap: 8px; padding: 8px; } #app-root > .left-sidebar .nav-list { flex-direction: row; flex-wrap: wrap; } #app-root > #main-viewport-canvas-container { grid-row: 2; height: calc(100vh - 400px); } #app-root > .bottom-dashboard { grid-row: 3; flex-direction: column; } .character-select-grid { grid-template-columns: 2fr 1fr; } .mp-item-card { padding: 6px; } .mp-wear-bar { display: none; } .mp-item-price { font-size: 10px; } .weapon-select-grid { grid-template-columns: 1fr; } } @media (max-width: 480px) { #app-root > .left-sidebar .nav-item { font-size: 10px; padding: 8px 10px; } #app-root > .bottom-dashboard { padding: 8px; gap: 8px; } #app-root > .bottom-dashboard .dashboard-panel { min-width: 100%; } .queue-btn-group { flex-direction: column; gap: 6px; } .character-select-grid { grid-template-columns: 1fr; } .weapon-select-grid { grid-template-columns: 1fr; } .mp-store-grid { grid-template-columns: 1fr; } } @media (min-width: 1440px) { #app-root { grid-template-columns: 260px 1fr 260px; } #app-root > .left-sidebar { padding: 20px; } #app-root > #main-viewport-canvas-container { height: calc(100vh - 260px); } #app-root > #main-viewport-canvas-container .viewport-container { max-width: 900px; } #app-root > #main-viewport-canvas-container canvas.character-preview-canvas { max-width: 320px; height: 460px; } .mp-store-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); } } @media (min-width: 1920px) { #app-root { grid-template-columns: 280px 1fr 320px; } #app-root > #main-viewport-canvas-container .viewport-container { max-width: 1000px; } .mp-store-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } } /* === BACKGROUND ASSET OVERRIDES === */ #app-root > .left-sidebar { background: var(--bg-panel-strong); } /* === INVISIBLE SCROLLBAR ACROSS ALL ENGINES === */ ::-webkit-scrollbar { display: none; } ::-webkit-scrollbar:horizontal { display: none; } ::-webkit-scrollbar:vertical { display: none; } * { -ms-overflow-style: none; scrollbar-width: none; } *:hover { -ms-overflow-style: none; scrollbar-width: none; } *:focus { -ms-overflow-style: none; scrollbar-width: none; } ::-webkit-scrollbar-thumb { display: none; } ::-webkit-scrollbar-track { display: none; } ::-webkit-scrollbar-corner { display: none; } /* === DYNAMIC CONTENT BOX CONTAINER LOCKING === */ #main-content-box { position: sticky; top: 20%; max-height: 420px; overflow-y: scroll; -ms-overflow-style: none; scrollbar-width: none; background: rgba(10, 14, 18, 0.45); backdrop-filter: blur(20px) saturate(180%); border: 1px solid var(--border-tactical); box-shadow: var(--panel-glow); box-sizing: border-box; padding: 20px; width: 100%; max-width: 800px; margin-bottom: 20px; } #main-content-box::-webkit-scrollbar { display: none; } #main-content-box::-webkit-scrollbar:vertical { display: none; } /* Inventory decks and container scrolling */ .inventory-container, .skins-container, .marketplace-container, .loadout-container, .operatives-container, .mp-store-column, .mp-orders-column, .mp-orders-list, .mp-orderbook-panel { max-height: 420px; overflow-y: scroll; -ms-overflow-style: none; scrollbar-width: none; background: rgba(10, 14, 18, 0.45); backdrop-filter: blur(20px) saturate(180%); box-sizing: border-box; } .inventory-container::-webkit-scrollbar, .skins-container::-webkit-scrollbar, .marketplace-container::-webkit-scrollbar, .loadout-container::-webkit-scrollbar, .operatives-container::-webkit-scrollbar, .mp-store-column::-webkit-scrollbar, .mp-orders-column::-webkit-scrollbar, .mp-orders-list::-webkit-scrollbar, .mp-orderbook-panel::-webkit-scrollbar { display: none; } /* === BACKGROUND PNG ALPHA HARMONIZATION === */ body, html { background-image: url('bg.png'); background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; } /* Layered glass panels — bg.png bleeds through */ .glass-hud, #app-root { background: rgba(10, 14, 18, 0.45); backdrop-filter: blur(20px) saturate(180%); } /* === USER PROFILE HUD === */ .user-profile-hud { position: sticky; top: 0; display: flex; flex-direction: column; gap: 10px; padding: 12px; margin-bottom: 12px; background: rgba(10, 14, 18, 0.55); border: 1px solid var(--border-tactical); box-shadow: 0 0 15px rgba(0, 229, 255, 0.15); border-radius: 0; backdrop-filter: blur(20px) saturate(180%); } .user-profile-hud .profile-header { display: flex; align-items: center; gap: 12px; } .user-profile-hud .profile-avatar { width: 48px; height: 48px; border: 2px solid var(--border-tactical-strong); box-shadow: 0 0 10px rgba(0, 229, 255, 0.3); flex-shrink: 0; } .user-profile-hud .profile-info { flex: 1; min-width: 0; } .user-profile-hud .profile-name { font-family: 'Orbitron', monospace; font-size: 13px; font-weight: 700; color: var(--text-primary); text-transform: uppercase; letter-spacing: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .user-profile-hud .profile-id { font-family: 'Courier New', monospace; font-size: 9px; color: var(--text-secondary); letter-spacing: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .user-profile-hud .logout-btn { margin-top: 8px; padding: 6px 12px; font-family: 'Orbitron', monospace; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--accent-orange); background: rgba(255, 101, 0, 0.1); border: 1px solid var(--accent-orange); border-radius: 0; cursor: pointer; transition: all 0.2s ease; backdrop-filter: blur(10px); } .user-profile-hud .logout-btn:hover { background: rgba(255, 101, 0, 0.25); border-color: var(--border-tactical-strong); box-shadow: 0 0 15px rgba(255, 101, 0, 0.4); transform: scale(1.02); } /* === USER SETTINGS BUTTON === */ .user-settings-btn { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 12px; padding: 8px 12px; font-family: 'Orbitron', monospace; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--accent-blue); background: rgba(0, 229, 255, 0.1); border: 1px solid var(--accent-blue); border-radius: 0; cursor: pointer; transition: all 0.2s ease; backdrop-filter: blur(10px); } .user-settings-btn:hover { background: rgba(0, 229, 255, 0.25); border-color: var(--border-tactical-strong); box-shadow: 0 0 15px rgba(0, 229, 255, 0.4); transform: scale(1.02); } .user-settings-btn .gear-icon { font-size: 12px; color: var(--accent-orange); } /* === TACTICAL NAVIGATION SCROLL LOCK === */ .tactical-nav { overflow-y: hidden; } .tactical-nav .nav-list { max-height: 420px; overflow-y: scroll; -ms-overflow-style: none; scrollbar-width: none; } .tactical-nav .nav-list::-webkit-scrollbar { display: none; }