.library-heading,.learning-library { width:min(1180px,calc(100% - 40px)); margin:0 auto; position:relative; }
.library-heading { padding:32px 0 22px; border-bottom:2px solid #287456; }
.library-heading h1 { font-size:32px; margin:0 0 8px; letter-spacing:0; color:#172b37; }
.library-heading p { font-size:16px; margin:0 0 14px; color:#3d505c; }
.library-links { display:flex; gap:20px; flex-wrap:wrap; }
.learning-library { padding:24px 0 50px; color:#172b37; }
.learning-library a,.library-heading a { color:#135b71; text-decoration:underline; text-underline-offset:3px; }
#library-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:end; }
#library-filters label { display:flex; flex-direction:column; gap:6px; font-size:14px; font-weight:700; min-width:0; }
#library-filters .library-search { grid-column:span 2; }
#library-advanced { grid-column:1/-1; }
#library-advanced summary { cursor:pointer; font-size:14px; font-weight:700; padding:10px 0; }
.library-advanced-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; padding-top:6px; }
#library-filters input,#library-filters select { min-width:0; width:100%; height:44px; border:1px solid #71818a; border-radius:4px; padding:8px 10px; color:#172b37; background:#fff; font:inherit; }
.learning-library button { min-height:44px; padding:8px 15px; border:1px solid #71818a; border-radius:4px; background:#fff; color:#172b37; font:inherit; cursor:pointer; }
.learning-library button:disabled { opacity:.5; cursor:default; }
.learning-library :focus-visible { outline:3px solid #8c4e00; outline-offset:3px; }
.library-note { font-size:13px; color:#435761; margin:16px 0 24px; line-height:1.5; }
.library-results-bar { display:flex; gap:16px; flex-wrap:wrap; align-items:center; justify-content:space-between; border-block:1px solid #bac8cc; padding:12px 0; }
.library-results-bar p { margin:0; }
.library-results-bar nav { display:flex; align-items:center; gap:12px; }
#library-page,#library-bottom-page { min-width:62px; text-align:center; }
.library-resource { display:grid; grid-template-columns:200px minmax(0,1fr); gap:22px; padding:22px 0; border-bottom:1px solid #bdcbd0; }
.library-resource>img { width:200px; height:140px; object-fit:contain; background:#fff; border:1px solid #d0d9dd; border-radius:4px; }
.library-format-placeholder { width:200px; height:140px; display:flex; align-items:center; justify-content:center; background:#edf3f0; border:1px solid #c0cdc8; color:#314b3e; }
.library-resource-copy { min-width:0; overflow-wrap:anywhere; }
.library-resource h2 { font-size:21px; line-height:1.35; margin:5px 0 9px; letter-spacing:0; }
.library-meta,.library-detail { font-size:13px; color:#435761; margin:0; line-height:1.5; }
.library-description { font-size:15px; line-height:1.6; margin:8px 0; }
.library-skill-links { margin:9px 0 0; font-size:13px; line-height:1.5; }
#library-empty { padding:24px 0; }
#library-empty[hidden] { display:none; }
#library-bottom[hidden] { display:none; }
@media(max-width:850px) { #library-filters,.library-advanced-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } .library-resource { grid-template-columns:160px minmax(0,1fr); gap:18px; } .library-resource>img,.library-format-placeholder { width:160px; height:120px; } }
@media(max-width:540px) { .library-heading,.learning-library { width:calc(100% - 28px); } .library-heading h1 { font-size:28px; } #library-filters { gap:12px; } .library-advanced-fields { grid-template-columns:minmax(0,1fr); } .library-resource { grid-template-columns:minmax(0,1fr); gap:12px; } .library-resource-copy { order:-1; } .library-resource>img,.library-format-placeholder { width:100%; height:155px; } .library-resource h2 { font-size:20px; } }
.front-library #main-content { position:relative; background:#f7fbfa; }
