.skeleton-card{pointer-events:none;cursor:default}.skeleton-thumb{border-radius:var(--radius-md);width:100%;aspect-ratio:16/9}.skeleton-thumb,.skeleton-title-line{background-color:var(--color-surface)}.skeleton-title-line{height:16px;border-radius:4px;margin-bottom:8px;width:90%}.skeleton-title-line.short{width:60%;margin-bottom:12px}.skeleton-meta{display:flex;gap:12px}.skeleton-meta-item{background-color:var(--color-surface);height:12px;border-radius:4px;width:40px}.skeleton-pulse{animation:skeleton-pulse-anim 1.5s ease-in-out infinite}@keyframes skeleton-pulse-anim{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.pager{display:flex;gap:var(--space-1);margin-top:var(--space-10);flex-wrap:wrap}.pager,.pager__btn{align-items:center;justify-content:center}.pager__btn{min-width:36px;height:36px;display:inline-flex;background:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--ease-fast);padding:0 var(--space-2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.pager__btn:hover:not(:disabled){background:var(--color-bg-sidebar);color:var(--color-text-primary);border-color:var(--color-text-muted)}.pager__btn.is-current{background:var(--color-accent);color:white;border-color:var(--color-accent);box-shadow:var(--shadow-btn);pointer-events:none}.pager__btn:disabled:not(.is-current){opacity:.35;cursor:not-allowed}.pager__btn--icon{padding:0}.pager__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:var(--color-text-muted);font-size:var(--font-size-sm);-webkit-user-select:none;-moz-user-select:none;user-select:none}.sort-bar{display:flex;gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end}.sort-btn{display:inline-flex;align-items:center;gap:5px;background:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border);padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all var(--ease-fast);white-space:nowrap}.sort-btn:hover{background:var(--color-bg-sidebar);color:var(--color-text-primary);border-color:var(--color-text-muted)}.sort-btn.is-active{background:var(--color-accent);color:white;border-color:var(--color-accent);box-shadow:var(--shadow-btn)}@media (max-width:768px){.sort-bar{gap:4px;justify-content:flex-start}.sort-btn{padding:5px 8px;font-size:.65rem}}.tags-bar-root{background:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:7px 0}.tags-bar-inner{display:flex;align-items:center;gap:var(--space-3);min-width:0}.tags-bar-label{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.tags-scroll-wrapper{display:flex;align-items:center;position:relative;flex:1 1;min-width:0}.tags-scroll-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:50%;width:28px;height:28px;cursor:pointer;z-index:10;box-shadow:0 2px 6px rgba(0,0,0,.1);transition:all var(--ease-fast)}.tags-scroll-btn:hover{background:var(--color-accent);color:white;border-color:var(--color-accent)}.tags-scroll-btn.left{left:0}.tags-scroll-btn.right{right:0}.tags-bar-scroll{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 14px;width:100%}.tags-bar-scroll::-webkit-scrollbar{display:none}.tag-pill{display:inline-flex;align-items:center;white-space:nowrap;background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:4px 11px;font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all var(--ease-fast);text-transform:capitalize}.tag-pill:hover{background:var(--color-accent);color:white;border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 2px 6px rgba(255,51,85,.25)}