:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--color-bg-primary: #0a0a0a;--color-bg-secondary: #1a1a1a;--color-bg-tertiary: #2a2a2a;--color-text-primary: #e5e5e5;--color-text-secondary: #a0a0a0;--color-accent: #00d4ff;--color-accent-hover: #00a8cc;--color-border: #333333;color-scheme:dark;color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-accent);text-decoration:inherit}a:hover{color:var(--color-accent-hover)}body{margin:0;padding:0;min-width:320px;min-height:100vh;overflow-x:hidden}h1{font-size:clamp(1.5rem,5vw,3.2em);line-height:1.1}button{border-radius:8px;border:1px solid var(--color-border);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;transition:all .25s ease;-webkit-touch-callout:none;-webkit-user-select:none}button:hover{border-color:var(--color-accent);background-color:var(--color-bg-tertiary)}button:focus,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(max-width:480px){h1{font-size:clamp(1.2rem,4vw,2rem)}button{padding:.5em 1em;font-size:.95em}}.login-screen{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a,#0a0a0a);display:flex;align-items:center;justify-content:center;padding:20px;overflow-x:hidden}.login-container{background:#1a1a1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #333;border-radius:20px;padding:40px;max-width:400px;width:100%;box-shadow:0 8px 32px #000c}.login-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.login-container h1{color:#fff;font-size:clamp(1.8rem,6vw,2.5rem);margin:0;text-shadow:0 0 20px rgba(0,212,255,.3)}.login-container .subtitle{text-align:center;color:#a0a0a0;margin-bottom:30px;font-size:clamp(.8rem,2vw,.9rem)}.mode-toggle{display:flex;gap:10px;margin-bottom:20px;background:#0a0a0a;padding:5px;border-radius:10px}.mode-toggle button{flex:1;padding:12px;background:transparent;border:none;color:#a0a0a0;border-radius:8px;cursor:pointer;transition:all .3s;font-size:clamp(.8rem,2vw,1rem)}.mode-toggle button.active{background:#00d4ff;color:#0a0a0a;font-weight:600;box-shadow:0 4px 15px #00d4ff4d}.mode-toggle button:hover:not(.active){background:#2a2a2a;color:#e5e5e5}.login-form{display:flex;flex-direction:column;gap:15px}.login-form input{padding:15px;background:#0a0a0a;border:1px solid #333;border-radius:10px;color:#e5e5e5;font-size:clamp(.95rem,2vw,1rem);transition:all .3s}.login-form input:focus{outline:none;border-color:#00d4ff;box-shadow:0 0 15px #00d4ff4d;background:#0f0f0f}.login-form input::placeholder{color:#666}.error-message{padding:12px;background:#ff44441a;border:1px solid #ff4444;border-radius:8px;color:#f66;text-align:center;font-size:clamp(.8rem,2vw,.9rem)}.login-form button[type=submit]{padding:15px;background:#00d4ff;border:none;border-radius:10px;color:#0a0a0a;font-size:clamp(1rem,2vw,1.1rem);font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #00d4ff4d;-webkit-touch-callout:none}.login-form button[type=submit]:hover:not(:disabled){background:#00a8cc;transform:translateY(-2px);box-shadow:0 6px 20px #00d4ff66}.login-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.info-text{margin-top:20px;text-align:center;color:#a0a0a0;font-size:clamp(.75rem,2vw,.9rem)}.disclaimer-box{display:flex;align-items:flex-start;gap:12px;margin-top:20px;padding:16px;background:#00d4ff0d;border:1px solid rgba(0,212,255,.3);border-radius:10px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.disclaimer-icon{font-size:1.5rem;flex-shrink:0;line-height:1}.disclaimer-content{flex:1}.disclaimer-content strong{display:block;color:#00d4ff;margin-bottom:6px;font-size:clamp(.85rem,2vw,.95rem)}.disclaimer-content p{color:#a0a0a0;font-size:clamp(.75rem,1.5vw,.85rem);line-height:1.4;margin:0}.legal-links{margin-top:30px;text-align:center;font-size:clamp(.75rem,1.5vw,.85rem);color:#666}.legal-links a{color:#00d4ff;text-decoration:none;transition:color .3s}.legal-links a:hover{color:#00a8cc;text-decoration:underline}.legal-links span{margin:0 10px;color:#666}@media(max-width:768px){.login-screen{padding:20px 15px}.login-container{padding:35px 25px;border-radius:16px}.login-form input{font-size:16px}}@media(max-width:480px){.login-screen{padding:15px 10px}.login-container{padding:25px 20px;border-radius:12px}.login-header{margin-bottom:8px;flex-direction:column;gap:.75rem;align-items:center}.login-container h1{font-size:1.8rem}.login-container .subtitle{margin-bottom:25px;font-size:.85rem}.mode-toggle{gap:8px;padding:4px;margin-bottom:15px}.mode-toggle button{padding:10px;font-size:.9rem}.login-form{gap:12px}.login-form input,.login-form button[type=submit]{padding:12px}.disclaimer-box{margin-top:15px;padding:12px;gap:10px}.disclaimer-icon{font-size:1.2rem}.legal-links{margin-top:20px;font-size:.75rem}.legal-links span{margin:0 5px}}.language-switcher{position:relative;display:inline-block}.lang-dropdown-trigger{padding:10px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:8px;white-space:nowrap;min-width:100px}.lang-dropdown-trigger:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:0 4px 12px #4a90e233}.dropdown-arrow{font-size:.7rem;transition:transform .3s ease;opacity:.7;margin-left:auto}.dropdown-arrow.open{transform:rotate(180deg)}.lang-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:#1a1a2efa;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:0 8px 24px #0006;overflow:hidden;z-index:1000;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.lang-dropdown-item{width:100%;padding:12px 16px;background:transparent;border:none;color:#fff;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:10px;transition:all .2s ease;text-align:left}.lang-dropdown-item:hover{background:#4a90e233}.lang-dropdown-item.active{background:#4a90e24d;color:#4a90e2}.checkmark{color:#4a90e2;font-weight:700;margin-left:auto}@media(max-width:768px){.lang-dropdown-trigger{padding:8px 12px;font-size:.85rem;min-width:90px}.lang-dropdown-menu{min-width:160px}.lang-dropdown-item{padding:10px 14px;font-size:.85rem}}@media(max-width:480px){.lang-dropdown-trigger{padding:6px 10px;font-size:.8rem;min-width:80px;gap:6px}.lang-flag{font-size:1rem}.lang-code{font-size:.75rem}.lang-dropdown-menu{min-width:150px}.lang-dropdown-item{padding:10px 12px;font-size:.8rem}}.game-dashboard{width:100%;min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a);color:#e5e5e5;padding:20px;overflow-x:hidden}.dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px;padding:20px;background:#1a1a1a;border-radius:10px;border:1px solid #333;flex-wrap:wrap}.dashboard-header h1{font-size:clamp(1.5em,5vw,2.5em);margin:0;color:#fff;text-shadow:0 0 20px rgba(0,212,255,.3)}.player-info{display:flex;align-items:center;gap:15px;flex-wrap:wrap;justify-content:flex-end}.player-name{font-size:clamp(1em,2vw,1.2em);color:#00d4ff}.admin-badge{background:#00d4ff;color:#0a0a0a;padding:5px 15px;border-radius:20px;font-size:.9em;font-weight:700}.logout-button{background:#1a1a1a;border:1px solid #ff4444;color:#f66;padding:8px 20px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px}.logout-button:hover{background:#2a2a2a;border-color:#f66;color:#f88;transform:translateY(-2px);box-shadow:0 4px 12px #ff44444d}.dashboard-tabs{display:flex;gap:10px;margin-bottom:30px}.tab{padding:15px 30px;background:#1a1a1a;border:1px solid #333;border-radius:10px;color:#e5e5e5;font-size:1.1em;cursor:pointer;transition:all .3s ease}.tab:hover{background:#2a2a2a;border-color:#00d4ff}.tab.active{background:#00d4ff;border-color:#00d4ff;color:#0a0a0a;font-weight:600}.create-game-btn{margin-left:auto;background:#00d4ff;color:#0a0a0a;font-weight:700;border:1px solid #00d4ff}.dashboard-content{margin-bottom:30px}.games-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.game-card{background:#1a1a1a;border:1px solid #333;border-radius:15px;padding:20px;transition:all .3s ease}.game-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #00d4ff4d;border-color:#00d4ff}.game-card.my-game{border:2px solid #00d4ff;background:#00d4ff0d}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #333}.game-header h3{margin:0;font-size:1.5em;color:#00d4ff}.game-status{padding:5px 15px;border-radius:20px;font-size:.9em;font-weight:700;color:#000}.game-info{margin-bottom:15px}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.info-row span:first-child{color:#fff9}.info-row span:last-child{font-weight:700}.faction-badge{background:linear-gradient(45deg,#7b2cbf,#ff0080);padding:3px 10px;border-radius:10px;font-size:.9em}.game-factions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.faction-mini{display:flex;flex-direction:column;background:#ffffff0d;padding:8px 12px;border-radius:8px;font-size:.9em}.faction-mini span:first-child{font-weight:700}.faction-mini span:last-child{font-size:.85em;color:#fff9}.game-actions{display:flex;gap:10px}.enter-game-btn,.join-game-btn{flex:1;padding:12px;background:linear-gradient(45deg,#00d4ff,#7b2cbf);border:none;border-radius:10px;color:#fff;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .3s ease}.enter-game-btn:hover,.join-game-btn:hover{transform:scale(1.05);box-shadow:0 5px 20px #00d4ff80}.join-game-btn:disabled{background:#666;cursor:not-allowed;opacity:.5}.join-game-btn:disabled:hover{transform:none;box-shadow:none}.delete-game-btn{padding:12px 20px;background:#dc354533;border:1px solid rgba(220,53,69,.5);border-radius:10px;color:#ff6b6b;font-size:1em;font-weight:700;cursor:pointer;transition:all .3s ease}.delete-game-btn:hover{background:#dc354566;border-color:#dc3545cc;transform:scale(1.05)}.no-games{text-align:center;padding:60px 20px;background:#ffffff0d;border-radius:15px;border:2px dashed rgba(255,255,255,.2)}.no-games p{font-size:1.3em;margin-bottom:20px;color:#fff9}.no-games button{padding:15px 30px;background:linear-gradient(45deg,#00d4ff,#7b2cbf);border:none;border-radius:10px;color:#fff;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .3s ease}.no-games button:hover{transform:scale(1.05)}.dashboard-footer{background:#ffffff0d;border-radius:10px;padding:20px;border:1px solid rgba(255,255,255,.1)}.stats{display:flex;gap:30px;justify-content:center}.stat{display:flex;flex-direction:column;align-items:center}.stat-label{color:#fff9;font-size:.9em;margin-bottom:5px}.stat-value{font-size:2em;font-weight:700;background:linear-gradient(45deg,#00d4ff,#7b2cbf);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.loading{text-align:center;padding:100px;font-size:1.5em;color:#00d4ff}@media(max-width:768px){.games-list{grid-template-columns:1fr}.dashboard-tabs{flex-direction:column;gap:8px}.dashboard-tabs .tab{padding:12px 20px;font-size:1em}.create-game-btn{margin-left:0;width:100%}.stats{flex-direction:column;gap:15px}.game-card{padding:15px}.game-header{flex-direction:column;align-items:flex-start}.game-header h3{font-size:1.3em}.game-status{margin-top:10px}.logout-button{padding:6px 12px;font-size:.9rem}}@media(max-width:480px){.game-dashboard{padding:15px 10px}.dashboard-header{padding:15px;margin-bottom:20px}.dashboard-header h1{font-size:1.5em}.player-info{width:100%;justify-content:space-between}.player-name{font-size:1em}.admin-badge{padding:4px 10px;font-size:.8em}.logout-button{padding:6px 12px;font-size:.85rem;flex:1}.dashboard-tabs{flex-direction:column;gap:8px;margin-bottom:20px}.tab{padding:10px 16px;font-size:.9em}.games-list{grid-template-columns:1fr;gap:15px}.game-card{padding:12px}.game-factions{flex-wrap:wrap;gap:8px}.faction-mini{padding:6px 10px;font-size:.85em}.game-actions{flex-direction:column;gap:8px}.enter-game-btn,.join-game-btn,.delete-game-btn{padding:10px;font-size:.95em}.no-games{padding:40px 20px}.no-games p{font-size:1.1em}.no-games button{padding:12px 20px;font-size:1em}.dashboard-footer{padding:15px}.stats{flex-direction:column;gap:12px;justify-content:center}.stat-label{font-size:.85em}.stat-value{font-size:1.5em}.loading{padding:60px 20px;font-size:1.2em}}.account-panel{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;margin-bottom:24px}.account-header{margin-bottom:24px}.account-title{display:flex;align-items:center;gap:12px}.account-title h2{color:#fff;font-size:1.8rem;margin:0}.admin-badge{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 2px 8px #f39c124d}.account-content{display:flex;flex-direction:column;gap:20px}.account-section{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:20px}.account-section h3{color:#4a90e2;font-size:1.3rem;margin:0 0 16px;border-bottom:1px solid rgba(74,144,226,.2);padding-bottom:8px}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.profile-item{display:flex;flex-direction:column;gap:4px}.profile-item .label{color:#fff9;font-size:.9rem;font-weight:500}.profile-item .value{color:#fff;font-size:1.1rem;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{background:linear-gradient(135deg,#4a90e21a,#4a90e20d);border:1px solid rgba(74,144,226,.2);border-radius:10px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);border-color:#4a90e266;box-shadow:0 4px 12px #4a90e233}.stat-icon{font-size:2.5rem;line-height:1}.stat-content{flex:1}.stat-value{color:#fff;font-size:2rem;font-weight:700;line-height:1.2}.stat-label{color:#ffffffb3;font-size:.9rem;margin-top:4px}.settings-actions{display:flex;gap:12px;flex-wrap:wrap}.settings-btn{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.settings-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4a90e266}.password-form{display:flex;flex-direction:column;gap:12px;max-width:400px}.password-form input{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;color:#fff;font-size:1rem}.password-form input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-error{background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);color:#e74c3c;padding:10px;border-radius:6px;font-size:.9rem}.form-success{background:#2ecc711a;border:1px solid rgba(46,204,113,.3);color:#2ecc71;padding:10px;border-radius:6px;font-size:.9rem}.form-actions{display:flex;gap:12px}.save-btn,.cancel-btn{padding:10px 20px;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.save-btn{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2ecc7166}.cancel-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.cancel-btn:hover{background:#ffffff26}.info-items{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;gap:12px;align-items:flex-start}.info-icon{font-size:1.5rem;line-height:1}.info-content{flex:1}.info-label{color:#fff9;font-size:.9rem;margin-bottom:4px}.info-value{color:#fff;font-size:.95rem}.info-value.mono{font-family:Courier New,monospace;background:#ffffff0d;padding:4px 8px;border-radius:4px;display:inline-block}.loading,.error{text-align:center;color:#ffffffb3;padding:40px;font-size:1.1rem}.error{color:#e74c3c}@media(max-width:768px){.profile-grid,.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.stat-icon{font-size:2rem}.stat-value,.account-title h2{font-size:1.5rem}}@media(max-width:768px){.account-panel{padding:18px;margin-bottom:18px}.account-title h2{font-size:1.5rem}.account-section{padding:15px}.account-section h3{font-size:1.1rem;margin-bottom:12px}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.profile-item .label{font-size:.85rem}.profile-item .value{font-size:1rem}}@media(max-width:480px){.account-panel{padding:12px;margin-bottom:12px}.account-header{margin-bottom:15px}.account-title{flex-direction:column;align-items:flex-start;gap:8px}.account-title h2{font-size:1.2rem}.admin-badge{padding:3px 10px;font-size:.75rem}.account-content{gap:15px}.account-section{padding:12px}.account-section h3{font-size:1rem;margin-bottom:10px}.profile-grid{grid-template-columns:1fr;gap:10px}.profile-item{gap:3px}.profile-item .label{font-size:.8rem}.profile-item .value{font-size:.95rem}}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;padding:10px}.join-modal{background:linear-gradient(135deg,#1a1a3a,#2a2a4a);border-radius:20px;border:2px solid rgba(0,212,255,.3);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 20px 60px #00d4ff4d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h2{margin:0;color:#00d4ff;font-size:clamp(1.5em,4vw,2em)}.close-btn{background:none;border:none;color:#fff;font-size:2em;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;flex-shrink:0}.close-btn:hover{background:#ffffff1a}.modal-content{padding:30px;color:#fff}.game-details{background:#ffffff0d;padding:20px;border-radius:10px;margin-bottom:30px}.game-details h3{margin:0 0 15px;color:#00d4ff;font-size:clamp(1.1em,3vw,1.3em)}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:clamp(.85em,2vw,1em)}.detail-row span:first-child{color:#fff9}.faction-selection,.role-selection,.sector-selection{margin-bottom:30px}.faction-selection h4,.role-selection h4,.sector-selection h4{color:#00d4ff;margin-bottom:15px;font-size:clamp(1em,2.5vw,1.2em)}.factions-grid,.roles-grid,.sectors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.faction-card,.role-card,.sector-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:10px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:center}.faction-card:hover,.role-card:hover,.sector-card:hover{background:#ffffff1a;transform:translateY(-5px)}.faction-card.selected,.role-card.selected,.sector-card.selected{border-color:#00d4ff;background:#00d4ff33;box-shadow:0 0 20px #00d4ff80}.faction-card h5,.role-card h5,.sector-card h5{margin:0 0 10px;font-size:clamp(1.1em,2vw,1.3em)}.faction-card p,.role-card p,.sector-card p{margin:0;color:#ffffffb3;font-size:clamp(.8em,1.5vw,.95em)}.modal-footer{display:flex;justify-content:flex-end;gap:15px;padding:20px 30px;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap}.cancel-btn,.join-btn{padding:12px 30px;border:none;border-radius:10px;font-size:clamp(.95em,2vw,1.1em);font-weight:700;cursor:pointer;transition:all .3s ease}.cancel-btn{background:#ffffff1a;color:#fff}.cancel-btn:hover{background:#fff3}.join-btn{background:linear-gradient(45deg,#00d4ff,#7b2cbf);color:#fff}.join-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 5px 20px #00d4ff80}.join-btn:disabled{opacity:.5;cursor:not-allowed}.loading,.error{text-align:center;padding:60px;font-size:1.3em;color:#00d4ff}.error{color:#ff0080}@media(max-width:768px){.modal-overlay{padding:15px}.join-modal{border-radius:15px}.modal-header{padding:15px 20px}.modal-header h2{font-size:1.5em}.close-btn{font-size:1.6em;width:36px;height:36px}.modal-content{padding:20px}.game-details{padding:15px;margin-bottom:20px}.game-details h3{margin-bottom:12px}.detail-row{padding:6px 0}.faction-selection,.role-selection,.sector-selection{margin-bottom:20px}.faction-selection h4,.role-selection h4,.sector-selection h4{margin-bottom:12px}.factions-grid,.roles-grid,.sectors-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.faction-card,.role-card,.sector-card{padding:15px}.faction-card h5,.role-card h5,.sector-card h5{font-size:1.1em;margin-bottom:8px}.faction-card p,.role-card p,.sector-card p{font-size:.85em}.modal-footer{padding:15px 20px;gap:10px}.cancel-btn,.join-btn{padding:10px 20px;font-size:.95em}}@media(max-width:480px){.modal-overlay{padding:10px;align-items:flex-end}.join-modal{max-height:90vh;border-radius:12px 12px 0 0;width:100%}.modal-header{padding:12px 15px}.modal-header h2{font-size:1.2em}.close-btn{font-size:1.4em;width:32px;height:32px}.modal-content{padding:15px}.game-details{padding:12px;margin-bottom:15px}.game-details h3{margin-bottom:10px;font-size:1.05em}.detail-row{padding:5px 0;font-size:.85em}.faction-selection,.role-selection,.sector-selection{margin-bottom:15px}.faction-selection h4,.role-selection h4,.sector-selection h4{margin-bottom:10px;font-size:.95em}.factions-grid,.roles-grid,.sectors-grid{grid-template-columns:repeat(2,1fr);gap:10px}.faction-card,.role-card,.sector-card{padding:12px}.faction-card h5,.role-card h5,.sector-card h5{font-size:.95em;margin-bottom:6px}.faction-card p,.role-card p,.sector-card p{font-size:.8em}.modal-footer{padding:12px 15px;gap:8px;flex-direction:column}.cancel-btn,.join-btn{padding:10px 16px;font-size:.9em;flex:1}.loading,.error{padding:40px 20px;font-size:1.1em}}.realtime-timer{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:8px;padding:12px;box-shadow:0 2px 12px #0000004d;margin-bottom:15px;border:1px solid #2ecc71;transition:all .3s ease}.realtime-timer.warning{border-color:#f39c12;animation:pulse-warning 2s ease-in-out infinite}.realtime-timer.critical{border-color:#e74c3c;animation:pulse-critical 1s ease-in-out infinite}@keyframes pulse-warning{0%,to{box-shadow:0 4px 20px #f39c124d}50%{box-shadow:0 4px 30px #f39c1299}}@keyframes pulse-critical{0%,to{box-shadow:0 4px 20px #e74c3c80}50%{box-shadow:0 4px 40px #e74c3ce6}}.timer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.timer-status{font-size:13px;font-weight:600;color:#ecf0f1}.timer-warning{font-size:16px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.timer-main{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.time-display{text-align:center;padding:8px 6px;background:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.time-display.remaining{background:linear-gradient(135deg,#2ecc711a,#3498db1a)}.realtime-timer.warning .time-display.remaining{background:linear-gradient(135deg,#f39c121a,#e67e221a)}.realtime-timer.critical .time-display.remaining{background:linear-gradient(135deg,#e74c3c33,#c0392b33)}.time-label{font-size:10px;color:#95a5a6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.time-value{font-size:24px;font-weight:600;color:#ecf0f1;font-family:Courier New,monospace;margin-bottom:3px;text-shadow:0 1px 6px rgba(0,0,0,.5)}.realtime-timer.critical .time-value{color:#e74c3c;animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.7}}.time-detail{font-size:11px;color:#7f8c8d}.timer-progress{margin-bottom:15px}.progress-bar-container{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:6px;box-shadow:inset 0 1px 3px #0000004d}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#2ecc71,#27ae60);transition:width 1s linear,background-color .3s ease;box-shadow:0 0 10px #2ecc7180}.progress-text{text-align:center;font-size:12px;color:#95a5a6}.timer-details{display:flex;justify-content:space-around;padding:10px 0;border-top:1px solid rgba(255,255,255,.1);margin-top:10px}.detail-item{display:flex;flex-direction:column;align-items:center}.detail-label{font-size:11px;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.detail-value{font-size:14px;color:#ecf0f1;font-weight:500}.timer-alert{margin-top:15px;padding:12px;border-radius:8px;text-align:center;font-weight:700;animation:alert-pulse 1.5s ease-in-out infinite}.timer-alert.warning{background:#f39c1233;border:1px solid #f39c12;color:#f39c12}.timer-alert.critical{background:#e74c3c33;border:1px solid #e74c3c;color:#e74c3c}@keyframes alert-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}@media(max-width:768px){.timer-main{grid-template-columns:1fr;gap:15px}.time-value{font-size:36px}.realtime-timer{padding:15px;margin-bottom:12px}.timer-header{margin-bottom:8px;padding-bottom:6px}.timer-status{font-size:12px}.time-display{padding:6px}.time-label{font-size:9px;margin-bottom:3px}.time-value{font-size:28px;margin-bottom:2px}.time-detail{font-size:10px}.timer-progress{margin-bottom:12px}.progress-bar-container{height:6px;margin-bottom:5px}.progress-text{font-size:11px}.timer-details{padding:8px 0;margin-top:8px}.detail-item{gap:2px}.detail-label{font-size:10px;margin-bottom:2px}.detail-value{font-size:13px}.timer-alert{margin-top:12px;padding:10px;font-size:.9rem}}@media(max-width:480px){.realtime-timer{padding:12px;margin-bottom:10px;border-radius:6px}.timer-header{margin-bottom:8px;padding-bottom:6px;flex-direction:column;align-items:flex-start;gap:4px}.timer-status{font-size:11px}.timer-warning{font-size:14px}.timer-main{grid-template-columns:1fr;gap:12px;margin-bottom:8px}.time-display{padding:6px 4px;border-radius:4px}.time-label{font-size:8px;margin-bottom:2px}.time-value{font-size:20px;margin-bottom:1px}.time-detail{font-size:9px}.timer-progress{margin-bottom:10px}.progress-bar-container{height:5px;margin-bottom:4px;border-radius:2px}.progress-text{font-size:10px}.timer-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 0;margin-top:8px}.detail-item{align-items:flex-start}.detail-label{font-size:9px;margin-bottom:1px}.detail-value{font-size:12px}.timer-alert{margin-top:10px;padding:8px;font-size:.85rem;border-radius:6px}}.galaxy-map-container{width:100%;min-height:calc(100vh - 200px);height:100%;background:linear-gradient(135deg,#0a0a1a,#1a1a3a);position:relative;overflow:hidden}.galaxy-map-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ecf0f1}.loading-spinner{font-size:64px;animation:spin 3s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.map-controls{position:absolute;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;z-index:40;pointer-events:none;gap:12px}.map-info,.map-legend{pointer-events:auto}.map-info{display:flex;gap:20px;background:#000000b3;padding:12px 20px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.map-info span{color:#ecf0f1;font-size:14px;font-weight:600}.map-legend{display:flex;flex-wrap:wrap;gap:15px;background:#000000b3;padding:12px 20px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);max-width:600px}.legend-item{display:flex;align-items:center;gap:8px;color:#ecf0f1;font-size:12px}.faction-legend-divider{width:100%;height:1px;background:#ffffff1a;margin:8px 0}.faction-legend-title{width:100%;color:#ecf0f1;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-top:4px}.legend-dot{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.5)}.legend-dot.neutral{background:#2c3e50}.legend-dot.controlled{background:#2ecc71}.legend-dot.contested{background:#e74c3c;animation:pulse-contested 1s ease-in-out infinite}.faction-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.3)}@keyframes pulse-contested{0%,to{opacity:1}50%{opacity:.5}}.zoom-controls{position:absolute;bottom:30px;right:30px;display:flex;flex-direction:column;gap:10px;z-index:40}.zoom-controls button{width:40px;height:40px;background:#000c;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ecf0f1;font-size:20px;font-weight:700;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.zoom-controls button:hover{background:#00d4ff4d;border-color:#00d4ff;transform:scale(1.1)}.galaxy-transform-wrapper{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:flex;align-items:center;justify-content:center;overflow:hidden}.galaxy-transform-content{width:100%!important;height:100%!important;display:flex;align-items:center;justify-content:center;pointer-events:none}.galaxy-svg{width:100%;height:100%;max-width:2200px;max-height:calc(100vh - 160px);background:radial-gradient(ellipse at center,#1a1a3a,#0a0a1a);display:block;pointer-events:auto}.connection{transition:all .18s ease;cursor:pointer;pointer-events:auto}.connection:hover{stroke:#00d4ff!important;stroke-width:2!important}.connection.highlighted{animation:dash 1s linear infinite}@keyframes dash{to{stroke-dashoffset:-10}}.territory-overlay{transition:all .5s ease;pointer-events:none}.node{cursor:pointer;pointer-events:auto}.node:hover .node-circle{filter:brightness(1.2);r:38}.node.selected .node-circle{stroke:#00d4ff;stroke-width:4}.node-circle{transition:all .18s ease}.node.contested .node-circle{animation:flash-red 1.2s ease-in-out infinite}@keyframes flash-red{0%,to{filter:drop-shadow(0 0 6px #e74c3c)}50%{filter:drop-shadow(0 0 18px #e74c3c)}}.selection-ring{opacity:.6;pointer-events:none}.node-icon,.node-name,.node-resources{pointer-events:none;-webkit-user-select:none;user-select:none}.unit-stack{cursor:pointer;transition:transform .16s ease;pointer-events:auto}.unit-stack:hover{transform:scale(1.12)}.unit-stack circle{filter:drop-shadow(0 0 5px rgba(0,0,0,.8))}.node-detail-panel{position:absolute;top:100px;right:20px;width:320px;max-height:calc(100% - 140px);background:#141428f2;border:1px solid rgba(255,255,255,.2);border-radius:12px;overflow:hidden;z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 40px #00000080;animation:slideIn .28s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:linear-gradient(135deg,#00d4ff33,#7b2cbf33);border-bottom:1px solid rgba(255,255,255,.1)}.panel-header h3{margin:0;color:#ecf0f1;font-size:18px;display:flex;align-items:center;gap:8px}.panel-header button{background:none;border:none;color:#ecf0f1;font-size:28px;cursor:pointer;transition:all .3s ease;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.panel-header button:hover{color:#e74c3c;transform:rotate(90deg)}.panel-content{padding:20px;overflow-y:auto;max-height:calc(100vh - 240px)}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);color:#ecf0f1;font-size:14px}.detail-row span:first-child{color:#95a5a6;font-weight:600}.detail-row span:last-child{font-weight:600}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.neutral{background:#95a5a64d;color:#95a5a6}.status-badge.controlled{background:#2ecc714d;color:#2ecc71}.status-badge.contested{background:#e74c3c4d;color:#e74c3c}.panel-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.action-btn{padding:10px;background:linear-gradient(135deg,#00d4ff33,#7b2cbf33);border:1px solid rgba(0,212,255,.3);border-radius:8px;color:#ecf0f1;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.action-btn:hover{background:linear-gradient(135deg,#00d4ff66,#7b2cbf66);border-color:#00d4ff;transform:translateY(-2px)}.connected-nodes{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.connected-nodes h4{margin:0 0 12px;color:#ecf0f1;font-size:14px;font-weight:600}.connected-list{display:flex;flex-direction:column;gap:8px}.connected-item{padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ecf0f1;font-size:13px;cursor:pointer;transition:all .3s ease}.connected-item:hover{background:#00d4ff33;border-color:#00d4ff;transform:translate(5px)}.node-tooltip{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#141428f2;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:12px 16px;color:#ecf0f1;font-size:13px;z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #00000080;pointer-events:none}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.node-tooltip strong{display:block;margin-bottom:4px;color:#00d4ff}.node-tooltip div{margin:2px 0}@media(max-width:1024px){.map-controls{top:15px;right:15px;left:15px;gap:10px}.zoom-controls{bottom:20px;right:20px}.zoom-controls button{width:38px;height:38px;font-size:18px}.node-detail-panel{width:300px;right:15px}}@media(max-width:768px){.galaxy-map-container{min-height:calc(100vh - 150px)}.map-controls{flex-direction:column;align-items:flex-start;gap:8px;top:10px;right:10px;left:10px}.map-info{gap:12px;padding:10px 15px;font-size:12px;width:100%}.map-legend{gap:12px;padding:10px 15px;width:100%}.legend-item{gap:6px;font-size:11px}.legend-dot{width:10px;height:10px}.zoom-controls{bottom:15px;right:15px;gap:8px}.zoom-controls button{width:36px;height:36px;font-size:16px}.node-detail-panel{width:calc(100% - 30px);inset:auto 15px 100px;max-height:45vh}.panel-header{padding:12px 15px}.panel-header h3{font-size:16px;gap:6px}.panel-header button{font-size:24px;width:28px;height:28px}.panel-content{padding:15px;max-height:calc(45vh - 60px)}.detail-row{padding:8px 0;font-size:12px}.status-badge{padding:3px 10px;font-size:11px}.panel-actions{gap:8px;margin-top:15px;padding-top:15px}.action-btn{padding:8px;font-size:11px}.connected-nodes h4{font-size:13px;margin-bottom:10px}.connected-list{gap:6px}.connected-item{padding:6px 10px;font-size:12px}.node-tooltip{bottom:100px;padding:10px 14px;font-size:12px}.node-tooltip strong{margin-bottom:3px}.galaxy-svg{max-height:calc(100vh - 160px)}}@media(max-width:480px){.galaxy-map-container{min-height:calc(100vh - 120px)}.map-controls{top:8px;right:8px;left:8px;gap:6px;flex-direction:column}.map-info{gap:10px;padding:8px 12px;font-size:10px;width:100%;border-radius:6px}.map-info span{font-size:10px}.map-legend{gap:10px;padding:8px 12px;width:100%;border-radius:6px;flex-wrap:wrap}.legend-item{gap:5px;font-size:9px}.legend-dot{width:8px;height:8px;border-width:1px}.zoom-controls{bottom:12px;right:12px;gap:6px}.zoom-controls button{width:32px;height:32px;font-size:14px}.zoom-controls button:hover{transform:scale(1.08)}.node-detail-panel{width:calc(100% - 20px);right:10px;left:10px;bottom:80px;max-height:40vh;border-radius:10px}.panel-header{padding:10px 12px}.panel-header h3{font-size:14px;gap:5px}.panel-header button{font-size:20px;width:26px;height:26px}.panel-content{padding:12px;max-height:calc(40vh - 50px)}.detail-row{padding:6px 0;font-size:11px}.detail-row span:first-child{font-size:10px}.status-badge{padding:2px 8px;font-size:9px}.panel-actions{grid-template-columns:repeat(2,1fr);gap:6px;margin-top:12px;padding-top:12px}.action-btn{padding:6px;font-size:9px}.connected-nodes{margin-top:12px;padding-top:12px}.connected-nodes h4{font-size:12px;margin-bottom:8px}.connected-list{gap:5px}.connected-item{padding:5px 8px;font-size:11px}.node-tooltip{bottom:80px;padding:8px 12px;font-size:11px;border-radius:6px}.node-tooltip strong{margin-bottom:2px;font-size:11px}.node-tooltip div{margin:1px 0;font-size:10px}.galaxy-svg{max-height:calc(100vh - 160px)}.node,.unit-stack{pointer-events:auto}}.game-interface{display:flex;flex-direction:column;height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a,#0f0f0f);color:#e5e5e5}.game-interface.loading,.game-interface.error{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px}.game-header{background:#0a0a0a;padding:15px 30px;border-bottom:1px solid #333;box-shadow:0 4px 20px #00000080}.game-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.game-title h1{margin:0;font-size:28px;color:#fff;text-shadow:0 0 20px rgba(0,212,255,.3)}.game-meta{display:flex;gap:15px;align-items:center}.turn-counter{font-size:16px;font-weight:600;color:#a8b2d1}.status-badge{padding:5px 15px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.player-info-bar{display:flex;justify-content:space-between;align-items:center}.faction-badge{display:flex;align-items:center;gap:15px;padding:8px 20px;background:#1a1a1a;border-left:4px solid;border-radius:8px}.faction-name{font-size:18px;font-weight:700}.role-badge{padding:4px 12px;background:#2a2a2a;border-radius:15px;font-size:13px}.permission-badge{padding:4px 12px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.5);border-radius:15px;font-size:11px;color:#00d4ff;cursor:help}.header-actions{display:flex;gap:10px;align-items:center}.vote-container{display:flex;align-items:center;gap:10px}.vote-start-btn{padding:10px 24px;background:#00d4ff;border:none;border-radius:8px;color:#0a0a0a;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px;box-shadow:0 4px 12px #00d4ff4d}.vote-start-btn:hover{background:#00a8cc;transform:translateY(-2px);box-shadow:0 6px 16px #00d4ff66}.vote-status{display:flex;flex-direction:column;gap:4px;padding:8px 16px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);border-radius:8px}.voted-badge{font-size:13px;font-weight:600;color:#00d4ff}.vote-count{font-size:12px;color:#a8b2d1;font-weight:500}.start-game-btn{padding:8px 20px;background:#1a1a1a;border:1px solid #00d4ff;border-radius:8px;color:#00d4ff;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px}.start-game-btn:hover{background:#2a2a2a;transform:translateY(-2px);box-shadow:0 4px 12px #00d4ff4d}.exit-game-btn{padding:8px 20px;background:#1a1a1a;border:1px solid #ff4444;border-radius:8px;color:#f66;font-weight:600;cursor:pointer;transition:all .3s ease}.exit-game-btn:hover{background:#2a2a2a;border-color:#f66;transform:translate(-3px)}.game-time-info{padding:3px 8px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);border-radius:12px;font-size:11px;color:#00d4ff;font-weight:500}.game-nav{display:flex;background:#0a0a0a;padding:0 20px;border-bottom:1px solid #333;overflow-x:auto}.nav-tab{padding:15px 25px;background:none;border:none;border-bottom:3px solid transparent;color:#a0a0a0;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.nav-tab:hover{color:#e5e5e5;background:#1a1a1a}.nav-tab.active{color:#00d4ff;border-bottom-color:#00d4ff;background:#00d4ff0d}.game-content{display:flex;flex:1;overflow:hidden}.game-sidebar{width:320px;background:#0a0a0a;border-right:1px solid #333;padding:20px;overflow-y:auto}.game-main{flex:1;padding:20px;overflow-y:auto}.resource-panel{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:20px;margin-bottom:20px}.resource-panel h3{margin:0 0 15px;font-size:18px;color:#00d4ff}.resource-item{display:flex;align-items:center;gap:15px;padding:12px;background:#0a0a0a;border-radius:8px;margin-bottom:10px}.resource-icon{font-size:28px}.resource-info{flex:1;display:flex;flex-direction:column}.resource-label{font-size:12px;color:#a8b2d1;text-transform:uppercase}.resource-value{font-size:24px;font-weight:700;color:#fff}.quick-stats{background:#ffffff0d;border-radius:12px;padding:20px}.quick-stats h3{margin:0 0 15px;font-size:18px;color:#667eea}.stat-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#a8b2d1}.stat-item:last-child{border-bottom:none}.stat-value{font-weight:700;color:#fff}.panel{background:#ffffff0d;border-radius:12px;padding:30px}.panel h2{margin:0 0 25px;font-size:24px;color:#667eea}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px}.overview-card{background:#0000004d;border-radius:10px;padding:20px;border:1px solid rgba(255,255,255,.1)}.overview-card h3{margin:0 0 15px;font-size:18px;color:#a8b2d1}.objectives-list{list-style:none;padding:0;margin:0}.objective-item{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff0d;border-radius:8px;margin-bottom:10px;border-left:3px solid #667eea}.objective-icon{font-size:24px}.events-list{display:flex;flex-direction:column;gap:10px}.event-item{padding:12px;background:#ffffff0d;border-radius:8px;border-left:3px solid #f39c12}.event-time{display:block;font-size:11px;color:#a8b2d1;margin-bottom:5px}.event-text{color:#fff}.ranking-list{display:flex;flex-direction:column;gap:8px}.ranking-item{display:flex;align-items:center;gap:15px;padding:10px;background:#ffffff0d;border-radius:8px}.ranking-item .rank{font-size:18px;font-weight:700;color:#f39c12;min-width:30px}.ranking-item .faction-name{flex:1;font-weight:600}.ranking-item .points{font-weight:700;color:#2ecc71}.coming-soon{text-align:center;padding:60px 20px;color:#a8b2d1}.coming-soon p:first-child{font-size:48px;margin-bottom:20px}.coming-soon p:last-child{font-size:16px;line-height:1.6}.role-info-card{background:#667eea1a;border:2px solid rgba(102,126,234,.3);border-radius:12px;padding:20px;margin-bottom:25px}.role-info-card h3{margin:0 0 10px;color:#667eea;font-size:20px}.role-info-card p{margin:10px 0;color:#a8b2d1}.role-info-card ul{list-style:none;padding:0;margin:15px 0 0}.role-info-card li{padding:8px 0;color:#fff;font-size:14px}.info-banner{display:flex;align-items:center;gap:15px;padding:15px 20px;border-radius:10px;margin-bottom:20px}.info-banner.commander{background:#f1c40f1a;border:2px solid rgba(241,196,15,.3)}.info-banner.sector{background:#2ecc711a;border:2px solid rgba(46,204,113,.3)}.info-banner.restricted{background:#e74c3c1a;border:2px solid rgba(231,76,60,.3)}.info-banner .banner-icon{font-size:32px}.info-banner strong{display:block;margin-bottom:5px;color:#fff;font-size:16px}.info-banner p{margin:0;color:#a8b2d1;font-size:14px}.action-buttons{display:flex;gap:15px;margin-bottom:25px;flex-wrap:wrap}.action-btn{padding:12px 24px;border:2px solid rgba(102,126,234,.5);border-radius:8px;background:#667eea1a;color:#667eea;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.action-btn:hover{background:#667eea33;border-color:#667eea;transform:translateY(-2px)}.action-btn.primary{background:#667eea33;border-color:#667eea}.action-btn.success{background:#2ecc711a;border-color:#2ecc7180;color:#2ecc71}.action-btn.success:hover{background:#2ecc7133;border-color:#2ecc71}.action-btn.danger{background:#e74c3c1a;border-color:#e74c3c80;color:#e74c3c}.action-btn.danger:hover{background:#e74c3c33;border-color:#e74c3c}.access-denied{text-align:center;padding:40px 20px}.commander-view,.sector-view{margin-bottom:20px}.game-sidebar::-webkit-scrollbar,.game-main::-webkit-scrollbar{width:8px}.game-sidebar::-webkit-scrollbar-track,.game-main::-webkit-scrollbar-track{background:#0003}.game-sidebar::-webkit-scrollbar-thumb,.game-main::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}.game-sidebar::-webkit-scrollbar-thumb:hover,.game-main::-webkit-scrollbar-thumb:hover{background:#667eeab3}@media(max-width:1200px){.overview-grid{grid-template-columns:1fr}}@media(max-width:1024px){.game-header{padding:12px 20px}.game-title h1{font-size:24px}.game-nav{overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-tab{padding:12px 18px;font-size:13px}.game-sidebar{width:280px;padding:15px}}@media(max-width:768px){.game-interface{height:auto;min-height:100vh}.game-content{flex-direction:column}.game-sidebar{width:100%;border-right:none;border-bottom:1px solid rgba(255,255,255,.1);max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch}.game-title{flex-direction:column;align-items:flex-start;gap:10px}.game-title h1{font-size:22px}.player-info-bar{flex-direction:column;gap:10px;align-items:stretch}.game-header{padding:12px 15px}.game-nav{padding:0 10px}.nav-tab{padding:12px 15px;font-size:12px}.game-main,.resource-panel{padding:15px}.resource-panel h3{font-size:16px}.quick-stats{padding:15px}.quick-stats h3{font-size:16px}.panel{padding:20px}.panel h2{font-size:20px}.overview-grid{grid-template-columns:1fr}.action-buttons{flex-wrap:wrap;gap:10px}.action-btn{flex:1;min-width:100px}.role-info-card{padding:15px}.role-info-card h3{font-size:18px}.info-banner{gap:10px;padding:12px 15px}.info-banner .banner-icon{font-size:24px}.faction-badge{gap:10px;padding:6px 15px}.faction-name{font-size:16px}.role-badge{padding:3px 10px;font-size:12px}.turn-counter{font-size:14px}.header-actions{gap:8px;flex-wrap:wrap}}@media(max-width:480px){.game-interface{height:auto;min-height:100vh}.game-header{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.1)}.game-title{margin-bottom:8px}.game-title h1{font-size:18px}.game-meta{gap:10px;flex-wrap:wrap}.turn-counter{font-size:12px}.status-badge{padding:4px 10px;font-size:10px}.player-info-bar{flex-direction:column;gap:8px}.faction-badge{flex-direction:row;gap:8px;padding:6px 12px}.faction-name{font-size:14px}.role-badge{padding:2px 8px;font-size:11px}.permission-badge{padding:2px 8px;font-size:10px}.header-actions{gap:6px;width:100%;flex-wrap:wrap}.vote-start-btn,.start-game-btn,.exit-game-btn{padding:8px 16px;font-size:12px}.vote-container{gap:8px}.vote-status{gap:3px;padding:6px 12px}.voted-badge{font-size:11px}.vote-count{font-size:10px}.game-nav{padding:0 8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-tab{padding:10px 12px;font-size:11px;border-bottom-width:2px}.game-content{flex-direction:column}.game-sidebar{width:100%;border-right:none;border-bottom:1px solid rgba(255,255,255,.1);padding:12px;max-height:250px}.game-main{padding:12px}.resource-panel{padding:12px;margin-bottom:15px}.resource-panel h3{font-size:14px;margin-bottom:10px}.resource-item{gap:10px;padding:10px}.resource-icon{font-size:24px}.resource-label{font-size:10px}.resource-value{font-size:18px}.quick-stats{padding:12px}.quick-stats h3{font-size:14px;margin-bottom:10px}.stat-item{padding:8px 0}.panel{padding:15px}.panel h2{font-size:18px;margin-bottom:15px}.overview-grid{grid-template-columns:1fr;gap:12px}.overview-card{padding:15px}.overview-card h3{font-size:15px;margin-bottom:10px}.objectives-list{gap:8px}.objective-item{padding:10px;gap:10px}.objective-icon{font-size:20px}.events-list{gap:8px}.event-item{padding:10px}.event-time{font-size:10px;margin-bottom:4px}.event-text{font-size:13px}.ranking-list{gap:6px}.ranking-item{gap:10px;padding:8px}.ranking-item .rank{font-size:16px;min-width:25px}.ranking-item .faction-name,.ranking-item .points{font-size:13px}.role-info-card{padding:12px;margin-bottom:15px}.role-info-card h3{font-size:16px;margin-bottom:8px}.role-info-card p{font-size:13px;margin:8px 0}.role-info-card li{padding:6px 0;font-size:12px}.info-banner{gap:10px;padding:10px 12px;margin-bottom:15px}.info-banner .banner-icon{font-size:26px}.info-banner strong{font-size:14px;margin-bottom:4px}.info-banner p{font-size:12px}.action-buttons{gap:8px;margin-bottom:15px}.action-btn{padding:10px 12px;font-size:12px}.coming-soon p:first-child{font-size:32px;margin-bottom:15px}.coming-soon p:last-child{font-size:14px}.node-detail-panel{width:calc(100% - 20px);inset:auto 10px 10px;max-height:50vh}}.main-lobby{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a);color:#e5e5e5;padding:20px}.lobby-header{text-align:center;margin-bottom:30px}.lobby-header h1{font-size:2.5rem;color:#fff;text-shadow:0 0 20px rgba(0,212,255,.3);margin-bottom:10px}.lobby-stats{display:flex;gap:30px;justify-content:center;align-items:center;font-size:1.1rem}.lobby-stats span{padding:8px 16px;background:#1a1a1a;border:1px solid #333;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lobby-stats .logout-button{padding:8px 16px;background:#1a1a1a;border:1px solid #ff4444;border-radius:20px;color:#f66;cursor:pointer;transition:all .3s ease;font-size:1rem;font-weight:500}.lobby-stats .logout-button:hover{background:#2a2a2a;border-color:#f66;transform:translateY(-2px)}.lobby-content{display:grid;grid-template-columns:1fr 2fr;gap:20px;max-width:1600px;margin:0 auto}.lobby-left{display:flex;flex-direction:column;gap:20px}.players-section{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.players-section h2{margin-bottom:15px;color:#fff}.players-list{display:flex;flex-direction:column;gap:8px;margin-bottom:15px;max-height:300px;overflow-y:auto}.player-card{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#0a0a0a;border-radius:8px;border-left:3px solid #333;transition:all .3s}.player-card.ready{border-left-color:#00d4ff;background:#00d4ff1a}.ready-badge{color:#00d4ff;font-weight:700}.ready-button{width:100%;padding:12px;font-size:1rem;border:1px solid #333;background:#1a1a1a;color:#e5e5e5;border-radius:8px;cursor:pointer;transition:all .3s}.ready-button:hover{background:#2a2a2a;border-color:#00d4ff}.ready-button.ready{border-color:#00d4ff;background:#00d4ff1a;color:#00d4ff}.chat-section{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;height:400px}.chat-section h3{margin-bottom:10px}.chat-messages{flex:1;overflow-y:auto;margin-bottom:10px;padding:10px;background:#0003;border-radius:8px}.chat-message{margin-bottom:8px;padding:8px;background:#ffffff0d;border-radius:6px}.chat-author{color:#667eea;font-weight:700;margin-right:8px}.chat-input{flex:1;padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff}.chat-input-form button{padding:10px 20px;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .3s}.chat-input-form button:hover{background:#764ba2}.lobby-right{background:#ffffff0d;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.factions-header{margin-bottom:20px}.factions-header h2{font-size:1.8rem;margin:0 0 5px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.factions-subtitle{color:#aaa;font-size:.95rem;margin:0;font-style:italic}.create-faction-btn{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;transition:transform .2s}.create-faction-btn:hover{transform:translateY(-2px)}.create-faction-form{display:flex;gap:10px;margin-bottom:20px;padding:15px;background:#ffffff14;border-radius:8px}.create-faction-form input[type=text]{flex:1;padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff}.create-faction-form input[type=color]{width:60px;height:40px;border:none;border-radius:6px;cursor:pointer}.create-faction-form button{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:700}.factions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.faction-preview-card{background:#ffffff14;border:2px solid;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s}.faction-preview-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000080}.faction-header{padding:15px;text-align:center}.faction-header h3{margin:0;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.faction-description{padding:10px 15px;margin:0;font-size:.9rem;color:#ccc;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.1)}.faction-bonus{padding:10px 15px;background:#667eea26;border-left:3px solid #667eea;margin:10px 15px 0;border-radius:4px}.bonus-label{font-weight:700;color:#667eea;margin-right:8px}.bonus-value{color:#b8c5ff;font-size:.9rem}.faction-info{padding:15px}.faction-info .stat{display:flex;justify-content:space-between;margin-bottom:10px;padding:8px;background:#ffffff0d;border-radius:6px}.commander-badge{margin-top:10px;padding:8px;background:#ffd70033;border:1px solid rgba(255,215,0,.5);border-radius:6px;text-align:center;color:gold;font-weight:700}.join-faction-btn{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:0 0 10px 10px;color:#fff;font-weight:700;cursor:pointer;transition:opacity .3s}.join-faction-btn:hover{opacity:.9}.players-list::-webkit-scrollbar,.chat-messages::-webkit-scrollbar{width:8px}.players-list::-webkit-scrollbar-track,.chat-messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.players-list::-webkit-scrollbar-thumb,.chat-messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.players-list::-webkit-scrollbar-thumb:hover,.chat-messages::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media(max-width:1024px){.lobby-content{grid-template-columns:1fr}}@media(max-width:768px){.main-lobby{padding:15px}.lobby-header{margin-bottom:20px}.lobby-header h1{font-size:2rem}.lobby-stats{gap:15px;flex-wrap:wrap}.lobby-stats span,.lobby-stats .logout-button{padding:6px 12px;font-size:.9rem}.lobby-content{gap:15px}.players-section{padding:15px}.chat-section{height:350px}.factions-grid{grid-template-columns:1fr;gap:15px}.faction-preview-card{border-radius:10px}}@media(max-width:480px){.main-lobby{padding:10px}.lobby-header{margin-bottom:15px}.lobby-header h1{font-size:1.5rem}.lobby-stats{gap:10px;font-size:.9rem}.lobby-stats span,.lobby-stats .logout-button{padding:5px 10px;font-size:.85rem}.lobby-content{grid-template-columns:1fr;gap:12px}.lobby-left{gap:15px}.players-section{padding:12px}.players-section h2{font-size:1.1rem;margin-bottom:10px}.players-list{max-height:200px;gap:6px;margin-bottom:10px}.player-card{padding:8px 12px;border-left-width:2px}.ready-badge{font-size:.85rem}.ready-button{padding:10px;font-size:.9rem}.chat-section{height:300px;padding:12px}.chat-section h3{font-size:1rem;margin-bottom:8px}.chat-messages{max-height:200px;padding:8px;margin-bottom:8px}.chat-message{margin-bottom:6px;padding:6px;font-size:.85rem}.chat-author{font-size:.85rem}.chat-input{padding:8px;font-size:.9rem}.chat-input-form button{padding:8px 16px;font-size:.85rem}.lobby-right{padding:12px}.factions-header h2{font-size:1.3rem}.factions-subtitle{font-size:.85rem}.create-faction-btn{padding:8px 16px;font-size:.9rem}.create-faction-form{gap:8px;padding:12px;flex-wrap:wrap}.create-faction-form input[type=text]{padding:8px;font-size:.9rem}.create-faction-form input[type=color]{width:50px;height:35px}.create-faction-form button{padding:8px 16px;font-size:.9rem}.factions-grid{grid-template-columns:1fr;gap:12px}.faction-preview-card{border-radius:8px;border-width:1.5px}.faction-header{padding:12px}.faction-header h3{font-size:1.1rem}.faction-description{padding:8px 12px;font-size:.85rem}.faction-bonus{margin:8px 12px;padding:8px;font-size:.9rem}.faction-info{padding:12px}.faction-info .stat{padding:6px;margin-bottom:8px;font-size:.9rem}.commander-badge{padding:6px;font-size:.85rem}.join-faction-btn{padding:10px;font-size:.95rem}}.faction-lobby{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a);color:#e5e5e5;padding:20px}.faction-lobby-header{text-align:center;margin-bottom:30px;position:relative}.back-button{position:absolute;left:0;top:10px;padding:10px 20px;background:#1a1a1a;border:1px solid #333;border-radius:8px;color:#e5e5e5;cursor:pointer;transition:all .3s}.back-button:hover{background:#2a2a2a;border-color:#00d4ff}.locked-badge{position:absolute;left:0;top:10px;padding:10px 20px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.4);border-radius:8px;color:#00d4ff;font-weight:700;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.faction-lobby-header h1{font-size:2.5rem;margin-bottom:15px;text-shadow:0 0 20px var(--faction-color)}.faction-stats{display:flex;gap:20px;justify-content:center;font-size:1.1rem}.faction-stats span{padding:8px 16px;background:#1a1a1a;border:1px solid #333;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.faction-lobby-content{display:grid;grid-template-columns:2fr 1fr;gap:20px;max-width:1600px;margin:0 auto}.faction-left{display:flex;flex-direction:column;gap:20px}.role-selection{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.role-selection h2{margin-bottom:20px;text-align:center;color:#fff}.role-card.commander{display:flex;align-items:center;gap:20px;padding:20px;background:#1a1a1a;border:2px solid #00d4ff;border-radius:12px;cursor:pointer;transition:all .3s;margin-bottom:20px}.role-card.commander:hover:not(.disabled){border-color:#00a8cc;transform:translateY(-2px);box-shadow:0 5px 20px #00d4ff4d}.role-card.commander.selected{border-color:#00d4ff;background:#00d4ff1a}.role-card.commander.disabled{opacity:.5;cursor:not-allowed}.role-icon{font-size:3rem}.role-info h3{margin:0 0 8px;color:#00d4ff}.role-info p{margin:0 0 10px;color:#a0a0a0}.role-status .occupied{color:#f66}.role-status .available{color:#00d4ff}.sectors-divider{text-align:center;margin:20px 0;position:relative}.sectors-divider:before,.sectors-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#fff3}.sectors-divider:before{left:0}.sectors-divider:after{right:0}.sectors-divider span{padding:0 15px;background:#ffffff0d;border-radius:20px;color:#999}.sectors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px}.sector-card{background:#ffffff14;border:2px solid;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s;text-align:center}.sector-card:hover:not(.full){transform:translateY(-5px);box-shadow:0 10px 30px #00000080}.sector-card.selected{border-width:3px;box-shadow:0 0 20px #ffffff4d}.sector-card.full{opacity:.5;cursor:not-allowed}.sector-icon{font-size:2.5rem;margin-bottom:10px}.sector-card h3{margin:10px 0}.sector-description{font-size:.9rem;color:#aaa;margin-bottom:15px}.sector-capacity{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:10px;font-weight:700}.full-badge{background:#e74c3c;padding:2px 8px;border-radius:12px;font-size:.8rem}.sector-players{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:10px}.player-pill{background:#ffffff1a;padding:4px 10px;border-radius:12px;font-size:.85rem}.confirm-role-btn{width:100%;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s}.confirm-role-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-role-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea80}.current-role{background:#ffffff0d;border-radius:12px;padding:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.role-display{text-align:center;padding:20px}.role-badge{display:inline-block;padding:12px 24px;border-radius:25px;font-size:1.2rem;font-weight:700;margin-bottom:15px}.role-badge.commander{background:linear-gradient(135deg,gold,#ffed4e);color:#000}.faction-members{background:#ffffff0d;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.members-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.member-card{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff14;border-radius:8px;border-left:3px solid #667eea}.member-card.commander{border-left-color:gold;background:#ffd7001a}.member-icon{font-size:1.5rem}.member-name{flex:1;font-weight:700}.member-role{color:#aaa;font-size:.9rem;text-transform:capitalize}.faction-right{background:#ffffff0d;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.faction-chat{display:flex;flex-direction:column;height:100%}.faction-chat h2{margin-bottom:15px}.chat-messages{flex:1;overflow-y:auto;margin-bottom:15px;padding:15px;background:#0003;border-radius:8px;max-height:70vh}.chat-message{margin-bottom:15px;padding:10px;background:#ffffff0d;border-radius:8px;border-left:3px solid var(--faction-color)}.chat-author{color:var(--faction-color);font-weight:700}.chat-time{color:#888;font-size:.85rem}.chat-text{color:#e0e0e0}.chat-input{flex:1;padding:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff}.chat-input-form button:hover{opacity:.9}.members-list::-webkit-scrollbar,.chat-messages::-webkit-scrollbar{width:8px}.members-list::-webkit-scrollbar-track,.chat-messages::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.members-list::-webkit-scrollbar-thumb,.chat-messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}@media(max-width:1024px){.faction-lobby-content,.sectors-grid{grid-template-columns:1fr}}@media(max-width:768px){.faction-lobby{padding:15px}.faction-lobby-header{margin-bottom:20px}.faction-lobby-header h1{font-size:2rem}.faction-stats{gap:15px;flex-wrap:wrap}.faction-stats span{padding:6px 12px;font-size:.9rem}.faction-lobby-content{gap:15px}.role-selection{padding:20px}.role-card{gap:15px;padding:15px}.role-icon{font-size:2.5rem}.role-info h3{font-size:1.1rem}.sectors-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.sector-card{padding:15px}.sector-icon{font-size:2rem}.sector-card h3{font-size:1rem}.confirm-role-btn{padding:12px;font-size:1rem}.faction-members{padding:15px}.members-list{max-height:300px}.faction-chat{height:auto}.chat-messages{max-height:300px}}@media(max-width:480px){.faction-lobby{padding:10px}.back-button,.locked-badge{left:10px;top:5px;padding:8px 12px;font-size:.85rem}.faction-lobby-header{margin-bottom:15px;position:relative;padding-top:50px}.faction-lobby-header h1{font-size:1.5rem;margin-bottom:10px}.faction-stats{gap:10px;font-size:.85rem}.faction-stats span{padding:5px 10px;font-size:.8rem}.faction-lobby-content{grid-template-columns:1fr;gap:12px}.faction-left{gap:15px}.role-selection{padding:15px}.role-selection h2{font-size:1.1rem;margin-bottom:15px}.role-card{gap:12px;padding:12px;flex-direction:column;align-items:flex-start}.role-card.commander{border-width:1.5px;padding:12px;margin-bottom:15px}.role-icon{font-size:2rem}.role-info{width:100%}.role-info h3{font-size:1rem;margin-bottom:6px}.role-info p{margin:6px 0;font-size:.85rem}.sectors-divider{margin:15px 0}.sectors-divider span{font-size:.85rem}.sectors-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:15px}.sector-card{padding:12px}.sector-card:hover:not(.full){transform:translateY(-3px)}.sector-icon{font-size:1.8rem;margin-bottom:8px}.sector-card h3{font-size:.95rem;margin:8px 0}.sector-description{font-size:.8rem;margin-bottom:10px}.sector-capacity{font-size:.85rem;gap:8px;margin-bottom:8px}.full-badge{padding:1px 6px;font-size:.75rem}.sector-players{gap:3px;margin-top:8px}.player-pill{padding:3px 8px;border-radius:10px;font-size:.75rem}.confirm-role-btn{width:100%;padding:10px;font-size:.95rem}.current-role,.role-display{padding:15px}.role-badge{padding:10px 20px;font-size:1rem}.faction-members{padding:12px}.faction-members h3{font-size:1rem;margin-bottom:10px}.members-list{max-height:250px;gap:8px}.member-card{gap:10px;padding:10px;border-left-width:2px}.member-icon{font-size:1.2rem}.member-name{font-size:.95rem}.member-role{font-size:.8rem}.faction-right{padding:12px}.faction-right h2{font-size:1rem;margin-bottom:10px}.faction-chat{height:auto}.chat-messages{max-height:250px;padding:10px;margin-bottom:10px}.chat-message{padding:8px;margin-bottom:8px;font-size:.85rem}.chat-header{margin-bottom:4px}.chat-author{font-size:.9rem}.chat-time{font-size:.75rem}.chat-text{font-size:.85rem}.chat-input-form{gap:8px}.chat-input{padding:8px;font-size:.9rem}.chat-input-form button{padding:8px 12px;font-size:.85rem}}.faction-pre-lobby{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1a2e);color:#e0e0e0}.faction-pre-lobby-header{background:#0000004d;padding:20px 30px;border-bottom:2px solid var(--faction-color);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button{padding:10px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;transition:all .3s;margin-bottom:15px}.back-button:hover{background:#fff3;transform:translate(-5px)}.faction-title-section{text-align:center;margin-bottom:15px}.faction-title-section h1{font-size:2.5rem;margin:0 0 10px;text-shadow:0 2px 10px rgba(0,0,0,.5)}.faction-tagline{margin:0;color:#aaa;font-size:1.1rem;font-style:italic}.pre-game-notice{margin:10px 0 0;padding:8px 16px;background:#f5a62333;border:1px solid rgba(245,166,35,.4);border-radius:6px;color:#f5a623;font-size:.9rem;text-align:center}.game-started-notice{margin:10px 0 0;padding:8px 16px;background:#e74c3c33;border:1px solid rgba(231,76,60,.4);border-radius:6px;color:#e74c3c;font-size:.9rem;text-align:center;font-weight:600}.faction-stats-header{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.stat-badge{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#ffffff1a;border-radius:20px;font-size:1.1rem;font-weight:700}.stat-icon{font-size:1.3rem}.faction-bonus-banner{background:linear-gradient(135deg,#667eea33,#764ba233);border-left:4px solid var(--faction-color);padding:15px 30px;margin:20px 30px;border-radius:8px;display:flex;align-items:center;gap:15px}.bonus-icon{font-size:1.8rem}.bonus-text{font-size:1.1rem;font-weight:500;color:#b8c5ff}.faction-pre-lobby-content{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:30px;max-width:1800px;margin:0 auto}.lobby-left-section{display:flex;flex-direction:column;gap:20px}.waiting-players-section{background:#ffffff0d;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.waiting-players-section h2{margin:0 0 15px;color:var(--faction-color);font-size:1.4rem}.waiting-players-list{max-height:300px;overflow-y:auto}.waiting-player-card{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff14;border-radius:8px;margin-bottom:10px;border-left:3px solid transparent;transition:all .3s}.waiting-player-card.is-you{border-left-color:var(--faction-color);background:#ffffff1f}.player-avatar{font-size:1.5rem}.player-name{flex:1;font-weight:500}.you-badge{color:var(--faction-color);font-weight:700;font-size:.9rem}.waiting-indicator{font-size:1.2rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.no-players{text-align:center;color:#777;padding:40px 20px;font-style:italic}.faction-chat-section{background:#ffffff0d;border-radius:12px;padding:20px;display:flex;flex-direction:column;min-height:400px}.faction-chat-section h3{margin:0 0 15px;color:var(--faction-color)}.chat-messages{flex:1;overflow-y:auto;margin-bottom:15px;max-height:350px}.chat-message{margin-bottom:12px;padding:10px;background:#ffffff0d;border-radius:8px}.chat-header{display:flex;justify-content:space-between;margin-bottom:5px}.chat-author{font-weight:700;color:var(--faction-color)}.chat-time{font-size:.85rem;color:#777}.chat-text{color:#e0e0e0;line-height:1.4}.no-messages{text-align:center;color:#777;padding:40px 20px;font-style:italic}.chat-input-form{display:flex;gap:10px}.chat-input{flex:1;padding:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.95rem}.chat-input::placeholder{color:#ffffff80}.chat-input-form button{padding:12px 24px;background:var(--faction-color);border:none;border-radius:8px;color:#fff;font-weight:700;cursor:pointer;transition:opacity .3s}.chat-input-form button:hover{opacity:.8}.lobby-right-section{display:flex;flex-direction:column;gap:20px}.role-selection-section{background:#ffffff0d;border-radius:12px;padding:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.role-selection-section h2{margin:0 0 10px;color:var(--faction-color);font-size:1.8rem}.role-description{color:#aaa;margin:0 0 25px;line-height:1.6}.role-option{display:flex;gap:20px;padding:20px;background:#ffffff14;border:2px solid rgba(255,215,0,.3);border-radius:12px;margin-bottom:20px;cursor:pointer;transition:all .3s}.role-option:hover:not(.disabled){transform:translateY(-3px);box-shadow:0 8px 25px #ffd7004d;border-color:#ffd70099}.role-option.disabled{opacity:.5;cursor:not-allowed;border-color:#ffffff1a}.role-icon-large{font-size:4rem;display:flex;align-items:center}.role-info{flex:1}.role-info h3{margin:0 0 8px;font-size:1.5rem;color:gold}.role-info p{margin:0 0 12px;color:#ccc;line-height:1.5}.role-features{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.role-features span{color:#aaa;font-size:.9rem}.role-occupied{padding:8px 12px;background:#e74c3c33;border:1px solid rgba(231,76,60,.5);border-radius:6px;color:#e74c3c;font-weight:700;margin-top:10px}.select-role-btn{padding:12px 24px;border:none;border-radius:8px;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s;margin-top:10px}.commander-btn{background:linear-gradient(135deg,gold,#ffed4e);color:#000}.commander-btn:hover{transform:scale(1.05);box-shadow:0 4px 15px #ffd70080}.sector-btn:hover{opacity:.9;transform:scale(1.02)}.role-divider{text-align:center;margin:25px 0;position:relative}.role-divider:before,.role-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#fff3}.role-divider:before{left:0}.role-divider:after{right:0}.role-divider span{padding:0 15px;background:#1a1a2ecc;color:#aaa;font-style:italic}.sectors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.sector-option{background:#ffffff14;border:2px solid;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s;text-align:center}.sector-option:hover:not(.full){transform:translateY(-5px);box-shadow:0 8px 20px #0006}.sector-option.full{opacity:.5;cursor:not-allowed}.sector-icon{font-size:3rem;margin-bottom:10px}.sector-option h4{margin:0 0 8px;font-size:1.2rem}.sector-desc{font-size:.85rem;color:#aaa;margin:0 0 12px;line-height:1.4;min-height:40px}.sector-capacity{margin-bottom:12px;font-size:.9rem;color:#ccc}.full-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#e74c3c;border-radius:4px;font-size:.75rem;font-weight:700}.assigned-players-section{background:#ffffff0d;border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.assigned-players-section h3{margin:0 0 15px;color:var(--faction-color)}.assigned-list{max-height:300px;overflow-y:auto}.assigned-player{display:flex;align-items:center;gap:12px;padding:10px;background:#ffffff0d;border-radius:8px;margin-bottom:8px}.assigned-player.commander{background:#ffd70026;border:1px solid rgba(255,215,0,.3)}.role-badge{padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:700;white-space:nowrap}.commander-badge{background:linear-gradient(135deg,gold,#ffed4e);color:#000}.assigned-name{flex:1;color:#e0e0e0}.waiting-players-list::-webkit-scrollbar,.chat-messages::-webkit-scrollbar,.assigned-list::-webkit-scrollbar{width:8px}.waiting-players-list::-webkit-scrollbar-track,.chat-messages::-webkit-scrollbar-track,.assigned-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.waiting-players-list::-webkit-scrollbar-thumb,.chat-messages::-webkit-scrollbar-thumb,.assigned-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.waiting-players-list::-webkit-scrollbar-thumb:hover,.chat-messages::-webkit-scrollbar-thumb:hover,.assigned-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media(max-width:1400px){.faction-pre-lobby-content{grid-template-columns:1fr}.sectors-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.faction-pre-lobby{padding:15px}.faction-pre-lobby-header{padding:15px;margin-bottom:20px}.faction-title-section h1{font-size:2rem}.faction-tagline{font-size:1rem}.pre-game-notice,.game-started-notice{padding:6px 12px;font-size:.85rem}.faction-stats-header{gap:10px}.stat-badge{padding:8px 16px;font-size:.95rem}.faction-bonus-banner{margin:15px;padding:12px 20px}.bonus-icon{font-size:1.5rem}.bonus-text{font-size:1rem}.faction-pre-lobby-content{gap:20px}.waiting-players-section h2,.faction-chat-section h3,.role-selection-section h2,.assigned-players-section h3{font-size:1.2rem;margin-bottom:12px}.sectors-grid{grid-template-columns:1fr}.role-option{gap:15px;padding:15px}.role-icon-large{font-size:3rem}.role-info h3{font-size:1.3rem}}@media(max-width:480px){.faction-pre-lobby{padding:10px}.faction-pre-lobby-header{padding:12px;border-bottom-width:1px}.back-button{padding:8px 12px;font-size:.85rem}.faction-title-section{margin-bottom:12px}.faction-title-section h1{font-size:1.5rem;margin-bottom:6px}.faction-tagline{font-size:.85rem}.pre-game-notice,.game-started-notice{padding:5px 10px;font-size:.8rem;margin:8px 0 0}.faction-stats-header{gap:8px;flex-wrap:wrap}.stat-badge{padding:6px 12px;font-size:.85rem}.stat-icon{font-size:1.1rem}.faction-bonus-banner{margin:12px;padding:10px 15px;gap:10px;flex-wrap:wrap}.bonus-icon{font-size:1.3rem}.bonus-text{font-size:.9rem}.faction-pre-lobby-content{grid-template-columns:1fr;gap:15px;padding:15px}.lobby-left-section,.lobby-right-section{gap:15px}.waiting-players-section,.faction-chat-section,.role-selection-section,.assigned-players-section{padding:12px}.waiting-players-section h2,.faction-chat-section h3,.role-selection-section h2,.assigned-players-section h3{font-size:1rem;margin-bottom:10px}.waiting-players-list,.chat-messages,.assigned-list{max-height:200px}.waiting-player-card{padding:10px;margin-bottom:8px;gap:10px}.player-avatar{font-size:1.2rem}.player-name{font-size:.9rem}.you-badge{font-size:.8rem}.waiting-indicator{font-size:1rem}.chat-section{height:250px;gap:10px}.chat-messages{max-height:150px;margin-bottom:10px;padding:8px}.chat-message{margin-bottom:8px;padding:8px;font-size:.85rem}.chat-author{font-size:.9rem}.chat-time{font-size:.75rem}.chat-text{font-size:.85rem}.chat-input{padding:8px;font-size:.9rem}.chat-input-form button{padding:8px 12px;font-size:.85rem}.role-selection-section h2{font-size:1.2rem}.role-description{font-size:.85rem;margin:0 0 15px}.role-option{gap:12px;padding:12px;margin-bottom:15px}.role-icon-large{font-size:2.5rem}.role-info h3{font-size:1.1rem;margin-bottom:6px}.role-info p{font-size:.85rem;margin:6px 0}.role-features{gap:4px}.role-features span{font-size:.8rem}.role-occupied{padding:6px 10px;font-size:.8rem}.select-role-btn{padding:10px 16px;font-size:.9rem}.commander-btn{font-size:.9rem}.role-divider{margin:15px 0}.role-divider span{padding:0 10px;font-size:.85rem}.sectors-grid{grid-template-columns:repeat(2,1fr);gap:10px}.sector-option{padding:12px}.sector-icon{font-size:2rem;margin-bottom:6px}.sector-option h4{font-size:1rem;margin-bottom:6px}.sector-desc{font-size:.75rem;margin:0 0 8px;min-height:30px}.sector-capacity{font-size:.8rem;margin-bottom:8px}.full-badge{padding:1px 6px;font-size:.7rem}.assigned-list{max-height:200px}.assigned-player{gap:10px;padding:8px;margin-bottom:6px}.role-badge{padding:4px 10px;font-size:.75rem}.assigned-name{font-size:.9rem}}.log-viewer-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999}.log-viewer{background:#1a1a2e;border:2px solid #4a90e2;border-radius:8px;width:90%;max-width:1200px;height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 50px #00000080}.log-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:2px solid #4a90e2;background:#16213e}.log-viewer-header h2{margin:0;color:#4a90e2;font-size:1.5rem}.log-viewer-controls{display:flex;gap:1rem;padding:1rem;background:#16213e;border-bottom:1px solid #4a90e2;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:.5rem}.control-group label{color:#aaa;font-size:.9rem;white-space:nowrap}.control-group select,.control-group input[type=text]{background:#0f1724;border:1px solid #4a90e2;color:#fff;padding:.4rem .8rem;border-radius:4px;font-size:.9rem}.control-group button{background:#4a90e2;color:#fff;border:none;padding:.4rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.control-group button:hover{background:#357abd}.log-viewer-stats{display:flex;gap:1.5rem;padding:.8rem 1rem;background:#0f1724;border-bottom:1px solid #333;font-size:.85rem}.log-viewer-stats span{color:#aaa}.stat-debug{color:#888!important}.stat-info{color:#4a90e2!important}.stat-warn{color:#f5a623!important}.stat-error{color:#e74c3c!important}.log-viewer-content{flex:1;overflow-y:auto;padding:1rem;background:#0f1724;font-family:Courier New,monospace;font-size:.85rem}.log-entry{padding:.5rem;margin-bottom:.5rem;border-left:3px solid transparent;background:#ffffff05;border-radius:4px;display:flex;gap:.5rem;flex-wrap:wrap}.log-entry.log-debug{border-left-color:#888}.log-entry.log-info{border-left-color:#4a90e2}.log-entry.log-warn{border-left-color:#f5a623;background:#f5a6230d}.log-entry.log-error{border-left-color:#e74c3c;background:#e74c3c1a}.log-timestamp{color:#666;font-weight:700;min-width:90px}.log-level{font-weight:700;min-width:70px}.log-category{color:#4a90e2;font-weight:700;min-width:120px}.log-message{color:#ddd;flex:1}.log-data{width:100%;background:#0000004d;padding:.5rem;border-radius:4px;color:#4a90e2;font-size:.8rem;overflow-x:auto;margin:.5rem 0 0}.log-viewer-content::-webkit-scrollbar{width:8px}.log-viewer-content::-webkit-scrollbar-track{background:#0f1724}.log-viewer-content::-webkit-scrollbar-thumb{background:#4a90e2;border-radius:4px}.log-viewer-content::-webkit-scrollbar-thumb:hover{background:#357abd}.log-auth-container{display:flex;align-items:center;justify-content:center;padding:40px;min-height:400px}.log-auth-container form{background:#ffffff0d;border:2px solid rgba(74,144,226,.3);border-radius:12px;padding:40px;text-align:center;min-width:400px}.log-auth-container p{color:silver;margin-bottom:20px;font-size:1.1rem}.log-auth-container input[type=password]{width:100%;padding:12px 16px;font-size:1rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;margin-bottom:15px;transition:all .3s}.log-auth-container input[type=password]:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 15px #4a90e24d}.log-auth-container input[type=password].error{border-color:#e74c3c;animation:shake .3s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-message{color:#e74c3c;font-size:.95rem;margin:10px 0;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-button{width:100%;padding:14px;font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .3s;margin-bottom:20px}.auth-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4a90e266}.auth-button:active{transform:translateY(0)}.auth-hint{font-size:.85rem;color:#f5a623;margin-top:20px;padding:15px;background:#f5a6231a;border:1px solid rgba(245,166,35,.3);border-radius:6px;line-height:1.6}.header-buttons{display:flex;gap:10px}.logout-btn{background:#f5a623;color:#fff;border:none;width:32px;height:32px;border-radius:50%;font-size:1rem;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#e09517;transform:scale(1.1)}.close-btn{background:#e74c3c;color:#fff;border:none;width:32px;height:32px;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:all .2s}.close-btn:hover{background:#c0392b;transform:rotate(90deg)}@media(max-width:768px){.log-viewer-overlay{padding:10px}.log-viewer{width:95%;height:85vh}.log-viewer-header h2{font-size:1.2rem}.log-viewer-controls{gap:.5rem;padding:.75rem}.control-group{gap:.4rem}.control-group label{font-size:.85rem}.control-group select,.control-group input[type=text]{padding:.3rem .6rem;font-size:.85rem}.control-group button{padding:.3rem .8rem;font-size:.85rem}}@media(max-width:480px){.log-viewer-overlay{padding:5px}.log-viewer{width:100%;height:90vh;border-radius:0}.log-viewer-header{padding:.75rem}.log-viewer-header h2{font-size:1rem}.log-viewer-controls{gap:.4rem;padding:.6rem;flex-direction:column}.control-group,.control-group select,.control-group input[type=text]{width:100%}}.admin-panel{position:fixed;inset:0;background:linear-gradient(135deg,#0a0a0a,#1a1a1a);color:#e5e5e5;overflow-y:auto;z-index:1000;padding:20px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #333}.admin-header h1{font-size:2rem;color:#fff;text-shadow:0 0 20px rgba(0,212,255,.3);margin:0}.close-button{background:#1a1a1a;border:1px solid #ff4444;color:#f66;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:1.2rem;transition:all .3s ease}.close-button:hover{background:#2a2a2a;border-color:#f66;transform:translateY(-2px)}.loading,.error{text-align:center;padding:40px;font-size:1.2rem}.error{color:#ff6b6b}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:20px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-value{font-size:2.5rem;font-weight:700;color:#00d4ff}.stat-label{font-size:.9rem;color:#a0a0a0;margin-top:8px}.accounts-section{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:20px;margin-bottom:20px}.accounts-section h2{margin-top:0;margin-bottom:20px;color:#fff}.accounts-table{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:#0a0a0a}th{padding:12px;text-align:left;font-weight:600;color:#fff;border-bottom:1px solid #333}td{padding:12px;border-bottom:1px solid #333}tr:hover{background:#2a2a2a}tr.banned{opacity:.6;background:#ff44441a}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:700;margin-left:8px}.badge.admin{background:#667eea4d;color:#667eea;border:1px solid rgba(102,126,234,.5)}.badge.banned{background:#dc35454d;color:#ff6b6b;border:1px solid rgba(220,53,69,.5)}.status-active{color:#4ade80}.status-banned{color:#ff6b6b}.actions{display:flex;gap:8px}.btn-small{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s ease}.btn-small:hover{transform:scale(1.1)}.btn-small.admin{background:#667eea33;border:1px solid rgba(102,126,234,.4)}.btn-small.admin:hover{background:#667eea66}.btn-small.ban{background:#f59e0b33;border:1px solid rgba(245,158,11,.4)}.btn-small.ban:hover{background:#f59e0b66}.btn-small.delete{background:#dc354533;border:1px solid rgba(220,53,69,.4)}.btn-small.delete:hover{background:#dc354566}.recent-logins{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px}.recent-logins h3{margin-top:0;color:#fff}.recent-logins ul{list-style:none;padding:0;margin:0}.recent-logins li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.recent-logins li:last-child{border-bottom:none}.recent-logins strong{color:#667eea}@media(max-width:768px){.admin-panel{padding:15px}.admin-header{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:20px}.admin-header h1{font-size:1.5rem}.close-button{width:100%;padding:10px 16px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.stat-value{font-size:2rem}.stat-label{font-size:.85rem}.accounts-section{padding:15px;margin-bottom:15px}.accounts-section h2{font-size:1.3rem;margin-bottom:15px}.accounts-table{overflow-x:auto;-webkit-overflow-scrolling:touch}th,td{padding:10px;font-size:.9rem}.badge{padding:3px 6px;font-size:.7rem;margin-left:6px}.actions{gap:6px}.btn-small{padding:4px 8px;font-size:.85rem}.recent-logins{padding:15px}.recent-logins h3{font-size:1.1rem}}@media(max-width:480px){.admin-panel{padding:10px}.admin-header{flex-direction:column;align-items:stretch;margin-bottom:15px;padding-bottom:15px}.admin-header h1{font-size:1.2rem}.close-button{width:100%;padding:8px 12px;font-size:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.stat-card{padding:12px}.stat-value{font-size:1.5rem}.stat-label{font-size:.75rem}.accounts-section{padding:12px;margin-bottom:12px}.accounts-section h2{font-size:1.1rem;margin-bottom:12px}.accounts-table{font-size:.8rem}th,td{padding:8px 6px;font-size:.75rem}.badge{padding:2px 4px;font-size:.65rem}.actions{gap:4px;flex-wrap:wrap}.btn-small{padding:4px 6px;font-size:.75rem}.recent-logins{padding:12px}.recent-logins h3{font-size:1rem}.recent-logins li{padding:6px 0;font-size:.9rem}}.legal-container{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1a2e,#16213e,#0f3460,#1a1a2e);padding:40px 20px;color:#e0e0e0}.legal-content{max-width:900px;margin:0 auto;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:20px;padding:40px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #00000080}.legal-content h1{font-size:2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:30px;text-align:center}.legal-content h2{font-size:1.8rem;color:#667eea;margin-top:40px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid rgba(102,126,234,.3)}.legal-content h3{font-size:1.3rem;color:#8b9dc3;margin-top:25px;margin-bottom:15px}.legal-content section{margin-bottom:30px}.legal-content p{line-height:1.8;margin-bottom:15px;color:silver}.legal-content ul{margin:15px 0;padding-left:30px}.legal-content li{margin-bottom:10px;line-height:1.6;color:silver}.legal-content a{color:#667eea;text-decoration:none;border-bottom:1px solid transparent;transition:all .3s;word-break:break-all}.legal-content a:hover{color:#8b9dc3;border-bottom-color:#8b9dc3}.legal-content strong{color:#e0e0e0;font-weight:600}.legal-update{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.legal-update em{color:#888;font-size:.9rem}.legal-footer{margin-top:40px;padding-top:30px;border-top:2px solid rgba(255,255,255,.1);text-align:center}.back-button{padding:12px 30px;font-size:1rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:1px}.back-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #667eea99}.back-button:active{transform:translateY(0)}@media(max-width:768px){.legal-content{padding:30px 20px}.legal-content h1{font-size:2rem}.legal-content h2{font-size:1.5rem}.legal-content h3{font-size:1.2rem}.legal-content p,.legal-content li{font-size:.95rem}}@media(max-width:480px){.legal-container{padding:15px}.legal-content{padding:15px 12px;border-radius:12px;border-width:1.5px}.legal-content h1{font-size:1.5rem;margin-bottom:20px}.legal-content h2{font-size:1.3rem;margin-top:25px;margin-bottom:15px}.legal-content h3{font-size:1.1rem;margin-top:20px;margin-bottom:12px}.legal-content p,.legal-content li{font-size:.9rem;line-height:1.6}.legal-content ul{padding-left:15px;margin:12px 0}.legal-content li{margin-bottom:8px}.legal-update,.legal-footer{margin-top:25px;padding-top:15px}.back-button{padding:10px 20px;font-size:.9rem;letter-spacing:.5px;width:100%}}.landing-page{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a,#0f0f0f);color:#e5e5e5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative}.landing-header{background:linear-gradient(180deg,#00d4ff0d,#1a1a1acc);border-bottom:1px solid #333;padding:3rem 2rem;text-align:center;margin-bottom:0}.header-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1rem;max-width:1200px;margin-left:auto;margin-right:auto}.header-content h1{font-size:3.5rem;margin:0;color:#fff;font-weight:700;letter-spacing:2px;text-shadow:0 0 30px rgba(0,212,255,.3)}.tagline{font-size:1.3rem;color:#a0a0a0;margin-top:.5rem;font-style:italic;letter-spacing:1px}.landing-nav{display:flex;justify-content:center;gap:1rem;padding:2rem;background:#0a0a0a;border-bottom:1px solid #333;flex-wrap:wrap}.nav-btn{padding:.75rem 1.5rem;background:#1a1a1a;border:1px solid #333;color:#a0a0a0;cursor:pointer;border-radius:5px;font-size:1rem;font-weight:500;transition:all .3s ease}.nav-btn:hover{background:#2a2a2a;border-color:#00d4ff;color:#e5e5e5}.nav-btn.active{background:#2a2a2a;border-color:#00d4ff;color:#00d4ff;box-shadow:0 0 15px #00d4ff33}.landing-content{max-width:1200px;margin:0 auto;padding:3rem 2rem}.section-overview,.section-factions,.section-mechanics,.section-sectors{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}h2{font-size:2.5rem;margin-bottom:2rem;color:#00d4ff;text-shadow:0 0 20px rgba(0,212,255,.2);border-bottom:1px solid #333;padding-bottom:1rem}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.overview-card{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:2rem;transition:all .3s ease}.overview-card:hover{background:#2a2a2a;border-color:#00d4ff;box-shadow:0 0 20px #00d4ff33;transform:translateY(-5px)}.overview-card h3{color:#00d4ff;font-size:1.3rem;margin-bottom:1rem}.overview-card p{color:#a0a0a0;line-height:1.6;margin:0}.factions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem}.faction-card{border-left:3px solid;border-radius:8px;background:#1a1a1a;overflow:hidden;transition:all .3s ease;cursor:pointer;box-shadow:0 4px 12px #00000080}.faction-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #000000b3;background:#2a2a2a}.faction-header{padding:1.5rem;color:#fff;position:relative}.faction-header h3{margin:0;font-size:1.5rem;text-shadow:0 2px 5px rgba(0,0,0,.5)}.faction-role{margin:.5rem 0 0;font-style:italic;opacity:.9;font-size:.95rem}.faction-preview{padding:1.5rem}.faction-preview p{margin:0 0 1rem;color:#a0a0a0;line-height:1.6;font-size:.95rem}.faction-bonus{background:#00d4ff1a;border-left:3px solid #00d4ff;padding:1rem;margin-bottom:1.5rem;border-radius:4px;color:#00d4ff;font-weight:500}.faction-bonus strong{color:#fff;display:block;margin-bottom:.5rem}.btn-details{background:#2a2a2a;border:1px solid #333;color:#00d4ff;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:600;transition:all .2s ease;width:100%}.btn-details:hover{background:#3a3a3a;border-color:#00d4ff;color:#fff}.faction-details{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.btn-back{background:#4f69e133;border:1px solid rgba(79,105,225,.4);color:#4f69e1;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:600;margin-bottom:2rem;transition:all .2s ease}.btn-back:hover{background:#4f69e14d;border-color:#4f69e1b3;color:#fff}.faction-detail-header{padding:3rem 2rem;border-radius:8px;color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.5);margin-bottom:3rem}.faction-detail-header h2{color:#fff;border:none;text-shadow:0 2px 5px rgba(0,0,0,.5);margin-bottom:.5rem}.faction-description{font-size:1.1rem;line-height:1.7;margin-top:1rem;opacity:.95}.faction-detail-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.faction-section{background:#4f69e10d;border:1px solid rgba(79,105,225,.2);border-radius:8px;padding:2rem}.faction-section h3{color:gold;font-size:1.3rem;margin-bottom:1.5rem;border-bottom:2px solid rgba(255,215,0,.3);padding-bottom:.5rem}.bonus-text{font-size:1.1rem;color:gold;font-weight:500;line-height:1.8}.units-list,.techs-list{list-style:none;padding:0;margin:0}.units-list li,.techs-list li{color:#ccc;border-bottom:1px solid rgba(255,215,0,.1);padding:.75rem 0 .75rem 1.5rem;position:relative}.units-list li:last-child,.techs-list li:last-child{border-bottom:none}.units-list li:before{content:"⚔️";position:absolute;left:0}.techs-list li:before{content:"🔬";position:absolute;left:0}.resources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.resource{background:#ffd7000d;border:1px solid rgba(255,215,0,.2);padding:1rem;border-radius:4px;text-align:center;transition:all .2s ease}.resource:hover{background:#ffd7001a;border-color:#ffd70066}.resource span{display:block;color:#aaa;font-size:.85rem;margin-bottom:.5rem}.resource strong{display:block;color:gold;font-size:1.3rem}.mechanic-card{background:linear-gradient(135deg,#4f69e11a,#1a1a2ecc);border:1px solid rgba(79,105,225,.3);border-radius:8px;padding:2rem;margin-bottom:2rem;transition:all .3s ease}.mechanic-card:hover{background:linear-gradient(135deg,#4f69e133,#1a1a2ee6);border-color:#ffd70066;box-shadow:0 0 20px #4f69e133}.mechanic-card h3{color:gold;font-size:1.3rem;margin-bottom:1rem}.mechanic-card p{color:#ccc;line-height:1.6;margin-bottom:1rem}.mechanic-card ul{list-style:none;padding:0;margin:0}.mechanic-card li{color:#ccc;padding:.5rem 0 .5rem 1.5rem;position:relative}.mechanic-card li:before{content:"→";position:absolute;left:0;color:gold;font-weight:700}.mechanic-card code{background:#0000004d;padding:.5rem 1rem;border-radius:4px;color:#0f8;font-family:Courier New,monospace;display:block;margin:1rem 0;border-left:3px solid #00ff88;overflow-x:auto}.section-sectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.section-sectors>h2{grid-column:1 / -1}.sector-card{background:linear-gradient(135deg,#4f69e11a,#1a1a2ecc);border:1px solid rgba(79,105,225,.3);border-radius:8px;padding:2rem;transition:all .3s ease;text-align:center}.sector-card:hover{background:linear-gradient(135deg,#4f69e133,#1a1a2ee6);border-color:#ffd70066;box-shadow:0 0 20px #4f69e133;transform:translateY(-5px)}.sector-icon{font-size:3rem;margin-bottom:1rem}.sector-card h3{color:gold;font-size:1.3rem;margin-bottom:1rem}.sector-card p{color:#ccc;line-height:1.6;margin-bottom:1.5rem}.sector-card ul{list-style:none;padding:0;margin:0;text-align:left}.sector-card li{color:#ccc;padding:.5rem 0 .5rem 1.5rem;position:relative}.sector-card li:before{content:"✓";position:absolute;left:0;color:gold;font-weight:700}.landing-footer{background:linear-gradient(180deg,#0f0f1ecc,#0a0a14f2);border-top:2px solid rgba(255,215,0,.2);padding:3rem 2rem;text-align:center;margin-top:4rem}.btn-play{background:linear-gradient(135deg,gold,#ffed4e);color:#000;border:none;padding:1.2rem 3rem;font-size:1.2rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 20px #ffd7004d;letter-spacing:1px;margin-bottom:1rem}.btn-play:hover{transform:scale(1.05);box-shadow:0 10px 30px #ffd70080}.btn-play:active{transform:scale(.98)}.footer-text{color:#aaa;font-size:1.1rem;font-style:italic;margin:0}@media(max-width:768px){.landing-header{padding:2rem 1rem}.header-top{flex-direction:column;gap:1rem;align-items:center}.header-content h1{font-size:2.5rem}.tagline{font-size:1rem}.landing-nav{padding:1rem;gap:.5rem}.nav-btn{padding:.5rem 1rem;font-size:.9rem}h2{font-size:1.8rem}.overview-grid,.factions-grid,.section-sectors,.faction-detail-content{grid-template-columns:1fr}.btn-play{padding:1rem 2rem;font-size:1rem}.landing-content{padding:2rem 1rem}.overview-card,.mechanic-card,.sector-card{padding:1.5rem}.faction-card{margin-bottom:1rem}.faction-preview{padding:1rem}.faction-detail-header{padding:2rem 1.5rem}}@media(max-width:480px){.landing-page{min-height:100vh}.landing-header{padding:1.5rem 1rem;margin-bottom:1rem}.header-top{flex-direction:column;gap:.75rem}.header-content h1{font-size:1.8rem;letter-spacing:1px}.tagline{font-size:.9rem;letter-spacing:.5px;margin-top:.3rem}.landing-nav{padding:.75rem;gap:.4rem;flex-wrap:wrap;border-bottom:1px solid rgba(255,215,0,.05)}.nav-btn{padding:.4rem .8rem;font-size:.8rem;border-radius:3px}.landing-content{padding:1.5rem 1rem;max-width:100%}h2{font-size:1.4rem;margin-bottom:1.5rem;padding-bottom:.75rem}.overview-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.overview-card{padding:1.2rem;border-radius:6px}.overview-card h3{color:gold;font-size:1.1rem;margin-bottom:.8rem}.overview-card p{color:#ccc;line-height:1.5;font-size:.9rem}.factions-grid{grid-template-columns:1fr;gap:1.2rem;margin-bottom:2rem}.faction-card{border-left-width:4px;border-radius:6px;overflow:hidden}.faction-header{padding:1.2rem}.faction-header h3{font-size:1.2rem;margin-bottom:.3rem}.faction-role{font-size:.8rem}.faction-preview{padding:1rem}.faction-preview p{margin:0 0 .8rem;color:#ccc;line-height:1.5;font-size:.85rem}.faction-bonus{padding:.8rem;margin-bottom:1rem;border-left-width:2px}.faction-bonus strong{display:block;margin-bottom:.4rem;font-size:.9rem}.btn-details{padding:.6rem 1.2rem;font-size:.85rem}.faction-detail-header{padding:2rem 1rem;border-radius:6px}.faction-detail-header h2{color:#fff;font-size:1.6rem}.faction-description{font-size:.95rem;line-height:1.6}.faction-detail-content{grid-template-columns:1fr;gap:1.5rem}.faction-section{padding:1.5rem}.faction-section h3{font-size:1.1rem;margin-bottom:1rem}.bonus-text{font-size:1rem;line-height:1.7}.units-list li,.techs-list li{padding:.6rem 0 .6rem 1.2rem;font-size:.85rem}.resources-grid{grid-template-columns:repeat(3,1fr);gap:.8rem}.resource{padding:.8rem}.resource span{font-size:.75rem;margin-bottom:.4rem}.resource strong{font-size:1.1rem}.btn-back{padding:.6rem 1.2rem;font-size:.85rem;margin-bottom:1.5rem}.mechanic-card{padding:1.2rem;margin-bottom:1.5rem;border-radius:6px}.mechanic-card h3{font-size:1.1rem;margin-bottom:.8rem}.mechanic-card p{font-size:.85rem;line-height:1.5;margin-bottom:.8rem}.mechanic-card li{padding:.4rem 0 .4rem 1.2rem;font-size:.85rem}.mechanic-card code{padding:.6rem .8rem;border-left-width:2px;margin:.8rem 0;font-size:.8rem}.section-sectors{display:grid;grid-template-columns:1fr;gap:1.5rem}.sector-card{padding:1.2rem;border-radius:6px}.sector-icon{font-size:2.5rem;margin-bottom:.8rem}.sector-card h3{font-size:1.1rem;margin-bottom:.8rem}.sector-card p{font-size:.85rem;line-height:1.5;margin-bottom:1rem}.sector-card li{padding:.4rem 0 .4rem 1.2rem;font-size:.85rem}.landing-footer{padding:2rem 1rem;margin-top:2rem}.btn-play{padding:.9rem 1.8rem;font-size:.95rem;margin-bottom:.8rem}.footer-text{font-size:.9rem}.landing-lang-switcher{top:10px;right:10px}.landing-lang-switcher .lang-btn{padding:5px 10px;font-size:.75rem}}@media(max-width:480px){.landing-lang-switcher{top:8px;right:8px}.landing-lang-switcher .lang-btn{padding:4px 8px;font-size:.7rem}.landing-header{padding:2.5rem 1rem}.header-content h1{font-size:2rem}.tagline{font-size:.95rem}.landing-nav{padding:1rem .5rem;gap:.5rem}.nav-btn{padding:.6rem 1rem;font-size:.85rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;min-height:100vh}.back-to-dashboard-btn{position:fixed;top:20px;left:20px;z-index:1000;padding:12px 24px;background:#1a1a1a;border:1px solid #333;border-radius:10px;color:#e5e5e5;font-size:1em;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000080}.back-to-dashboard-btn:hover{background:#2a2a2a;border-color:#00d4ff;transform:translateY(-2px);box-shadow:0 6px 16px #00d4ff66}.join-screen{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#1a1a1a,#0f0f0f);display:flex;justify-content:center;align-items:center;padding:20px}.join-container{background:#1a1a1a;border:1px solid #333;border-radius:20px;padding:60px 80px;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #000c;animation:fadeIn .5s ease-in;width:100%;max-width:600px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.join-container h1{font-size:clamp(2rem,5vw,3.5rem);color:#fff;margin-bottom:10px;text-shadow:0 0 30px rgba(0,212,255,.3)}.subtitle{color:#a0a0a0;font-size:clamp(1rem,3vw,1.2rem);margin-bottom:40px;letter-spacing:2px}.join-form{display:flex;flex-direction:column;gap:20px;min-width:100%}.join-form input{padding:18px 24px;font-size:clamp(.95rem,2vw,1.1rem);background:#0a0a0a;border:1px solid #333;border-radius:12px;color:#e5e5e5;transition:all .3s;text-align:center}.join-form input:focus{outline:none;border-color:#00d4ff;box-shadow:0 0 20px #00d4ff4d;background:#0f0f0f}.join-form input::placeholder{color:#666}.join-form button{padding:18px;font-size:clamp(1rem,2.5vw,1.2rem);font-weight:700;background:#00d4ff;border:none;border-radius:12px;color:#0a0a0a;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:1px;position:relative;z-index:1}.join-form button:hover{background:#00a8cc;transform:translateY(-2px);box-shadow:0 8px 24px #00d4ff66}.join-form button:active{transform:translateY(0)}.join-form button:disabled{opacity:.5;cursor:not-allowed;transform:none}.join-form button:disabled:hover{transform:none;box-shadow:none}@media(max-width:1024px){.join-container{padding:50px 60px}}@media(max-width:768px){.back-to-dashboard-btn{position:relative;top:auto;left:auto;margin-bottom:20px;width:100%;padding:10px 16px;font-size:.9em}.join-container{padding:40px 30px;border-radius:15px}.join-container h1{font-size:2.5rem;margin-bottom:8px}.subtitle{font-size:1rem;margin-bottom:30px}.join-form{min-width:100%}.join-form input,.join-form button{font-size:16px}}@media(max-width:480px){.back-to-dashboard-btn{top:10px;left:10px;right:10px;padding:8px 12px;font-size:.85em}.join-screen{padding:10px;min-height:auto}.join-container{padding:30px 20px;border-radius:12px;margin:10px 0}.join-container h1{font-size:2rem}.subtitle{font-size:.95rem;margin-bottom:25px;letter-spacing:1px}.join-form{gap:15px}.join-form input{padding:15px 16px}.join-form button{padding:14px 12px}}.log-viewer-toggle{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;background:#1a1a1a;border:1px solid #333;color:#00d4ff;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 15px #00000080;transition:all .3s;z-index:9998;display:flex;align-items:center;justify-content:center}.log-viewer-toggle:hover{background:#2a2a2a;border-color:#00d4ff;transform:translateY(-2px);box-shadow:0 6px 20px #00d4ff66}.log-viewer-toggle:active{transform:scale(.95)}@media(max-width:480px){.log-viewer-toggle{bottom:10px;right:10px;width:45px;height:45px;font-size:1.3rem}}.legal-links{margin-top:30px;padding-top:20px;border-top:1px solid #333;display:flex;gap:15px;justify-content:center;align-items:center;font-size:.9rem;flex-wrap:wrap}.legal-links a{color:#a0a0a0;text-decoration:none;transition:color .3s}.legal-links a:hover{color:#00d4ff}.legal-links span{color:#666}@media(max-width:480px){.legal-links{font-size:.8rem;gap:8px;margin-top:20px;padding-top:15px}}
