html, body { height: 100%; margin: 0; } body { display: flex; flex-direction: column; } main { flex: 1 0 auto; } footer { flex-shrink: 0; position: sticky; bottom: 0; width: 100%; } .copy-btn { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; background-color: rgba(45, 212, 191, 0.2); border-radius: 4px; transition: all 0.3s ease; z-index: 10; } .copy-btn:hover { background-color: rgba(45, 212, 191, 0.4); } .copy-btn.copied { background-color: rgba(34, 197, 94, 0.4); } .copy-btn.copied svg.clipboard { display: none; } .copy-btn.copied svg.checkmark { display: block; opacity: 1; transform: scale(1); } .copy-btn svg { width: 16px; height: 16px; } .copy-btn svg.clipboard { display: block; } .copy-btn svg.checkmark { display: none; opacity: 0; transform: scale(0.5); transition: all 0.3s ease; } .search-container { max-width: 500px; margin: 0 auto 1.5rem; } .search-input { width: 100%; padding: 0.75rem 1rem; border: 2px solid #2DD4BF; border-radius: 0.5rem; background-color: rgba(255, 255, 255, 0.1); color: white; font-size: 1rem; outline: none; transition: border-color 0.3s ease; } .search-input:focus { border-color: #3B82F6; } .search-input::placeholder { color: rgba(255, 255, 255, 0.5); } .new-server-animation { animation: slideIn 0.5s ease-out forwards; border: 2px solid #2DD4BF; box-shadow: 0 0 10px rgba(45, 212, 191, 0.5); } @keyframes slideIn { 0% { opacity: 0; transform: translateY(20px) scale(0.95); } 100% { opacity: 1; transform: translateY(0) scale(1); } }