:root{--bg: #000000;--bg-deep: #0d0d1a;--bg-dark: #0f1419;--surface: #16213e;--surface-alt: #1a1a2e;--surface-raised: #1a2332;--surface-grey: #2a2a2a;--slate: #2c3e50;--slate-light: #34495e;--border: #333;--border-light: #444;--text: #eee;--text-white: #fff;--text-bright: #e0e0e0;--text-soft: #ccc;--text-light: #aaa;--text-muted: #888;--text-dim: #666;--accent: #3282b8;--accent-dark: #0f4c75;--accent-light: #bbe1fa;--blue: #3498db;--blue-bright: #4a9eff;--success: #27ae60;--success-light: #2ecc71;--danger: #e74c3c;--danger-dark: #c0392b;--warning: #f39c12;--warning-dark: #e67e22;--purple: #9b59b6;--grey: #95a5a6;--grey-light: #bdc3c7;--cloud: #ecf0f1;--discord: #5865f2;--discord-dark: #4752c4}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.login-container form{display:flex;flex-direction:column;gap:.75rem;width:280px}input{padding:.75rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text)}button{padding:.75rem 1rem;border:none;border-radius:4px;background:var(--accent-dark);color:var(--text-white);cursor:pointer;transition:background .2s}button:hover:not(:disabled){background:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}.error{color:var(--danger);margin:.5rem 0}.success-message{color:var(--success);margin:.5rem 0;font-weight:600}.app-container{max-width:1600px;margin:0 auto;padding:1rem}.app-header{display:flex;flex-direction:column;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--border);margin-bottom:1rem}.header-top-section{display:flex;align-items:center;gap:1rem;justify-content:center}.app-logo{width:80px;height:80px;object-fit:contain;flex-shrink:0}.header-text-section{display:flex;flex-direction:column;gap:.25rem}.app-title{text-align:left;font-size:2rem;margin:0;line-height:1.2}.user-info-row{text-align:left;font-size:1.1rem;color:var(--accent)}.user-name-role{font-weight:600}.header-actions{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.header-button{padding:.5rem 1rem;font-size:.95rem}.notification-status{font-size:.9rem;color:#bbb;white-space:nowrap}.logout-button{background:var(--danger-dark);padding:.5rem 1rem;font-size:.95rem}.logout-button:hover:not(:disabled){background:var(--danger)}.nav-buttons-row{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.nav-button-compact{padding:.6rem 1rem;font-size:.9rem;background:var(--accent-dark);flex:1;min-width:150px;max-width:250px}.nav-button-compact:hover:not(:disabled){background:var(--accent)}a.nav-button-compact{display:block;border-radius:4px;color:var(--text-white);text-align:center;text-decoration:none}a.nav-button-compact:hover{background:var(--accent)}.nav-button-compact.active{background:var(--accent);box-shadow:inset 0 -3px 0 var(--accent-light)}.nav-button-compact.discord-link{background:var(--discord);text-decoration:none;text-align:center}.nav-button-compact.discord-link:hover{background:var(--discord-dark)}header{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border);margin-bottom:1rem}.user-info{display:flex;align-items:center;gap:1rem}table{width:100%;border-collapse:collapse}th,td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}th{background:var(--surface)}.status-running{color:var(--success-light)}.status-backup,.status-starting{color:var(--blue);animation:pulse 2s ease-in-out infinite}.status-restore{color:var(--purple);animation:pulse 2s ease-in-out infinite}.status-exited,.status-stopped{color:var(--danger)}.status-missing,.status-partial{color:var(--warning)}.error-tooltip{display:inline-block;margin-left:.5rem;cursor:help;color:var(--danger);font-size:1rem}td button{padding:.4rem .75rem;font-size:.875rem}.action-buttons-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;min-width:140px}.action-buttons-grid button{margin:0;padding:.35rem .5rem;font-size:.8rem;white-space:nowrap}.btn-control{background:#4a4a5a}.btn-control:hover:not(:disabled){background:#5a5a6a}.main-content{display:grid;grid-template-columns:1fr 300px;gap:1.5rem}.servers-section{min-width:0}.server-name.clickable{cursor:pointer;color:var(--accent)}.server-name.clickable:hover{text-decoration:underline}.btn-logs{background:var(--slate)}.btn-logs:hover{background:var(--slate-light)}.modal-content{background:var(--bg);border:1px solid var(--border);border-radius:8px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column}.log-modal{width:900px;height:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.1rem}.modal-close{background:none;border:none;color:#999;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--text-white)}.modal-body{flex:1;overflow:hidden;padding:1rem}.log-output{width:100%;height:100%;overflow:auto;background:var(--bg-deep);padding:1rem;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:.8rem;line-height:1.4;white-space:pre-wrap;word-break:break-all;color:var(--text-soft)}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-top:1px solid var(--border);font-size:.85rem}.modal-footer label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.log-refresh-indicator{color:var(--text-dim)}.status-panel{background:var(--surface);border-radius:8px;padding:1rem}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.status-header h3{font-size:1rem}.hostname{font-size:.85rem;color:var(--text-muted)}.status-grid{display:flex;flex-direction:column;gap:.75rem}.status-item{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:.5rem}.status-label{font-size:.85rem;color:var(--text-muted)}.status-bar{height:8px;background:var(--bg-deep);border-radius:4px;overflow:hidden}.status-bar-fill{height:100%;background:linear-gradient(90deg,var(--success-light),var(--success));transition:width .3s ease}.status-value{font-size:.8rem;color:var(--text-light);min-width:80px;text-align:right}.servers-status{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.audit-logs{margin-top:1rem;border-top:1px solid var(--border);padding-top:.75rem}.audit-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.25rem 0}.audit-header h4{font-size:.9rem;font-weight:400}.toggle{color:var(--text-dim);font-size:.75rem}.audit-list{margin-top:.5rem;max-height:200px;overflow-y:auto}.audit-entry{display:flex;gap:.5rem;font-size:.75rem;padding:.35rem 0;border-bottom:1px solid #222}.audit-time{color:var(--text-dim);min-width:70px;white-space:nowrap}.audit-user{color:var(--accent);min-width:60px}.audit-action{min-width:40px;white-space:nowrap}.action-start{color:var(--success-light)}.action-stop,.action-delete-backup,.action-delete-mod{color:var(--danger)}.action-restore,.action-update{color:var(--warning)}.audit-server{color:var(--text-muted)}.no-logs{color:var(--text-dim);font-size:.85rem;font-style:italic}.active-server-info{margin:1rem 0;padding:1rem;background:var(--surface);border-radius:8px;text-align:center}.active-server-info p{margin:0;color:var(--text-light)}.active-server-info strong{color:var(--accent)}.active-server-link{color:var(--accent);cursor:pointer;text-decoration:underline}.active-server-link:hover{color:#5ba3d0}.active-servers-display{display:flex;flex-direction:column;gap:1rem;align-items:center;width:100%}.server-game-group{text-align:center;width:100%}.server-game-name{font-weight:600;color:var(--accent);font-size:1rem;margin-bottom:.4rem}.server-worlds-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.server-world-item{display:flex;align-items:center;gap:.3rem;color:var(--text-light);font-size:.9rem;cursor:help;transition:opacity .3s,transform .2s}.server-world-item.world-online{opacity:1}.server-world-item.world-offline{opacity:.5}.server-world-item:hover{transform:scale(1.05)}.status-dot{font-size:.6rem}.dot-online{color:var(--success-light)}.dot-offline{color:var(--text-dim)}.active-servers-public-display{display:flex;flex-direction:column;gap:1.5rem;align-items:center;margin-top:.75rem}.server-game-group-public{text-align:center;width:100%}.server-game-group-public .server-game-name{font-weight:600;color:var(--accent);font-size:1.1rem;margin-bottom:.5rem}.server-game-group-public .server-worlds-row{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.server-game-group-public .server-world-item{cursor:pointer;transition:transform .2s,opacity .3s}.server-game-group-public .server-world-item:hover{transform:scale(1.1)}.password-modal{width:400px;padding:1.5rem}.password-modal h2{margin-bottom:1rem;font-size:1.3rem}.warning-text{color:var(--warning);margin-bottom:1rem;padding:.75rem;background:#f39c121a;border-radius:4px;border-left:3px solid var(--warning)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-light);font-size:.9rem}.form-group input{width:100%}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}.modal-actions button{flex:1}.server-status-page{width:100%}.status-page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.back-button{background:var(--slate);padding:.5rem 1rem}.back-button:hover{background:var(--slate-light)}.status-page-header h2{margin:0;font-size:1.5rem}.status-page-content{display:flex;flex-direction:column;gap:1.5rem}.logs-section{background:var(--surface);border-radius:8px;padding:1rem;display:flex;flex-direction:column;min-height:500px}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.logs-header h3{margin:0;font-size:1.1rem}.logs-controls{display:flex;align-items:center;gap:1rem;font-size:.85rem}.auto-scroll-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-light)}.log-output-page{flex:1;width:100%;overflow:auto;background:var(--bg-deep);padding:1rem;border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:.85rem;line-height:1.5;white-space:pre-wrap;word-break:break-all;color:var(--text-soft);min-height:400px}.loading-text{color:var(--text-dim);font-style:italic}.maps-page{width:100%;height:calc(100vh - 120px);display:flex;flex-direction:column}.maps-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.maps-header h2{flex:1;margin:0;font-size:1.5rem}.maps-filter-info{font-size:.9rem;color:var(--blue);padding:.4rem .8rem;background:#3498db1a;border:1px solid rgba(52,152,219,.3);border-radius:4px;white-space:nowrap}.bluemap-version-info{font-size:.85rem;color:var(--text-muted);white-space:nowrap;display:flex;align-items:center;gap:.5rem}.bluemap-update-btn{font-size:.8rem;padding:.25rem .6rem;border:1px solid var(--success);border-radius:4px;background:#27ae6026;color:var(--success);cursor:pointer;transition:all .2s}.bluemap-update-btn:hover:not(:disabled){background:var(--success);color:var(--text-white)}.bluemap-update-btn:disabled{opacity:.6;cursor:not-allowed}.bluemap-update-msg{font-size:.8rem;padding:.25rem .5rem;border-radius:4px}.bluemap-update-msg.success{color:var(--success)}.bluemap-update-msg.error{color:var(--danger)}.fullscreen-link{color:var(--accent);text-decoration:none;padding:.5rem 1rem;border:1px solid var(--accent);border-radius:4px;transition:all .2s}.fullscreen-link:hover{background:var(--accent);color:var(--text-white)}.maps-container{flex:1;background:var(--bg-deep);border-radius:8px;overflow:hidden;min-height:400px}.bluemap-iframe{width:100%;height:100%;border:none}.maps-loading,.maps-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;background:var(--surface);border-radius:8px;padding:2rem;text-align:center;gap:1rem}.maps-error button{margin-top:1rem}.maps-info{margin-top:1rem;padding:1rem;background:var(--surface);border-radius:8px;font-size:.9rem}.maps-info p{margin:.5rem 0}.maps-hint{color:var(--text-muted);font-size:.85rem}.nav-section{margin-bottom:1.5rem;display:flex;gap:1rem}.nav-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;transition:all .2s;text-decoration:none}.nav-button:hover{background:#1e2d4a;border-color:var(--accent)}.nav-button.discord-button{background:var(--discord);border-color:var(--discord);text-decoration:none}.nav-button.discord-button:hover{background:var(--discord-dark);border-color:var(--discord-dark)}.nav-button-icon{font-size:1.2rem}@media (max-width: 800px){.main-content{grid-template-columns:1fr}.main-chat{order:1}.servers-section{order:2}.status-panel{order:3}.log-modal,.console-modal{width:95vw;height:80vh}.password-modal{width:90vw;max-width:400px}.logs-section{min-height:300px}.log-output-page{min-height:250px;font-size:.75rem}.status-page-header h2{font-size:1.2rem}.app-logo{width:60px;height:60px}.app-title{font-size:1.3rem}.user-info-row{font-size:.95rem}.header-actions{flex-direction:column;gap:.5rem}.header-button,.logout-button{width:100%}.nav-buttons-row{flex-direction:column}.nav-button-compact{width:100%;max-width:none}.account-management-page{padding:.5rem}.account-section{padding:1rem}}.console-modal{width:90vw;max-width:1000px;height:70vh;display:flex;flex-direction:column}.console-body{display:flex;flex-direction:column;flex:1;padding:0;overflow:hidden}.console-logs{flex:1;overflow:auto;background:#0d1117;padding:1rem;margin-bottom:1rem;border-radius:4px}.console-output{margin:0;padding:0;font-family:Courier New,monospace;font-size:.9rem;line-height:1.4;color:#c9d1d9;background:transparent;white-space:pre-wrap;word-wrap:break-word}.console-input-section{padding:1rem;background:var(--surface);border-top:1px solid var(--border)}.console-form{display:flex;gap:.5rem}.console-input{flex:1;font-family:Courier New,monospace;padding:.5rem;background:#0d1117;border:1px solid var(--border);border-radius:4px;color:#c9d1d9}.console-input:focus{outline:none;border-color:var(--accent-dark)}.console-send-btn{padding:.5rem 1.5rem;background:var(--accent-dark);color:var(--text-white);border:none;border-radius:4px;cursor:pointer;transition:background .2s}.console-send-btn:hover:not(:disabled){background:var(--accent)}.console-send-btn:disabled{opacity:.5;cursor:not-allowed}.console-info{color:var(--text-muted);font-size:.85rem}.chat-interface{background:var(--surface);border-radius:4px;border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#0f1923;border-bottom:1px solid var(--border)}.chat-header h3{margin:0;font-size:1rem}.chat-username-display{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--accent)}.change-username-btn{padding:.25rem .5rem;font-size:.85rem;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer}.change-username-btn:hover{color:var(--accent);border-color:var(--accent)}.chat-username-setup{padding:2rem;display:flex;justify-content:center;align-items:center}.chat-username-setup form{display:flex;gap:.5rem;width:100%;max-width:400px}.chat-username-setup input{flex:1}.chat-messages{flex:0 0 auto;overflow-y:auto;padding:.75rem;height:180px;background:var(--bg);max-height:180px}.chat-empty{color:var(--text-dim);text-align:center;padding:2rem}.chat-message{padding:.4rem 0;word-wrap:break-word}.chat-message.minecraft{color:var(--success-light)}.chat-message.minecraft-event{color:#8e8e8e;font-style:italic;padding:.2rem 0;font-size:.85em}.chat-event{color:inherit}.chat-message.webapp{color:var(--text)}.chat-username{font-weight:700;margin-right:.5rem;color:var(--accent)}.chat-message.minecraft .chat-username{color:var(--success)}.chat-text{color:inherit}.chat-input-form{display:flex;padding:.75rem;gap:.5rem;background:#0f1923;border-top:1px solid var(--border)}.chat-input-form input{flex:1;margin:0}.chat-input-form button{padding:.5rem 1rem}.maps-page .chat-interface{margin-top:1rem}.main-content .chat-interface{margin-bottom:1rem}.login-container .chat-interface{width:100%;max-width:600px;margin:1.5rem auto}.chat-context-menu{position:fixed;background:var(--surface);border:1px solid var(--accent);border-radius:4px;padding:.25rem 0;box-shadow:0 2px 8px #0000004d;z-index:1000}.chat-context-menu button{display:block;width:100%;padding:.5rem 1rem;background:transparent;border:none;color:var(--text);text-align:left;cursor:pointer;font-size:.9rem}.chat-context-menu button:hover{background:var(--accent-dark)}.chat-banned-notice,.chat-auth-notice,.chat-auth-required{padding:1rem;text-align:center;color:var(--danger);background:#1a0f0f;border-top:1px solid var(--border);font-weight:700}.chat-auth-required{color:var(--blue);background:#0f1a1f}.server-details-page{width:100%;max-width:1200px;margin:0 auto}.details-page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.details-page-header h2{margin:0;font-size:1.8rem}.details-page-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 900px){.details-page-content{grid-template-columns:1fr}}.server-info-section{display:flex;flex-direction:column;gap:1.5rem}.info-card{background:var(--surface);border-radius:8px;padding:1.5rem}.info-card h3{margin:0 0 1rem;font-size:1.2rem;color:var(--accent)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.info-item{display:flex;flex-direction:column;gap:.3rem}.info-item.full-width{grid-column:1 / -1}.youtube-embed{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;justify-content:center}.youtube-embed iframe{max-width:100%;border-radius:8px}.info-label{font-size:.85rem;color:var(--text-muted);font-weight:500}.info-value{font-size:1rem;color:var(--text)}.status-badge{display:inline-block;padding:.3rem .8rem;border-radius:4px;font-weight:600;font-size:.9rem}.status-badge.status-running{background:#2ecc7133;color:var(--success-light)}.status-badge.status-backup,.status-badge.status-starting{background:#3498db33;color:var(--blue);animation:pulse 2s ease-in-out infinite}.status-badge.status-restore{background:#9b59b633;color:var(--purple);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.status-badge.status-stopped,.status-badge.status-exited,.status-badge.status-failed{background:#e74c3c33;color:var(--danger)}.status-badge.status-unknown,.status-badge.status-activating,.status-badge.status-deactivating,.status-badge.status-partial{background:#f39c1233;color:var(--warning)}.server-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.action-btn{flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:600;border-radius:4px}.start-btn{background:var(--success)}.start-btn:hover:not(:disabled){background:var(--success-light)}.stop-btn{background:var(--danger-dark)}.stop-btn:hover:not(:disabled){background:var(--danger)}.connection-info{color:var(--text-light);line-height:1.6}.connection-info p{margin:.5rem 0}.details-logs-section{display:flex;flex-direction:column;background:var(--surface);border-radius:8px;padding:1.5rem;max-height:600px}.details-logs-section h3{margin:0 0 1rem;font-size:1.2rem;color:var(--accent)}.details-logs-section .log-output-page{min-height:450px;max-height:500px}.update-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--slate)}.update-section h4{margin:0 0 1rem;font-size:1.1rem;color:var(--accent)}.update-actions{display:flex;flex-direction:column;gap:1rem}.update-check-btn{background:var(--blue);align-self:flex-start}.update-check-btn:hover:not(:disabled){background:#2980b9}.update-btn{background:var(--warning-dark);align-self:flex-start}.update-btn:hover:not(:disabled){background:#d35400}.update-info{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--surface-raised);border-radius:6px;border-left:4px solid var(--blue)}.update-available{color:var(--warning);font-weight:600;margin:0;font-size:1.05rem}.update-current{color:var(--success);font-weight:600;margin:0;font-size:1.05rem}.version-info{color:var(--grey-light);margin:0;font-size:.95rem}.update-warning{color:var(--danger);margin:0;font-size:.9rem;font-style:italic}.update-output{margin-top:1rem;padding:1rem;background:var(--surface-raised);border-radius:6px}.update-output h5{margin:0 0 .5rem;color:var(--accent);font-size:1rem}.update-output pre{margin:0;padding:.75rem;background:var(--bg-dark);border-radius:4px;color:var(--text-light);font-size:.85rem;line-height:1.4;overflow-x:auto;max-height:300px;overflow-y:auto}.player-details-page{padding:1rem 0}.player-details-content{display:flex;flex-direction:column;gap:2rem}.player-info-section{display:flex;flex-direction:column;gap:1.5rem}.server-username-display{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--surface);border-radius:6px}.username-badge{font-size:1.25rem;font-weight:600;color:var(--accent)}.role-badge{padding:.25rem .75rem;background:var(--accent-dark);border-radius:12px;font-size:.875rem;color:var(--text-white)}.game-profiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.game-profile-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;transition:transform .2s,box-shadow .2s}.game-profile-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.game-profile-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.game-icon{font-size:1.5rem}.game-profile-header h3{font-size:1rem;margin:0;color:var(--accent)}.game-profile-content{display:flex;flex-direction:column;gap:.75rem}.username-display{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.username-value{flex:1;padding:.5rem;background:var(--bg-dark);border-radius:4px}.has-username{color:var(--accent);font-weight:500}.no-username{color:var(--text-dim);font-style:italic}.edit-username-form{display:flex;flex-direction:column;gap:.5rem}.edit-username-form input{width:100%}.edit-actions{display:flex;gap:.5rem}.edit-actions button{flex:1;padding:.5rem;font-size:.875rem}.save-btn{background:var(--success)}.save-btn:hover:not(:disabled){background:var(--success-light)}.cancel-btn{background:#555}.cancel-btn:hover:not(:disabled){background:var(--text-dim)}.edit-btn{padding:.5rem 1rem;background:var(--accent-dark);font-size:.875rem;white-space:nowrap}.edit-btn:hover{background:var(--accent)}.skin-display{display:flex;flex-direction:column;align-items:center;gap:1rem}.minecraft-skin-image{max-width:200px;width:100%;height:auto;background:var(--bg-dark);border:2px solid var(--border);border-radius:8px;padding:1rem}.skin-username{color:var(--accent);font-weight:600;font-size:1.1rem}.info-message{color:var(--text-muted);font-style:italic;padding:1rem;background:var(--bg-dark);border-radius:6px;text-align:center}.game-info{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.game-info p{margin-bottom:.75rem}.game-info p:last-child{margin-bottom:0}.game-info strong{color:var(--accent)}.mod-update-controls{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.mod-update-controls label{display:flex;align-items:center;gap:.5rem;color:var(--grey-light);font-size:.95rem}.mod-update-controls select{padding:.5rem;background:var(--surface-raised);color:var(--text-white);border:1px solid var(--slate);border-radius:4px;font-size:.9rem}.mod-update-controls select:disabled{opacity:.5;cursor:not-allowed}.mod-updates-info{padding:1rem;background:var(--surface-raised);border-radius:6px;border-left:4px solid var(--blue)}.mod-summary{margin:0 0 1rem;color:var(--grey-light);font-size:.95rem}.mod-updates-list{margin-top:1rem}.mod-updates-list h5{margin:0 0 .75rem;color:var(--accent);font-size:1rem}.mod-updates-table{width:100%;border-collapse:collapse;background:var(--bg-dark);border-radius:4px;overflow:hidden}.mod-updates-table th,.mod-updates-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--slate)}.mod-updates-table th{background:var(--surface-raised);color:var(--accent);font-weight:600;font-size:.9rem}.mod-updates-table td{color:var(--grey-light);font-size:.9rem}.mod-updates-table tr:last-child td{border-bottom:none}.mods-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.mod-item{background:var(--surface-raised);border-radius:6px;padding:.75rem;transition:all .2s ease}.mod-item:hover{background:#1f2a3d;transform:translate(2px)}.mod-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mod-name-link{color:var(--accent);text-decoration:none;font-weight:500;transition:color .2s}.mod-name-link:hover{color:#5aa8d8;text-decoration:underline}.mod-name{color:var(--text);font-weight:500}.mod-version-badge{background:var(--slate);color:var(--grey);padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-family:Consolas,Monaco,monospace}.mod-status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;margin-left:.5rem;cursor:help}.mod-status-badge.status-up-to-date{background:var(--success-light);color:#fff}.mod-status-badge.status-outdated{background:#f1c40f;color:var(--border)}.mod-status-badge.status-linked-unknown{background:var(--warning-dark);color:#fff}.mod-status-badge.status-not-linked{background:var(--danger);color:#fff}.mod-unknown-badge{background:var(--warning);color:#fff;padding:.25rem .5rem;border-radius:50%;font-size:.75rem;font-weight:700;margin-left:.5rem;cursor:help;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.mod-edit-link-btn{background:transparent;border:1px solid var(--blue);color:var(--blue);padding:.25rem .5rem;border-radius:4px;font-size:.85rem;margin-left:.5rem;cursor:pointer;transition:all .2s}.mod-edit-link-btn:hover{background:var(--blue);color:#fff}.mod-id-input-container{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:.75rem;background:#1e2a35;border-radius:6px;border:1px solid var(--slate-light)}.current-link-info{font-size:.85rem;color:var(--grey);padding-bottom:.5rem;border-bottom:1px solid var(--slate-light)}.current-link-info a{color:var(--blue);text-decoration:none;word-break:break-all}.current-link-info a:hover{text-decoration:underline}.mod-id-input-container>div:last-of-type{display:flex;gap:.5rem}.mod-id-input{flex:1;padding:.5rem;background:var(--slate);border:1px solid var(--slate-light);border-radius:4px;color:var(--cloud);font-size:.9rem}.mod-id-input:focus{outline:none;border-color:var(--blue);background:var(--slate-light)}.mod-id-input::placeholder{color:#7f8c8d}.mod-set-id-container{margin-top:.5rem}.mod-set-id-btn{padding:.4rem .8rem;font-size:.85rem;background:var(--blue);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.mod-set-id-btn:hover{background:#5aa8d8}.mod-update-info{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.update-available-badge{background:var(--danger);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.mod-update-btn{padding:.4rem .8rem;font-size:.85rem;background:var(--success)}.mod-update-btn:hover:not(:disabled){background:var(--success-light)}.mod-force-update-btn{padding:.4rem .8rem;font-size:.85rem;background:var(--warning-dark);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.mod-force-update-btn:hover:not(:disabled){background:var(--warning)}.mod-force-update-btn:disabled{background:var(--grey);cursor:not-allowed}.mod-summary{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--grey);font-size:.9rem}.backup-actions{margin-top:1rem;padding-top:1rem;border-top:none}.backup-btn{background:var(--blue)}.backup-btn:hover:not(:disabled){background:#5dade2}.restore-btn{background:var(--purple)}.restore-btn:hover:not(:disabled){background:#af7ac5}.new-world-btn{background:var(--warning-dark)}.new-world-btn:hover:not(:disabled){background:var(--warning)}.backups-list{max-height:400px;overflow-y:auto}.backups-table{width:100%;border-collapse:collapse;margin:1rem 0}.backups-table th,.backups-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border)}.backups-table th{background:#0f3460;color:var(--blue);font-weight:600}.backups-table tbody tr:hover{background:#3498db1a}.backup-filename{font-family:monospace;font-size:.9rem}.backup-actions{display:flex;gap:.5rem}.backup-actions .action-btn{flex:none;padding:.5rem 1rem;font-size:.9rem}.delete-btn{background:var(--danger-dark)}.delete-btn:hover:not(:disabled){background:var(--danger)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--surface);border-radius:8px;max-width:800px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 6px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;color:var(--blue)}.close-button{background:none;border:none;color:var(--grey);font-size:2rem;line-height:1;cursor:pointer;padding:0;width:2rem;height:2rem}.close-button:hover{color:var(--cloud)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{padding:1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:1rem}.account-management-page{max-width:700px;margin:0 auto;padding:1rem}.account-management-page h2{color:var(--accent);margin-bottom:2rem;text-align:center}.account-section{background:var(--surface);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border)}.account-section h3{color:var(--blue);margin-bottom:1rem;font-size:1.3rem}.info-message{padding:.75rem;background:var(--slate);border-radius:4px;color:var(--grey-light);font-size:.95rem}.notification-controls{display:flex;flex-direction:column;gap:1rem}.info-text{color:var(--cloud);font-size:1rem}.toggle-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600}.toggle-button.enabled{background:var(--success)}.toggle-button.enabled:hover:not(:disabled){background:var(--success-light)}.toggle-button.disabled{background:#7f8c8d}.toggle-button.disabled:hover:not(:disabled){background:var(--grey)}.test-button{background:var(--purple);padding:.75rem 1.5rem;font-size:1rem}.test-button:hover:not(:disabled){background:#8e44ad}.account-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--grey-light);font-size:.95rem;font-weight:600}.form-group input{padding:.75rem;font-size:1rem}.submit-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;background:var(--accent-dark);margin-top:.5rem}.submit-button:hover:not(:disabled){background:var(--accent)}.error-message{padding:1rem;background:var(--danger-dark);border-radius:4px;color:var(--text-white);font-weight:600;margin-bottom:1rem;text-align:center}.success-message{padding:1rem;background:var(--success);border-radius:4px;color:var(--text-white);font-weight:600;margin-bottom:1rem;text-align:center}.install-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;background:var(--blue);margin-top:.5rem}.install-button:hover:not(:disabled){background:#2980b9}.ios-instructions-modal{width:90vw;max-width:500px;max-height:80vh}.ios-instructions{color:var(--cloud)}.instruction-intro{font-size:1.1rem;margin-bottom:1.5rem;color:var(--blue)}.instruction-list{list-style:none;counter-reset:step-counter;padding-left:0;margin:0}.instruction-list li{counter-increment:step-counter;margin-bottom:1.5rem;padding-left:0;font-size:1rem;line-height:1.6}.instruction-list li strong{color:var(--blue)}.ios-icon{font-size:1.2rem;display:inline-block;margin-left:.5rem}.instruction-note{margin-top:2rem;padding:1rem;background:var(--slate-light);border-left:4px solid var(--warning);border-radius:4px;font-size:.95rem}.instruction-note em{color:var(--warning);font-style:normal}.log-tabs{display:flex;gap:.25rem}.log-tab{padding:.25rem .75rem;background:var(--surface-alt);border:1px solid var(--border);border-bottom:none;border-radius:4px 4px 0 0;color:#999;cursor:pointer;font-size:.85rem}.log-tab.active{background:var(--bg-deep);color:var(--text);border-color:#555}.log-tab:hover:not(.active){background:#252540;color:var(--text-soft)}.settings-form{display:flex;flex-direction:column;gap:.75rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-size:.85rem;color:var(--text-light);font-weight:500}.form-group input,.form-group select{padding:.5rem;background:var(--surface-alt);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.9rem}.form-group input:focus,.form-group select:focus{border-color:var(--blue-bright);outline:none}.settings-display{display:flex;flex-direction:column;gap:1rem}.soulmask-advanced-settings,.enshrouded-settings{max-width:900px;margin:0 auto;padding-bottom:80px}.advanced-settings-header{margin-bottom:1.5rem}.advanced-settings-header h2{margin:.5rem 0 .25rem;color:var(--text-bright)}.settings-subtitle{color:var(--text-muted);font-size:.9rem;margin:0}.slot-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.slot-tab{padding:.5rem 1rem;border:1px solid var(--border-light);background:var(--surface-grey);color:var(--text-soft);border-radius:6px 6px 0 0;cursor:pointer;font-size:.9rem}.slot-tab.active{background:var(--border);border-bottom-color:var(--border);color:var(--blue-bright);font-weight:700}.slot-tab:hover:not(.active){background:#353535}.settings-toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.settings-search{flex:1;min-width:200px;padding:.5rem .75rem;background:var(--surface-grey);border:1px solid var(--border-light);border-radius:6px;color:var(--text-bright);font-size:.9rem}.settings-search::placeholder{color:var(--text-dim)}.settings-toolbar-actions{display:flex;gap:.5rem}.settings-category{margin-bottom:.5rem;border:1px solid #3a3a3a;border-radius:8px;overflow:hidden;background:#222}.category-header{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;background:var(--surface-grey);cursor:pointer;-webkit-user-select:none;user-select:none}.category-header:hover{background:var(--border)}.category-icon{font-size:1.1rem}.category-name{font-weight:600;color:var(--text-bright);flex:1}.category-count{background:#3a3a3a;color:var(--text-muted);font-size:.75rem;padding:.15rem .5rem;border-radius:10px}.category-toggle{color:var(--text-dim);font-size:.8rem}.category-settings{border-top:1px solid var(--border)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid var(--surface-grey);gap:1rem}.setting-row:last-child{border-bottom:none}.setting-row.modified{background:#4a9eff0f;border-left:3px solid var(--blue-bright)}.setting-info{display:flex;flex-direction:column;flex:1;min-width:0}.setting-label{color:var(--text-bright);font-size:.9rem;font-weight:500}.setting-desc{color:var(--text-dim);font-size:.75rem;margin-top:.1rem}.setting-control{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--border-light);border-radius:24px;transition:.2s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:var(--text-soft);border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider{background:var(--blue-bright)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background:var(--text-white)}.ratio-control{display:flex;align-items:center;gap:.5rem}.ratio-control input[type=range]{width:100px;accent-color:var(--blue-bright)}.ratio-input{width:65px;padding:.25rem .4rem;background:var(--surface-grey);border:1px solid var(--border-light);border-radius:4px;color:var(--text-bright);font-size:.85rem;text-align:center}.int-input{width:80px;padding:.3rem .5rem;background:var(--surface-grey);border:1px solid var(--border-light);border-radius:4px;color:var(--text-bright);font-size:.85rem;text-align:center}.reset-btn{background:none;border:none;color:var(--blue-bright);cursor:pointer;font-size:1.1rem;padding:.1rem .3rem;border-radius:4px}.reset-btn:hover{background:#4a9eff26}.save-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--surface-alt);border-top:2px solid var(--blue-bright);z-index:100;box-shadow:0 -4px 12px #00000080}.save-bar span{color:var(--blue-bright);font-weight:600}.save-bar div{display:flex;gap:.5rem}.success-message{color:#4aff7e;background:#4aff7e14;padding:.5rem 1rem;border-radius:6px;margin-bottom:1rem}.error-message{color:#ff6b6b;background:#ff6b6b14;padding:.5rem 1rem;border-radius:6px;margin-bottom:1rem}@media (max-width: 600px){.setting-row{flex-direction:column;align-items:flex-start;gap:.5rem}.setting-control,.ratio-control{width:100%}.ratio-control input[type=range]{flex:1}.settings-toolbar{flex-direction:column}.settings-search{width:100%}.slot-tabs{flex-wrap:wrap}}@media (min-width: 1024px){.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.5rem;align-items:start;max-width:2400px}.app-sidebar{position:sticky;top:1rem}.app-sidebar .app-header{border-bottom:none;border-right:1px solid var(--border);padding:0 1rem 0 0;margin-bottom:0}.app-sidebar .header-top-section{flex-direction:column;text-align:center}.app-sidebar .app-title,.app-sidebar .user-info-row{text-align:center}.app-sidebar .app-title{font-size:1.5rem}.app-sidebar .header-actions{order:1;flex-direction:column;align-items:stretch;gap:.5rem}.app-sidebar .notification-status{text-align:center}.app-sidebar .nav-buttons-row{flex-direction:column}.app-sidebar .nav-button-compact{flex:none;max-width:none;min-width:0;text-align:left}.app-sidebar .nav-button-compact.active{box-shadow:inset 4px 0 0 var(--accent-light)}}@media (min-width: 1024px){.main-content{grid-template-columns:minmax(0,1fr) clamp(300px,22vw,420px)}.main-content .status-panel{position:sticky;top:1rem}}@media (min-width: 1400px){.action-buttons-grid{grid-template-columns:repeat(4,auto);justify-content:start}.server-details-page{max-width:1800px}.details-page-content{grid-template-columns:minmax(380px,1fr) minmax(0,1.5fr);align-items:start}.details-logs-section{position:sticky;top:1rem;height:calc(100vh - 2rem);max-height:none}.details-logs-section .log-output-page{min-height:0;max-height:none}}.admin-users-page select{padding:.5rem;background:var(--surface-alt);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.95rem}.user-list{list-style:none;display:flex;flex-direction:column}.user-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.user-row:last-child{border-bottom:none}.user-row-name{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.user-tag{font-size:.75rem;padding:.1rem .5rem;border-radius:999px;background:var(--slate);color:var(--grey-light)}.user-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.user-action-button{padding:.5rem .75rem;font-size:.9rem;background:var(--slate-light)}.user-action-button.danger{background:var(--danger-dark)}.user-action-button.danger:hover:not(:disabled){background:var(--danger)}.user-reset-form{display:flex;flex-wrap:wrap;gap:.5rem;width:100%}.user-reset-form input{flex:1;min-width:10rem;padding:.5rem;background:var(--surface-alt);border:1px solid var(--border);border-radius:4px;color:var(--text)}.play-button{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;border-radius:6px;background:var(--success);color:var(--text-white);font-weight:600;text-decoration:none}.play-button:hover{background:var(--success-light)}.setting-text,.setting-select{width:180px;padding:.3rem .5rem;background:var(--surface-grey);border:1px solid var(--border-light);border-radius:4px;color:var(--text-bright);font-size:.85rem}.setting-unit,.setting-readonly{color:var(--text-muted);font-size:.85rem}.settings-subgroup h4{margin:0;padding:.6rem 1rem .2rem;color:var(--blue-bright)}.settings-note{color:var(--text-muted);font-size:.85rem;margin:.75rem 0}
