.library-top{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap}
.library-top h2{font-size:clamp(2rem,4vw,3.4rem)}.library-top p{color:var(--muted);margin-top:.65rem}
.library-search{margin:2.5rem 0 1rem;max-width:46rem}
.library-search label{display:block;font-weight:800;font-size:1rem;margin-bottom:.5rem}
.library-search input{width:100%;padding:.85rem 1rem;border:2px solid var(--muted);border-radius:4px;background:var(--panel);color:var(--cream);font-size:1rem}
.library-search input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.library-search p,.library-note{font-size:.9rem;color:var(--muted);margin-top:.75rem}
.library-note a{display:inline;color:var(--blue);text-decoration:underline;text-underline-offset:3px}.library-note a svg{display:inline;width:1em;height:1em;vertical-align:middle}
.library-list{padding:0;margin:2rem 0 0;list-style:none;border-top:1px solid var(--line)}
.library-list li{border-bottom:1px solid var(--line)}
.library-file{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem .4rem;transition:color .2s ease,background .2s ease}
.library-file-text{display:grid;gap:.1rem;min-width:0;overflow-wrap:anywhere}
.library-file-text strong{font-size:1.2rem;line-height:1.3}.library-file-text>span{font-size:1rem;color:var(--muted)}
.library-file-text small{font-size:.8rem;color:var(--muted)}
.library-file-type{display:flex;align-items:center;gap:.6rem;flex-shrink:0;color:var(--blue);font-size:.85rem;font-weight:800}
.library-file-type svg{width:1rem;height:1rem}
.library-file:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
@media(hover:hover){.library-file:hover{color:var(--blue);background:var(--panel)}}
@media(max-width:600px){.library-top .button{width:100%}.library-file-text small{font-size:.75rem}.library-file{gap:.5rem}}
