.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hl-row{position:relative;margin:.75rem 0 1rem}
.hl-track{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;padding:.25rem .1rem .5rem;scrollbar-width:thin}
.hl-item{flex:0 0 auto;width:76px;scroll-snap-align:start;text-decoration:none;color:inherit;text-align:center;font-size:.72rem;line-height:1.2}
.hl-item img{width:72px;height:72px;border-radius:12px;object-fit:cover;display:block;margin:0 auto .3rem;box-shadow:0 0 0 2px rgba(255,140,60,.55)}
.hl-item span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hl-nav{display:none;position:absolute;top:30%;z-index:2;border:0;border-radius:50%;width:2rem;height:2rem;background:rgba(0,0,0,.55);color:#fff;font-size:1.3rem;cursor:pointer}
.hl-prev{left:-.4rem}.hl-next{right:-.4rem}
@media(min-width:768px){.hl-item{width:150px;font-size:.82rem}.hl-item img{width:144px;height:144px}.hl-nav{display:block}}
.lib-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;position:relative}
.lib-filters>label{flex:1 1 220px}
.lib-filters .chips{display:flex;gap:.35rem;flex-wrap:nowrap}
.lib-filters .chip{min-width:2.4rem;font-size:1.05rem}
.q-sugg{position:absolute;top:100%;left:0;z-index:20;min-width:min(100%,420px);margin:.2rem 0 0;padding:.25rem;list-style:none;background:var(--bg,#111);border:1px solid rgba(128,128,128,.35);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.q-sugg li{padding:.45rem .6rem;border-radius:8px;cursor:pointer;font-size:.9rem}
.q-sugg li[aria-selected=true],.q-sugg li:hover{background:rgba(255,140,60,.18)}
.q-sugg small{opacity:.65;margin-left:.4rem}
.hl-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin:1rem 0 1.4rem}
.hl-card{display:flex;flex-direction:column;gap:.3rem;text-decoration:none;color:inherit;border-radius:14px;padding:.6rem;border:1px solid rgba(255,140,60,.45);background:rgba(255,140,60,.06)}
.hl-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px}
.hl-cat{font-size:.75rem;opacity:.7}
.lib-empty{padding:1rem;border:1px dashed rgba(128,128,128,.5);border-radius:12px;margin-bottom:1rem}
.hl-sugg{display:flex;flex-wrap:wrap;gap:.4rem}.hl-sugg button{cursor:pointer}
.lib-about{margin-top:2.5rem;opacity:.9}
