/* GameHeader.css - Unified Tech HUD Theme */ .game-header { display: flex; justify-content: space-between; align-items: center; padding: 0 1rem; height: 60px; background-color: rgba(5, 5, 8, 0.9); border-bottom: 2px solid rgba(225, 29, 72, 0.4); backdrop-filter: blur(16px); position: sticky; top: 0; z-index: 1000; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5), inset 0 -1px 0 rgba(225, 29, 72, 0.2); /* Tech grid background pattern */ background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px); background-size: 20px 20px; } .header-left { display: flex; align-items: center; } .header-title-container { display: flex; align-items: baseline; padding: 0.4rem 1.2rem; background: linear-gradient(135deg, rgba(225, 29, 72, 0.1) 0%, transparent 100%); border: 1px solid rgba(225, 29, 72, 0.3); /* Angled Cut */ clip-path: var(--game-clip-path); border-left: 3px solid var(--game-color-primary); position: relative; } .header-left h1 { margin: 0; font-size: 1.2rem; font-weight: 800; color: #fff; letter-spacing: 1px; text-transform: uppercase; font-family: 'Orbitron', 'Saira Condensed', sans-serif; text-shadow: 0 0 10px rgba(225, 29, 72, 0.4); line-height: 1; } .header-version { font-size: 0.65rem; color: var(--game-color-primary); margin-left: 0.5rem; font-family: monospace; opacity: 0.8; } /* --- Center Section: Location/Combat Title --- */ .header-center { position: absolute; left: 50%; transform: translateX(-50%); display: flex; justify-content: center; align-items: center; padding: 0 1rem; z-index: 10; } .header-location-title { display: flex; align-items: center; gap: 0.75rem; padding: 0.4rem 1.2rem; background: linear-gradient(135deg, rgba(107, 185, 240, 0.1) 0%, transparent 100%); border: 1px solid rgba(107, 185, 240, 0.3); clip-path: var(--game-clip-path); } .header-location-title.combat { background: linear-gradient(135deg, rgba(225, 29, 72, 0.15) 0%, transparent 100%); border-color: rgba(225, 29, 72, 0.4); animation: combat-pulse 2s infinite; } @keyframes combat-pulse { 0%, 100% { box-shadow: 0 0 5px rgba(225, 29, 72, 0.3); } 50% { box-shadow: 0 0 15px rgba(225, 29, 72, 0.5); } } .header-location-title .location-name { font-size: 1.1rem; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: 0.5px; } .header-location-title .combat-indicator { font-size: 1.2rem; } .header-location-title .turn-indicator { font-size: 0.75rem; font-weight: 600; padding: 0.2rem 0.5rem; text-transform: uppercase; clip-path: var(--game-clip-path-sm); } .header-location-title .turn-indicator.your-turn { background: rgba(76, 175, 80, 0.3); color: #4caf50; border: 1px solid rgba(76, 175, 80, 0.5); } .header-location-title .turn-indicator.enemy-turn { background: rgba(244, 67, 54, 0.3); color: #f44336; border: 1px solid rgba(244, 67, 54, 0.5); } /* --- Right Section: Navigation + User Info --- */ .header-right { display: flex; align-items: center; gap: 0.8rem; } /* --- Navigation Tabs (Unified Angled Style) --- */ .nav-links { display: flex; gap: 4px; /* Tight gaps for HUD feel */ align-items: center; height: 100%; } .nav-link { height: 36px; min-height: 36px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.1); padding: 0 1.2rem; color: var(--game-text-secondary); cursor: pointer; font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); display: flex; align-items: center; justify-content: center; gap: 0.5rem; /* Tech Shape: Angled top-left and bottom-right */ clip-path: var(--game-clip-path); position: relative; } .nav-link:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.3); color: #fff; text-shadow: 0 0 5px rgba(255, 255, 255, 0.5); transform: translateY(-1px); } .nav-link.active { background: rgba(225, 29, 72, 0.15); border-color: var(--game-color-primary); color: #fff; box-shadow: inset 0 0 10px rgba(225, 29, 72, 0.1); } /* Active indicator "Light" */ .nav-link.active::after { content: ''; position: absolute; top: 2px; right: 2px; width: 6px; height: 6px; background: var(--game-color-primary); box-shadow: 0 0 5px var(--game-color-primary); } /* --- User Info Section (Unified Style) --- */ .user-info { display: flex; align-items: center; gap: 0.8rem; } /* Tech Player Badge - Matches Nav Link Shape */ .player-count-badge { height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 12px; background-color: rgba(0, 0, 0, 0.6); border: 1px solid rgba(76, 209, 55, 0.3); clip-path: var(--game-clip-path-sm); font-size: 0.8rem; color: #aaddaa; font-family: monospace; } .status-dot { width: 6px; height: 6px; background-color: #4cd137; box-shadow: 0 0 6px #4cd137; /* Start square/diamond for tech feel */ transform: rotate(45deg); animation: pulse 2s infinite; } @keyframes pulse { 0% { box-shadow: 0 0 4px #4cd137; opacity: 1; } 50% { box-shadow: 0 0 8px #4cd137; opacity: 0.6; } 100% { box-shadow: 0 0 4px #4cd137; opacity: 1; } } /* Username Link - Matches Nav Link Style exactly */ .username-link { height: 36px; background: rgba(10, 10, 15, 0.8); border: 1px solid rgba(255, 255, 255, 0.15); padding: 0 1.2rem; color: var(--game-text-primary); cursor: pointer; font-size: 0.85rem; font-weight: 700; transition: all 0.2s; /* Same tech shape */ clip-path: var(--game-clip-path-sm); text-transform: uppercase; display: flex; align-items: center; } .username-link:hover { background: rgba(255, 255, 255, 0.1); border-color: var(--game-color-primary); color: #fff; } .username-link.active { border-color: var(--game-color-primary); background: rgba(225, 29, 72, 0.15); box-shadow: 0 0 10px rgba(225, 29, 72, 0.1); } /* Icon Buttons (Account/Logout) - Tech Squares */ .header-icon-btn { width: 36px; height: 36px; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.15); color: var(--game-text-secondary); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 1rem; transition: all 0.2s; /* Angled corners */ clip-path: var(--game-clip-path-sm); } .header-icon-btn:hover { background: rgba(255, 255, 255, 0.1); border-color: var(--game-text-primary); color: #fff; transform: scale(1.05); } /* Override Language Selector Styles in Header context */ .game-header .language-btn { height: 36px; border-radius: 0; clip-path: var(--game-clip-path-sm); background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.15); } .game-header .language-btn:hover { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.3); } .game-header .language-dropdown { border-radius: 0; border: 1px solid var(--game-border-color); background: rgba(10, 10, 15, 0.95); clip-path: var(--game-clip-path); } /* Separator line */ .header-sep { width: 1px; height: 24px; background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.2), transparent); margin: 0 2px; }