.navbar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:100;padding:16px 20px;position:sticky;top:0}.navbar-content{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.navbar-logo{color:var(--accent-primary);font-size:1.5rem;font-weight:700;text-decoration:none}.navbar-logo:hover{color:var(--accent-secondary);text-decoration:none}.navbar-links{align-items:center;gap:20px;display:flex}.navbar-links a{color:var(--text-secondary);font-weight:500;transition:color .2s}.navbar-links a:hover{color:var(--text-primary);text-decoration:none}.navbar-user{color:var(--accent-primary);font-weight:500}.btn-register{background-color:var(--accent-primary);border-radius:6px;padding:8px 16px;color:var(--bg-primary)!important}.btn-register:hover{background-color:#00b8e6}.btn-admin{background-color:#9c27b0;border-radius:6px;padding:8px 16px;font-weight:600;color:#fff!important}.btn-admin:hover{background-color:#7b1fa2;text-decoration:none}.search-bar{flex-wrap:wrap;gap:16px;margin-bottom:30px;display:flex}.search-input{flex:1;min-width:200px}.server-filter{width:200px}.no-results{color:var(--text-secondary);text-align:center;padding:40px;font-size:1.1rem}.card{background-color:var(--bg-secondary);color:var(--text-primary);border-radius:12px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;position:relative;overflow:hidden}.card:hover{text-decoration:none;transform:translateY(-4px);box-shadow:0 8px 24px #0006}.card-bg{background-position:50%;background-repeat:no-repeat;background-size:contain;width:100%;height:100%;position:absolute;inset:0;transform:none}.card-content{flex-direction:column;gap:8px;min-height:150px;padding:20px;display:flex;position:relative}.card-title{font-size:1.2rem;font-weight:600}.card-header{align-items:center;gap:10px;display:flex}.card-icon{object-fit:cover;border-radius:6px;width:32px;height:32px}.card-server,.card-version{background-color:var(--accent-secondary);color:#fff;border-radius:4px;width:fit-content;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-block}.card-server-wrapper{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-desc{color:var(--text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box;overflow:hidden}.card-author{color:var(--accent-primary);font-size:.85rem}.card-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.card-downloads{color:var(--text-secondary);font-size:.85rem;font-weight:600}.auth-page{justify-content:center;align-items:center;min-height:60vh;display:flex}.auth-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:400px;padding:40px}.auth-card h1{text-align:center;margin-bottom:30px}.auth-card form{flex-direction:column;display:flex}.auth-card button{width:100%;margin-top:10px}.auth-link{text-align:center;color:var(--text-secondary);margin-top:20px}.upload-page{max-width:600px;margin:0 auto}.upload-page h1{margin-bottom:30px}.upload-form{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:30px}.upload-form textarea{resize:vertical}.multi-select{height:150px}.upload-form small{color:var(--text-secondary);margin-top:8px;font-size:.85rem;display:block}.upload-form button{width:100%;margin-top:10px}.form-actions{gap:12px;margin-top:10px;display:flex}.form-actions button{flex:1}.form-actions button[type=button]{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.form-actions button[type=button]:hover{background-color:var(--border-color)}.detail-page{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;max-width:800px;margin:0 auto;position:relative;overflow:hidden}.detail-bg{z-index:0;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;position:absolute;inset:0}.detail-content{z-index:1;padding:40px;position:relative}.detail-content h1{margin-bottom:16px;font-size:2.5rem}.detail-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.server-tag{background-color:var(--accent-secondary);color:#fff;border-radius:6px;padding:6px 14px;font-size:.9rem;font-weight:600}.download-count{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:4px;padding:6px 14px;font-size:.9rem;font-weight:600;display:inline-flex}.detail-desc{color:var(--text-secondary);margin-bottom:30px;font-size:1.1rem;line-height:1.7}.detail-section{margin-bottom:30px}.detail-section h3{color:var(--text-secondary);margin-bottom:12px}.deps-list{flex-wrap:wrap;gap:10px;display:flex}.dep-tag{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--accent-primary);border-radius:8px;padding:8px 16px;transition:background-color .2s}.dep-tag:hover{background-color:var(--border-color);text-decoration:none}.detail-actions{gap:16px;margin-top:30px;display:flex}.detail-actions button{min-width:160px}.btn-edit{background-color:var(--accent-primary);color:#000}.btn-edit:hover{background-color:var(--accent-secondary)}.screenshots-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.screenshot-thumb{object-fit:cover;border:1px solid var(--border-color);cursor:pointer;border-radius:8px;width:100%;height:100px;transition:transform .2s,box-shadow .2s}.screenshot-thumb:hover{transform:scale(1.05);box-shadow:0 4px 16px #0006}.image-modal{z-index:9999;cursor:pointer;background-color:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-image{object-fit:contain;border-radius:8px;max-width:90%;max-height:90%}.video-container{border:1px solid var(--border-color);border-radius:12px;width:100%;padding-bottom:56.25%;position:relative;overflow:hidden}.showcase-video{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.version-history-header{transition:color .2s}.version-history-header:hover{color:var(--accent-primary)}.versions-list{flex-direction:column;gap:12px;margin-top:12px;display:flex}.version-item{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:14px 18px}.version-item-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.version-number{color:var(--accent-primary);font-size:1.1rem;font-weight:700}.version-date{color:var(--text-secondary);font-size:.9rem}.version-hashes{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.hash-item{color:var(--text-secondary);font-size:.85rem}.hash-item code{background-color:var(--bg-primary);color:var(--text-primary);border-radius:4px;padding:2px 6px;font-family:Consolas,Monaco,monospace;font-size:.8rem}.version-file-info{color:var(--text-secondary);font-size:.85rem}.api-docs{max-width:900px;margin:0 auto}.api-docs h1{margin-bottom:10px}.api-intro{color:var(--text-secondary);margin-bottom:30px;font-size:1.1rem}.api-intro code{background-color:var(--bg-tertiary);color:var(--accent-primary);border-radius:4px;padding:4px 10px}.api-section{margin-bottom:40px}.api-section h2{border-bottom:2px solid var(--accent-primary);margin-bottom:20px;padding-bottom:10px;font-size:1.5rem}.api-endpoint{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:16px;padding:20px}.api-endpoint h3{color:var(--accent-primary);margin-bottom:8px;font-size:1.1rem}.api-endpoint p{color:var(--text-secondary);margin-bottom:12px}.api-code{background-color:var(--bg-tertiary);white-space:pre-wrap;color:var(--text-secondary);border-radius:8px;padding:16px;font-family:Consolas,monospace;font-size:.9rem;overflow-x:auto}.admin-panel{max-width:1000px;margin:0 auto;padding:40px}.admin-panel h1{margin-bottom:24px;font-size:2rem}.admin-panel h2{color:var(--text-secondary);margin-bottom:16px;font-size:1.5rem}.users-table{margin-top:20px}.users-table table{border-collapse:collapse;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;overflow:hidden}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:14px 20px}.users-table th{background-color:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:600}.users-table td{color:var(--text-primary)}.users-table tbody tr:hover{background-color:var(--bg-tertiary)}.color-picker-group{align-items:center;gap:8px;display:flex}.color-picker-group input[type=color]{border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:6px;width:40px;height:32px;padding:2px}.color-picker-group button{border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:.85rem;transition:background-color .2s}.color-picker-group button:hover{background-color:var(--border-color)}.btn-remove-color{color:var(--danger-color,#ff4d4d)!important;border-color:var(--danger-color,#ff4d4d)!important;background-color:#0000!important}.btn-remove-color:hover{background-color:var(--danger-color,#ff4d4d)!important;color:#fff!important}.btn-grant-admin{color:#fff;cursor:pointer;background-color:#4caf50;border:none;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background-color .2s}.btn-grant-admin:hover{background-color:#45a049}.btn-revoke-admin{color:#fff;cursor:pointer;background-color:#f44336;border:none;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background-color .2s}.btn-revoke-admin:hover{background-color:#d32f2f}.success-message{color:#a5d6a7;background-color:#1b5e20;border:1px solid #2e7d32;border-radius:8px;margin-bottom:16px;padding:12px 20px}:root{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-tertiary:#252525;--accent-primary:#00d4ff;--accent-secondary:#ff6b35;--text-primary:#fff;--text-secondary:#a0a0a0;--border-color:#333;--error:#f44;--success:#0c6}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:20px}.loading{height:100vh;color:var(--text-secondary);justify-content:center;align-items:center;font-size:1.5rem;display:flex}input,textarea,select{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;width:100%;padding:12px 16px;font-size:1rem;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #00d4ff1a}button{background-color:var(--accent-primary);color:var(--bg-primary);cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:1rem;font-weight:600;transition:background-color .2s,transform .1s}button:hover{background-color:#00b8e6}button:active{transform:scale(.98)}button:disabled{background-color:var(--text-secondary);cursor:not-allowed}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)}.btn-danger{background-color:var(--error)}.btn-danger:hover{background-color:#c33}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);margin-bottom:8px;font-weight:500;display:block}.error-message{color:var(--error);margin-top:8px;font-size:.9rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px;display:grid}.section-title{border-bottom:2px solid var(--accent-primary);margin:30px 0 20px;padding-bottom:10px;font-size:1.8rem}
