/* Glass Components */ .glass-card { background: var(--bg-color); opacity: 1; border-radius: var(--radius-2xl); box-shadow: var(--shadow-sm); border: 1px solid var(--glass-border); transition: transform 0.2s ease-out, box-shadow 0.2s ease-out; transform: translateZ(0); will-change: transform; } .glass-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); } .glass-input { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: var(--radius-2xl); color: var(--text-color); transition: border-color 0.2s ease, box-shadow 0.2s ease; } .glass-input:focus { outline: none; border-color: var(--accent-color); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-color) 30%, transparent); } .glass-button { background: var(--accent-color); color: white; border: none; border-radius: var(--radius-2xl); padding: 0.75rem 1.25rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; box-shadow: var(--shadow-sm); } .glass-button:hover { transform: translateY(-2px); filter: brightness(1.1); box-shadow: var(--shadow-md); } .glass-button:active { transform: translateY(0) scale(0.98); filter: brightness(0.95); } .glass-badge { display: inline-flex; align-items: center; justify-content: center; padding: 0.25rem 0.75rem; border-radius: var(--radius-full); font-size: 0.8rem; font-weight: 600; background-color: var(--accent-color); color: white; } /* Video Player Components */ .spinner { width: 48px; height: 48px; border: 5px solid color-mix(in srgb, var(--glass-bg) 50%, transparent); border-top-color: var(--accent-color); border-radius: var(--radius-full); animation: spin 1s linear infinite; } .btn-icon { display: flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: var(--radius-2xl); color: white; cursor: pointer; transition: all 0.2s ease; -webkit-tap-highlight-color: transparent; touch-action: manipulation; user-select: none; -webkit-user-select: none; position: relative; z-index: 10; } .btn-icon:hover { background: rgba(255, 255, 255, 0.2); transform: scale(1.05); } .btn-icon:active { transform: scale(0.95); } .slider-track { position: relative; width: 100%; height: 8px; background: rgba(255, 255, 255, 0.3); border-radius: var(--radius-full); cursor: pointer; overflow: visible; user-select: none; -webkit-user-select: none; } .slider-track.h-1 { height: 4px; } .slider-range { position: absolute; left: 0; top: 0; height: 100%; background-color: var(--accent-color); border-radius: var(--radius-full); pointer-events: none; } .slider-thumb { position: absolute; top: 50%; width: 16px; height: 16px; background-color: white; border-radius: var(--radius-full); transform: translate(-50%, -50%); cursor: grab; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); pointer-events: none; } .slider-track.h-1 .slider-thumb { width: 12px; height: 12px; } .slider-track:hover .slider-thumb { transform: translate(-50%, -50%) scale(1.2); } .slider-thumb:active, .slider-track:active .slider-thumb { transform: translate(-50%, -50%) scale(1.3); cursor: grabbing; } /* Search History Dropdown */ .search-history-dropdown { max-height: 400px; overflow-y: auto; background: var(--bg-color); opacity: 0.98; border-radius: var(--radius-2xl); box-shadow: var(--shadow-md); border: 1px solid var(--glass-border); padding: 0.75rem; opacity: 0; transform: translateY(-10px) scale(0.95); animation: search-dropdown-appear 0.2s ease-out forwards; transform-origin: top center; user-select: none; -webkit-user-select: none; will-change: transform, opacity; } .search-history-header { display: flex; align-items: center; justify-content: space-between; padding: 0.5rem 0.75rem; margin-bottom: 0.5rem; } .search-history-divider { height: 1px; width: 100%; background: var(--glass-border); margin: 0.5rem 0; } .search-history-list { display: flex; flex-direction: column; gap: 0.25rem; } .search-history-item { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; border-radius: var(--radius-2xl); padding: 0.75rem 1rem; cursor: pointer; transition: background-color 0.2s ease; background: transparent; } .search-history-item:hover { background: color-mix(in srgb, var(--accent-color) 10%, transparent); } .search-history-item.highlighted { background: color-mix(in srgb, var(--accent-color) 15%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-color) 30%, transparent); } .search-history-remove { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: var(--radius-full); background: transparent; border: none; color: var(--text-color-secondary); cursor: pointer; flex-shrink: 0; transition: all 0.2s ease; z-index: 1; } .search-history-remove:hover { background: color-mix(in srgb, var(--text-color-secondary) 20%, transparent); color: var(--text-color); transform: scale(1.1); } .search-history-remove:active { transform: scale(0.95); }