.library-guidance{max-width:76ch;color:var(--muted);line-height:1.7;margin-bottom:24px}
.catalog-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.catalog-controls label{display:block;font-weight:700;margin-bottom:8px}.catalog-controls input,.catalog-controls select{width:100%;min-height:46px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);padding:10px;font:inherit}.catalog-controls button{justify-self:start;cursor:pointer}.catalog-search{grid-column:span 2}.catalog-status{margin:24px 0;color:var(--muted)}
.catalog-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.catalog-card.library-row{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:24px;border:1px solid var(--border);border-radius:18px;background:var(--surface);min-width:0;margin:0}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.catalog-code{font-weight:800;color:var(--green)}.catalog-session{font-size:.85rem;font-weight:700;background:var(--surface-alt);border:1px solid var(--border);border-radius:999px;padding:6px 12px}.catalog-card h3{margin:0;overflow-wrap:anywhere}.catalog-details{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}.catalog-details dt{font-size:.8rem;color:var(--muted)}.catalog-details dd{margin:3px 0 0;overflow-wrap:anywhere}.catalog-note{color:var(--muted);font-size:.85rem;line-height:1.6;margin:0}.catalog-card .library-description{margin:0;white-space:pre-line;overflow-wrap:anywhere}.catalog-card .library-resource-actions{margin-top:auto;justify-content:space-between;flex-wrap:wrap}.catalog-controls :focus-visible,.catalog-card a:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:700px){.catalog-controls{grid-template-columns:1fr 1fr;padding:16px;gap:12px}.catalog-search{grid-column:1/-1}.catalog-results{grid-template-columns:1fr}.catalog-card.library-row{padding:20px}.catalog-controls button{grid-column:1/-1}}

.catalog-current{padding:8px 12px;border:1px solid var(--green);border-radius:10px;background:var(--green-3);color:var(--ink);font-weight:700;font-size:.85rem}
