.library-paintings{position:absolute;inset:0;pointer-events:none;z-index:2}
.library-painting{position:absolute;left:0;top:0;width:320px;height:180px;transform-origin:0 0;pointer-events:auto;background:radial-gradient(ellipse at 50% 30%,#4b311d,#1d1510);color:#f0d9a6;padding:0;overflow:hidden;box-shadow:inset 0 0 0 2px #ad7b39;isolation:isolate}
.library-painting img{width:100%;height:100%;object-fit:cover;display:block}
.library-painting-caption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#100b06ed 30%);padding:24px 10px 9px;text-align:center;display:grid;gap:4px}
.library-painting-caption strong{font:600 21px var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.library-painting-caption small{font:15px Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ead9bb}
.library-painting.empty .library-painting-caption{inset:0;align-content:center;background:none}
.library-painting.empty strong{font-size:24px}.library-painting.empty small{color:#c2a575}
.library-painting:hover,.library-painting:focus-visible{filter:brightness(1.25);outline:4px solid #f4d58b;outline-offset:-4px}
.library-tools{position:absolute;right:18px;top:16px;z-index:8;max-width:calc(100% - 36px);background:#101112ed;border:1px solid var(--line);border-radius:5px;color:var(--text);box-shadow:0 4px 20px #0006}
.library-browse{background:transparent;padding:12px 16px;color:inherit;font-weight:700;min-height:44px}
.library-pages{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:11px;gap:7px}
.library-pages button{background:transparent;color:inherit;min-width:44px;min-height:36px}
dialog.library-dialog{max-width:920px;width:calc(100% - 24px)}
.library-search{display:flex;gap:10px;margin:22px 0 12px}.library-search input{flex:1;min-width:0;background:#18191a;color:var(--text);border:1px solid var(--line);border-radius:4px;padding:12px}
.library-catalog-status{color:var(--muted);font-size:12px;margin-bottom:16px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.library-card{display:grid;gap:6px;padding:0 0 14px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:5px;overflow:hidden}
.library-card>strong,.library-card>small,.library-card>span:last-child{padding:0 12px;overflow-wrap:anywhere}.library-card small{color:var(--muted)}.library-card>span:last-child{font-size:11px;color:var(--gold)}
.library-card-cover,.library-detail-cover{display:block;aspect-ratio:16/9;background:var(--panel);overflow:hidden}.library-card-cover img,.library-detail-cover img{width:100%;height:100%;object-fit:cover}.library-cover-fallback{display:grid;place-items:center;width:100%;height:100%;color:var(--muted);font-size:46px}
.library-catalog-actions,.library-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;flex-wrap:wrap}.library-empty{padding:24px;border:1px dashed var(--line);border-radius:5px;color:var(--muted);line-height:1.7}.library-description{white-space:pre-wrap;overflow-wrap:anywhere}.library-detail-cover{max-height:360px;border-radius:5px}
@media(max-width:650px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-tools{top:62px;right:12px;max-width:calc(100% - 24px)}.library-browse{font-size:12px;padding:9px 12px}.library-search{gap:6px}.library-search .button{padding:10px}.library-catalog-actions .button{flex:1}}
@media(max-width:380px){.library-grid{grid-template-columns:1fr}}
