.library-browser [hidden]{display:none!important}
.library-controls{padding:20px;background:#fff4e8;border:1px solid #f3d9bd;border-radius:12px;margin:20px 0}
.library-controls label{display:block;font-weight:bold;margin-bottom:6px}
.library-controls input,.library-controls select{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #bfa58e;border-radius:8px;padding:10px;background:#fff;color:#2b2320;font:inherit;font-size:.92rem}
.library-controls input:focus,.library-controls select:focus,.library-browser button:focus-visible{outline:3px solid #e8710a;outline-offset:3px}
.filter-row{display:flex;align-items:end;gap:12px;margin-top:16px;flex-wrap:wrap}
.filter-row>div{flex:1;min-width:180px}
.library-browser button{font:inherit;cursor:pointer;color:#833b07;background:#fff;border:1px solid #cda780;border-radius:8px;min-height:44px;padding:8px 12px}
.popular-heading{margin:20px 0 8px;font-weight:bold}.popular-heading span{font-weight:normal;font-size:.8rem;color:#66584c}
.popular-tags{display:flex;flex-wrap:wrap;gap:8px}.popular-tags button{border-radius:24px;font-size:.85rem}.popular-tags button span{margin-left:5px;opacity:.8}
.popular-tags button[aria-pressed=true]{background:#b3540a;color:white;border-color:#b3540a}
.library-status{font-size:.9rem;color:#66584c;margin:22px 0 12px}
.library-result{align-items:flex-start;gap:12px}.library-result h3{font-size:1.12rem;line-height:1.5;margin:4px 0 8px;overflow-wrap:anywhere}.library-result h3 a{text-decoration:none}.library-result h3 a:hover{text-decoration:underline}
.library-result p{margin:8px 0}.library-result .area-label{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;color:#806346;margin:0}
.result-tags{display:flex;flex-wrap:wrap;gap:5px}.result-tags span{background:#fff4e8;border-radius:16px;border:1px solid #f3d9bd;padding:1px 8px;font-size:.75rem}
.experiment-titles{font-size:.85rem}.experiment-titles summary{cursor:pointer;color:#b3540a}.experiment-titles ul{padding-left:20px}.experiment-titles a{overflow-wrap:anywhere}
.library-empty{padding:24px;text-align:center;background:#fff;border:1px dashed #cda780;border-radius:12px}.library-empty h3{margin-top:0}
@media(max-width:480px){.library-controls{padding:14px}.filter-row>div{flex-basis:100%}.filter-reset{width:100%}.library-result{gap:4px}.library-result .card-qr{margin-left:4px}.library-result h3{font-size:1rem}}
