/* Hugo Blox Search - Custom Pagefind Implementation */ /* Animations */ @keyframes spin { to { transform: rotate(360deg); } } .animate-spin { animation: spin 1s linear infinite; } /* Search result highlights */ .search-result mark { background-color: rgb(254 240 138); color: rgb(17 24 39); font-weight: var(--hb-font-weight-body-bold, 600); padding: 0.05rem 0.2rem; border-radius: 0.125rem; } .dark .search-result mark { background-color: rgb(133 77 14); color: rgb(254 240 138); } /* Result hover state */ .search-result:hover mark { background-color: rgb(253 224 71); } .dark .search-result:hover mark { background-color: rgb(161 98 7); } /* Smooth transitions */ .search-modal-enter { animation: slide-in-up 0.2s ease-out; } @keyframes slide-in-up { from { opacity: 0; transform: translateY(1rem) scale(0.95); } to { opacity: 1; transform: translateY(0) scale(1); } } /* Loading skeleton */ .search-skeleton { background: linear-gradient(90deg, rgb(229 231 235) 25%, rgb(243 244 246) 50%, rgb(229 231 235) 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; } .dark .search-skeleton { background: linear-gradient(90deg, rgb(55 65 81) 25%, rgb(75 85 99) 50%, rgb(55 65 81) 75%); background-size: 200% 100%; } @keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } /* Keyboard navigation highlight - handled by Alpine :class binding */ /* Smooth transition for selection state */ .search-result { transition: all 0.15s ease; } /* Additional hover effects for keyboard-selected items */ .search-result:focus-visible { outline: 2px solid rgb(59 130 246); outline-offset: -2px; }