/* Navigation and catalog presentation, not article typography. */
.article-library [hidden], .search-panel [hidden] { display: none !important; }
.site-header>.container { gap: 14px; }
.nav-desktop .nav-link { padding-inline: 8px; font-size: .9rem; }
.nav-articles>a { color: var(--color-primary-dark); }
.header-actions>.search-toggle { display: inline-flex; flex: 0 0 auto; }
.footer-grid>* { min-width:0; overflow-wrap:anywhere; }
.search-result-tools { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:12px 18px; border-top:1px solid var(--color-border); font-size:.88rem; }
.search-library-link { margin-left:auto; color:var(--color-primary-dark); text-decoration:underline; }
.search-more { padding:6px 10px; background:var(--color-accent-soft); border:0; border-radius:6px; cursor:pointer; }
.search-panel { max-height:85dvh; }
.search-panel-body { min-height:0; overflow:auto; }
.search-result-desc { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
.library-intro { padding:34px 0 26px; }
.library-intro .breadcrumbs { margin-bottom:16px; }
.library-intro h1 { font-size:clamp(2rem,4vw,3rem); margin-bottom:12px; }
.library-intro p:not(.breadcrumbs) { max-width:780px; font-size:1.06rem; color:var(--color-text-muted); margin-bottom:12px; }
.library-start { font-size:.92rem; color:var(--color-primary-dark); text-decoration:underline; text-underline-offset:3px; }
.library-content { padding:0 0 56px; }
.library-controls { border:1px solid var(--color-border); background:#fff; border-radius:14px; padding:20px; }
.library-search-row { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:20px; }
.library-search-row label { display:block; font-size:.9rem; font-weight:600; margin-bottom:6px; }
.library-search-row input,.library-search-row select { width:100%; min-width:0; min-height:46px; border:1px solid #bcc8c0; border-radius:8px; padding:10px 12px; font:inherit; background:#fff; }
.library-search-row #library-example { font-size:.8rem; color:var(--color-text-muted); margin:6px 0 0; }
.library-topics { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.library-topic-select-row { display:none; }
.library-topics button { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; min-height:40px; border:1px solid var(--color-border); border-radius:30px; font:inherit; font-size:.87rem; background:#fff; cursor:pointer; }
.library-topics button span { font-size:.75rem; opacity:.8; }
.library-topics button[aria-pressed=true] { color:#fff; background:var(--color-primary); border-color:var(--color-primary); }
.library-count-row { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:20px 0 14px; }
.library-count-row p { margin:0; color:var(--color-text-muted); font-size:.88rem; }
#library-reset { border:0;background:transparent;color:var(--color-primary-dark);text-decoration:underline;font:inherit;font-size:.85rem;cursor:pointer; }
.library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; list-style:none; padding:0; margin:0; }
.library-card { min-width:0; margin:0; border:1px solid var(--color-border); border-radius:12px; background:#fff; overflow:hidden; transition:box-shadow .15s; }
.library-card:hover,.library-card:focus-within { box-shadow:0 5px 18px #163f2514; border-color:#a2b7a8; }
.library-card-link { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.library-card-image { height:165px; padding:6px; background:#f3f2e9; display:flex; align-items:center; justify-content:center; }
.library-card-image img { width:100%; height:100%; object-fit:contain; display:block; }
.library-card-image svg { width:160px; height:110px; fill:#e3eee7; stroke:#36705a; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.library-card-copy { display:flex; flex-direction:column; flex:1; padding:16px 18px; }
.library-card-meta { display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline; font-size:.74rem; line-height:1.4; color:var(--color-text-muted); margin-bottom:8px; }
.library-card-meta>span { color:var(--color-primary-dark); font-weight:600; }
.library-card h3 { font-size:1.16rem; line-height:1.32; margin:0 0 9px; overflow-wrap:anywhere; }
.library-card-copy>p { font-size:.89rem; line-height:1.55; color:var(--color-text-muted); margin:0 0 12px; display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
.library-read { margin-top:auto; color:var(--color-primary-dark); font-weight:600; font-size:.82rem; display:flex; justify-content:space-between; }
.library-more-wrap { text-align:center; margin-top:28px; }
#library-empty { padding:32px 20px; background:#fff; border-radius:12px; text-align:center; }
.library-section-heading { display:flex;align-items:center;justify-content:space-between;gap:18px; margin-bottom:20px; }
.library-section-heading h2 { margin:0; }
.library-section-heading>a { color:var(--color-primary-dark);text-decoration:underline;white-space:nowrap; }
@media(min-width:1221px) and (max-width:1360px) { .brand-tagline { font-size:.65rem; max-width:200px; }.brand-name { font-size:1.25rem; }.brand { column-gap:7px; }.nav-desktop .nav-link { padding-inline:6px; font-size:.84rem; }.header-actions { gap:6px; }.header-actions>.btn { padding-inline:14px; } }
@media(max-width:800px) { .library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.library-search-row { grid-template-columns:minmax(0,1fr) 155px; } }
@media(max-width:540px) {
 .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .library-intro { padding:18px 0 18px; }.library-intro h1 { font-size:1.75rem; }.library-intro .breadcrumbs { font-size:.8rem;margin-bottom:12px; }.library-intro p:not(.breadcrumbs) { font-size:.95rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }.library-start {font-size:.84rem;}
 .library-controls { padding:14px; }.library-search-row { grid-template-columns:1fr; gap:10px; }.library-search-row>div:last-child { display:flex;align-items:center;gap:12px; }.library-search-row select { width:auto;flex:1; }.library-search-row>div:last-child label { margin:0; }
 .library-topics { display:none; }.library-topic-select-row { display:flex;align-items:center;gap:12px;margin-top:10px; }.library-topic-select-row label { font-size:.9rem;font-weight:600; }.library-topic-select-row select { width:0;flex:1;min-width:0;min-height:44px;border:1px solid #bcc8c0;border-radius:8px;padding:8px;font:inherit;background:#fff; }
 .library-grid { grid-template-columns:1fr;gap:12px; }.library-card-link { display:grid;grid-template-columns:100px minmax(0,1fr); }.library-card-image { height:100%;min-height:145px;padding:5px; }.library-card-image img { max-height:160px; }.library-card-copy { padding:13px 12px; }.library-card h3 { font-size:1.05rem; }.library-card-meta { font-size:.68rem; }.library-card-copy>p { font-size:.82rem; }.library-read { font-size:.75rem; }
 .library-section-heading { align-items:flex-start; }.library-section-heading h2 { font-size:1.6rem; }.library-section-heading>a { font-size:.9rem; }
 .header-actions>.search-toggle { width:32px;height:32px;font-size:1rem; }.site-header>.container { gap:8px; }.brand-name { font-size:1.12rem; }
}
