#library-container{box-sizing:border-box;display:none;flex:1;height:100%;min-width:0;overflow-y:auto;padding:1.5rem 2rem 4rem}#chat-input-column.library-active .chat-input-container{display:none}#chat-input-column.library-active #library-container{display:block}.library-header{background:var(--background-color);margin-bottom:.5rem;margin-left:2em;margin-right:2em;padding-bottom:1rem;position:sticky;top:0;z-index:5}@media (max-width:768px){.library-header{margin-top:2em}}.library-title{color:var(--font-color);font-size:1.5rem;font-weight:600;margin:0 0 1rem}.library-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.library-tabs{display:flex;gap:.4rem}.library-tab{background:transparent;border:1px solid var(--border-color);border-radius:999px;color:var(--font-color);cursor:pointer;font-size:.85rem;padding:.35rem 1rem;transition:background .15s ease,border-color .15s ease}.library-tab:hover{background:var(--content-hover-color,hsla(0,0%,50%,.12))}.library-tab.selected-library-tab{background:var(--font-color);border-color:var(--font-color);color:var(--background-color)}.library-search{align-items:center;border:1px solid var(--border-color);border-radius:999px;display:flex;gap:.4rem;min-width:200px;padding:.3rem .85rem}.library-search .material-symbols-outlined{color:var(--font-color);font-size:1.1rem;opacity:.6}.library-search input{background:transparent;border:none;color:var(--font-color);font-size:.85rem;outline:none;width:100%}.library-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.library-card{aspect-ratio:1/1;background:var(--content-hover-color,hsla(0,0%,50%,.08));border:1px solid var(--border-color);border-radius:12px;cursor:pointer;overflow:hidden;position:relative}.library-card img,.library-card video{display:block;height:100%;object-fit:cover;width:100%}.library-card.library-card-audio{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:1rem;text-align:center}.library-card-audio .material-symbols-outlined{color:var(--font-color);font-size:2.5rem;opacity:.8}.library-card-audio .library-audio-label{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--font-color);display:-webkit-box;font-size:.75rem;opacity:.7;overflow:hidden;text-overflow:ellipsis}.library-card-type-badge{background:rgba(0,0,0,.55);border-radius:6px;color:#fff;font-size:.65rem;left:.5rem;letter-spacing:.04em;padding:.1rem .45rem;position:absolute;text-transform:uppercase;top:.5rem;z-index:2}.library-card-overlay{align-items:flex-end;background:linear-gradient(0deg,rgba(0,0,0,.6) 0,transparent 55%);display:flex;gap:.35rem;inset:0;justify-content:flex-end;opacity:0;padding:.5rem;position:absolute;transition:opacity .15s ease}.library-card:hover .library-card-overlay{opacity:1}.library-action{align-items:center;background:rgba(0,0,0,.55);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .15s ease;width:32px}.library-action:hover{background:rgba(0,0,0,.85)}.library-action .material-symbols-outlined{font-size:1.1rem}.library-empty,.library-error{color:var(--font-color);opacity:.7;padding:3rem 1rem;text-align:center}.library-error{align-items:center;display:flex;flex-direction:column;gap:.75rem}.library-retry{background:var(--font-color);border:none;border-radius:8px;color:var(--background-color);cursor:pointer;padding:.4rem 1.2rem}.library-loader{display:flex;justify-content:center;padding:1.5rem}.library-spinner{animation:library-spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--font-color);height:28px;width:28px}@keyframes library-spin{to{transform:rotate(1turn)}}.library-sentinel{height:1px}.library-lightbox{align-items:center;background:rgba(0,0,0,.85);display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:9999}.library-lightbox-content{align-items:center;display:flex;flex-direction:column;gap:1rem;max-height:90vh;max-width:90vw}.library-lightbox-content img,.library-lightbox-content video{border-radius:8px;max-height:80vh;max-width:90vw}.library-lightbox-close{background:transparent;border:none;color:#fff;cursor:pointer;position:absolute;right:1.5rem;top:1.25rem}.library-lightbox-close .material-symbols-outlined{font-size:2rem}@media (max-width:768px){#library-container{padding:1rem}.library-grid{gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}