.library-invitation { display:inline-block; margin-top:19px; padding-bottom:3px; border-bottom:1px solid #c7d1b8; color:#7b886b; font-size:11px; }
.open-library { background:#e6ebde; border-block:1px solid #d4ddc9; }
.open-library h2 em { color:#6f8454; }
.library-overview { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:25px; }
.library-overview>p { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.library-overview strong { font-size:32px; font-weight:500; letter-spacing:-.05em; color:#59734a; }
.library-overview>p>span { font-size:11px; color:#77846a; }
.library-overview>div { display:flex; gap:22px; align-items:center; }
.library-overview .quiet-link { background:none; border:0; font-size:10px; cursor:pointer; padding:7px; }
.library-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:23px; background:#f7f8ef; border:1px solid #d3ddc6; border-radius:9px; }
.library-search { grid-column:1/-1; }
.llm-learning-path { padding:0 0 25px; }
.llm-learning-path>p { font-size:16px; color:#405a35; margin-bottom:12px; }
.llm-learning-path>div { display:flex; flex-wrap:wrap; gap:8px; }
.llm-learning-path button { border:1px solid #b6c6a9; border-radius:20px; padding:10px 15px; font-size:12px; color:#405a35; background:#f6f8ee; cursor:pointer; }
.llm-learning-path button:hover,.llm-learning-path button[aria-pressed="true"] { background:#405a35; color:#fff; }
.llm-learning-path>span { display:block; margin-top:12px; font-size:11px; line-height:1.6; color:#607451; }
.library-search input { border:0; border-bottom:1px solid #d9e1ce; padding:8px 0 16px; width:100%; background:none; outline-offset:5px; font-size:18px; }
.library-search input::placeholder { color:#94a084; }
.library-controls label { min-width:0; font-size:9px; color:#839074; }
.library-controls select { margin-top:6px; background:#f3f5e9; border:1px solid #d6dfcc; border-radius:4px; padding:9px 7px; width:100%; font-size:11px; color:#586b49; min-width:0; }
.library-status-row { display:flex; justify-content:space-between; align-items:center; gap:15px; padding-block:22px 18px; font-size:11px; color:#7c8b6b; }
.reset-library { border:0; border-bottom:1px solid #bccbad; padding:2px 0; background:none; font-size:10px; color:#738564; }
.library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.library-item { position:relative; display:flex; flex-direction:column; min-width:0; border:1px solid #d5dec9; border-radius:7px; background:#fafbf4; padding:22px; transition:transform .35s var(--ease),box-shadow .3s; }
.library-item:hover { transform:translateY(-3px); box-shadow:0 8px 20px #29462508; }
.library-item { --cover-padding:22px; }
.library-item.has-video-cover .library-item-top { padding-right:0; }
.library-item-top { display:flex; gap:9px; flex-wrap:wrap; align-items:center; font-size:9px; color:#677e54; padding-right:27px; }
.library-item-type { color:var(--deep,#557244); text-transform:uppercase; font-size:8px; letter-spacing:.07em; }
.library-item h3 { font-size:19px; line-height:1.3; margin-top:15px; letter-spacing:-.025em; overflow-wrap:anywhere; }
.library-item>p { margin-top:11px; font-size:12px; line-height:1.75; color:#657557; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.library-item .library-authors { font-size:9px; -webkit-line-clamp:2; margin-top:8px; }
.library-topic-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:16px; padding-top:4px; }
.library-topic-tags>span { background:#edf2e5; padding:3px 6px; border-radius:3px; font-size:8px; color:#7d8e6b; }
.library-item-links { display:flex; align-items:center; gap:15px; flex-wrap:wrap; margin-top:auto; padding-top:21px; }
.library-item-links a:first-child { font-size:11px; color:#526b43; }
.library-item-links a:not(:first-child) { font-size:9px; color:#889679; text-decoration:underline; text-underline-offset:3px; }
.library-item .save-button { right:12px; top:12px; }
.library-pagination { display:flex; align-items:center; justify-content:center; gap:28px; margin-top:30px; }
.library-pagination button { border:1px solid #bbcbaa; border-radius:4px; padding:11px 17px; font-size:11px; background:transparent; }
.library-pagination button:hover:enabled { background:#f7faef; }
.library-pagination>span { font-size:11px; color:#758a62; }
.library-error { padding:35px; background:#f8faef; border:1px dashed #bccaa9; border-radius:8px; grid-column:1/-1; }
.library-error p { font-size:12px; margin-top:10px; }
.library-error button { font-size:12px; border:1px solid #b5c5a0; border-radius:4px; background:none; padding:10px 15px; margin-top:15px; }
.open-library .source-note a { text-decoration:underline; text-underline-offset:3px; }
.sources-content { max-width:880px; padding-block:60px 90px; }
.sources-content h1 { font-size:64px; margin-block:20px 30px; }
.sources-content h2 { font-size:30px; margin-top:35px; }
.sources-content p,.sources-content li { margin-top:17px; font-size:14px; color:#718168; line-height:1.9; }
.sources-content a { color:#456b45; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:1100px) { .library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .library-overview>div { gap:12px; } }
@media(max-width:760px) {
 .library-overview { flex-direction:column; align-items:flex-start; gap:15px; }
 .library-overview strong { font-size:30px; }
 .library-overview>div { gap:16px; }
 .library-overview .saved-toggle { margin-left:0; }
 .library-controls { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; padding:16px; }
 .library-search input { font-size:14px; }
 .library-controls label { font-size:9px; }
 .library-controls select { font-size:10px; padding:9px 5px; }
 .library-grid { grid-template-columns:1fr; }
 .library-item { padding:20px; --cover-padding:20px; }
 .library-item h3 { font-size:21px; }
 .library-status-row { font-size:10px; align-items:flex-start; }
 .library-pagination { gap:17px; }
 .library-pagination button { padding:9px 12px; font-size:10px; }
 .library-pagination>span { font-size:10px; }
 .sources-content h1 { font-size:47px; }
 .sources-content h2 { font-size:27px; }
}
