.library-mode-btn { padding: 0.6rem 1.2rem; background: rgba(255, 255, 255, 0.05); border-radius: var(--radius-full); border: 1px solid rgba(255, 255, 255, 0.1); color: var(--color-text-secondary); cursor: pointer; display: flex; align-items: center; gap: 0.5rem; font-weight: 600; font-size: 0.9rem; transition: all 0.2s; } .library-mode-btn:hover { background: rgba(255, 255, 255, 0.1); color: white; } .library-mode-btn.active { background: var(--color-primary); color: white; border-color: var(--color-primary); } .library-mode-btn svg { width: 18px; height: 18px; } .local-library-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.5rem; padding: 1rem 0; } .local-card { cursor: pointer; transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1); } .local-card:hover { transform: translateY(-8px); } .local-card-info { padding: 0.8rem 0; } .local-card-title { font-size: 1rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 0.5rem; } .match-status { font-size: 0.85rem; display: inline-block; padding: 0.25rem 0.75rem; border-radius: var(--radius-sm); } .status-linked { background: rgba(34, 197, 94, 0.2); color: var(--color-success); } .status-unlinked { background: rgba(239, 68, 68, 0.2); color: var(--color-danger); } .hidden { display: none !important; } .skeleton-card { width: 100%; aspect-ratio: 2/3; background: linear-gradient(90deg, #18181b 25%, #27272a 50%, #18181b 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; border-radius: var(--radius-md); } @keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } .hero-wrapper { position: relative; } .library-mode-btn.icon-only { position: absolute; bottom: 2rem; right: 2rem; z-index: 50; } .hero-mode-switch .library-mode-btn { backdrop-filter: blur(10px); } .local-filters { display: flex; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; } .filter-btn { padding: 0.4rem 0.9rem; border-radius: 999px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); color: #bbb; cursor: pointer; } .filter-btn.active { background: var(--color-primary); color: white; border-color: var(--color-primary); }