.library-heading{max-width:100%;border-bottom:2px solid var(--ink);margin-bottom:38px;padding-bottom:34px}
.library-heading h1{max-width:20ch;font-size:clamp(38px,5vw,64px)}
.library-numbers{display:flex;flex-wrap:wrap;gap:22px 40px;padding-block:20px;font-size:14px;color:var(--muted)}
.library-numbers strong{display:block;font-size:32px;line-height:1.2;color:var(--ink)}
.library-heading-links{display:flex;flex-wrap:wrap;gap:16px 26px;font-size:15px}
.library-heading-links a,.library-back,.library-policy a,.library-sources a,.library-next-step a{color:var(--accent);text-underline-offset:4px}
.library-filters{display:grid;grid-template-columns:2fr 1.4fr 1.4fr;gap:16px;padding:22px;background:var(--surface);border:1px solid var(--line);margin-block:22px}
.library-filters label{display:grid;gap:9px;font-size:14px;font-weight:700;min-width:0}
.library-filters input,.library-filters select{width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);padding:12px;font:inherit}
.library-filters button{justify-self:start;min-height:44px}
#library-status{font-size:14px;color:var(--muted);margin-block:22px}
.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.library-card{border-top:3px solid var(--card-accent,var(--accent));padding:22px 0 28px;min-width:0;display:flex;flex-direction:column;margin-bottom:12px}
.library-card-category{font-size:12px!important;font-weight:700;color:var(--card-accent,var(--accent));margin:0 0 14px}
.library-card h3{font-size:23px;line-height:1.25;letter-spacing:-.35px;margin:0 0 15px;text-wrap:balance}
.library-card h3 a{color:var(--ink);text-decoration:none}
.library-card h3 a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.library-card>p{font-size:15px;line-height:1.65;margin-top:0}
.library-card-meta{font-size:12px!important;font-weight:700;margin-top:auto!important;padding-top:14px;margin-bottom:7px}
.library-publisher{font-size:12px!important;color:var(--muted);margin-bottom:0}
.topic-prevention,.topic-wellbeing{--card-accent:#20665b}.topic-security,.topic-response{--card-accent:#a4243a}.topic-research,.topic-training{--card-accent:#315fa2}.topic-communication,.topic-public-trust{--card-accent:#876012}.topic-leadership,.topic-reporting,.topic-rights{--card-accent:#715392}
[data-theme="dark"] .topic-prevention,[data-theme="dark"] .topic-wellbeing{--card-accent:#8dd5c4}
[data-theme="dark"] .topic-security,[data-theme="dark"] .topic-response{--card-accent:#f6a5b6}
[data-theme="dark"] .topic-research,[data-theme="dark"] .topic-training{--card-accent:#a5c7ff}
[data-theme="dark"] .topic-communication,[data-theme="dark"] .topic-public-trust{--card-accent:#e8c281}
[data-theme="dark"] .topic-leadership,[data-theme="dark"] .topic-reporting,[data-theme="dark"] .topic-rights{--card-accent:#d2b7f3}
.library-pagination{display:flex;align-items:center;justify-content:center;gap:22px;margin-block:18px 44px;flex-wrap:wrap}
.library-pagination button:disabled{opacity:.45;cursor:default}
.library-policy{border-top:1px solid var(--line);padding-block:32px;max-width:78ch;font-size:16px;line-height:1.8}
.library-policy h2{line-height:1.3}
.library-article-heading{max-width:900px}.library-back{display:inline-block;margin-bottom:25px;font-size:15px}
.library-article-heading h1{font-size:clamp(32px,4.6vw,55px);max-width:26ch}
.library-byline{font-size:14px!important;line-height:1.7!important;color:var(--ink)!important}
.library-context{font-size:14px!important;color:var(--muted)}
.library-disclosure{font-size:14px!important;line-height:1.7!important;border-left:3px solid var(--accent);padding:12px 18px;background:var(--surface)}
.library-article-body{max-width:72ch;font-size:18px;line-height:1.85}
.library-article-body section{margin-bottom:36px;scroll-margin-top:140px}
.library-article-body h2{font-size:26px;line-height:1.3;letter-spacing:-.4px;margin-bottom:16px}
.library-article-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-block:20px}
.library-article-actions button{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:12px 16px;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;min-height:44px}
#library-share-status{font-size:13px;color:var(--muted)}
.library-sources{border-top:1px solid var(--line);padding-top:20px;font-size:15px}
.library-sources ul{padding-left:20px}.library-sources li{margin-bottom:18px;overflow-wrap:anywhere}
.library-sources li span{display:block;font-size:13px;color:var(--muted);margin-top:8px}
.library-next-step{background:var(--surface);border-left:3px solid var(--accent);padding:22px;font-size:16px;line-height:1.7;margin-bottom:45px}
.library-next-step h2{font-size:20px}.library-next-step p{margin-bottom:0}
.library-related{border-top:1px solid var(--line);padding-top:24px}.library-related>h2{margin-bottom:24px}
.library-filters[hidden],.library-card[hidden],.library-pagination[hidden],.library-article-actions[hidden]{display:none}
#library{scroll-margin-top:120px}
@media(max-width:1050px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-filters{grid-template-columns:1fr 1fr}.library-filters label:first-child{grid-column:1/-1}}
@media(max-width:580px){.library-grid{grid-template-columns:1fr}.library-filters{grid-template-columns:1fr;padding:16px}.library-filters label:first-child{grid-column:auto}.library-filters input,.library-filters select{font-size:16px}.library-numbers{gap:18px}.library-numbers span{max-width:120px}.library-numbers strong{font-size:28px}.library-heading-links{flex-direction:column}.library-article-body{font-size:17px}.library-pagination{gap:12px}.library-card h3{font-size:24px}}
@media print{.library-article-actions,.library-related,.library-filters,.library-pagination,.site-header,.site-sidebar,.sidebar-rail,.app-shell,.whatsapp-float{display:none!important}.library-article-body{max-width:none}.library-card[hidden]{display:block}.library-article{color:#000;background:#fff}.library-article h2{break-after:avoid}.library-sources a{overflow-wrap:anywhere}.library-sources a::after{content:" (" attr(href) ")";font-size:10px}}
