.searchContainer { position: relative; width: 100%; max-width: 300px; } .searchForm { display: flex; align-items: center; background-color: var(--input-background); border: 1px solid var(--input-border); overflow: hidden; width: 100%; transition: all 0.2s ease; border-radius: 8px; } .searchForm:focus-within { border-color: var(--primary-color); } .searchInput { flex: 1; padding: 0.5rem 0.75rem; font-size: 0.875rem; border: none; outline: none; background-color: transparent; color: var(--text-color); margin-top: 2px; } .searchInput::placeholder { color: var(--timestamp-color); } .searchButton { display: flex; align-items: center; justify-content: center; background-color: transparent; border: none; padding: 0.5rem; color: var(--primary-color); cursor: pointer; transition: all 0.2s ease; } .searchButton:hover { background-color: rgba(91, 173, 240, 0.1); } /* Suggestions dropdown */ .suggestionsContainer { position: absolute; top: 100%; left: 0; right: 0; margin-top: 5px; background-color: var(--card-background); border: 1px solid var(--tile-border); border-radius: 8px; max-height: 300px; overflow-y: auto; z-index: 10; } .suggestionsList { list-style: none; padding: 0; margin: 0; } .suggestionItem { padding: 0; margin: 0; border-bottom: 1px solid var(--tile-border); } .suggestionItem:last-child { border-bottom: none; } .suggestionButton { display: flex; align-items: center; width: 100%; text-align: left; padding: 0.75rem 1rem; background: none; border: none; cursor: pointer; transition: background-color 0.2s; color: var(--text-color); gap: 10px; } .suggestionButton:hover { background-color: var(--button-hover); /* No transform on hover */ } .avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex-shrink: 0; } .avatarPlaceholder { width: 28px; height: 28px; border-radius: 50%; background-color: var(--primary-color); opacity: 0.3; flex-shrink: 0; } .suggestionInfo { display: flex; flex-direction: column; overflow: hidden; } .displayName { font-weight: 600; font-size: 0.9rem; margin-bottom: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .handle { font-size: 0.9rem; color: var(--link-color); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .noResults { padding: 1rem; text-align: center; color: var(--timestamp-color); font-style: italic; } .loadingContainer { display: flex; justify-content: center; padding: 1rem; gap: 0.3rem; } .loadingDot { width: 8px; height: 8px; border-radius: 50%; background-color: var(--primary-color); animation: dotPulse 1.4s infinite ease-in-out; } .loadingDot:nth-child(2) { animation-delay: 0.2s; } .loadingDot:nth-child(3) { animation-delay: 0.4s; } @keyframes dotPulse { 0%, 80%, 100% { transform: scale(0.8); opacity: 0.5; } 40% { transform: scale(1.2); opacity: 1; } } @media (max-width: 800px) { .searchContainer { max-width: 250px; } .searchInput { font-size: 0.85rem; padding: 0.4rem 0.5rem; } .searchButton { padding: 0.4rem; } } @media (max-width: 600px) { .searchContainer { max-width: 200px; } .searchInput { font-size: 0.8rem; padding: 0.4rem 0.5rem; } } @media (max-width: 480px) { .searchContainer { min-width: 140px; flex: 1; max-width: 100%; } .searchInput::placeholder { font-size: 0.75rem; } .searchForm { height: 36px; } .searchInput { font-size: 0.75rem; } }