/* The article library has its own route and discovery controls. */
.library-surface{margin-block-start:20px;padding:56px 36px 52px;background:linear-gradient(125deg,var(--bg-secondary),var(--article-surface) 50%)}
.library-topbar{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-block-end:32px}
.library-topbar .article-breadcrumb{margin:0;flex:none}
.library-topbar .article-breadcrumb [aria-current]{color:var(--accent-text);font-size:.8rem;font-weight:700}
.library-search{margin:0;width:48%;max-width:550px;box-shadow:none;padding:3px;border-color:var(--article-border);background:var(--article-card);gap:6px}
.library-search .button{min-height:46px;padding-inline:24px;font-size:.85rem}
.library-search>.icon{width:20px;height:20px;margin-inline-start:17px}
.library-search input{font-size:.83rem}
.library-heading-row{display:grid;grid-template-columns:1fr auto;gap:12px 24px;align-items:center;margin-block-end:24px}
.library-heading{display:contents}
.library-heading h1{grid-row:1;grid-column:1;font-size:2.3rem;line-height:1.4}
.library-heading p{grid-row:2;grid-column:1/-1;color:var(--text-secondary);font-size:.9rem;line-height:1.9}
.library-sort{grid-row:1;grid-column:2;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.library-sort>span{font-size:.76rem;font-weight:700;margin-inline-end:5px;color:var(--text-secondary)}
.sort-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 14px;border:1px solid var(--article-border);border-radius:30px;background:var(--article-card);font-size:.75rem;font-weight:700;color:var(--text-secondary)}
.sort-button .icon{width:17px;height:17px}
.sort-button:hover{border-color:var(--border-strong);color:var(--text-primary)}
.sort-button[aria-pressed=true]{border-color:var(--accent-text);color:var(--accent-text);background:var(--accent-wash)}
.library-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:18px;align-items:start}
.library-filter-panel{min-width:0;background:var(--article-card);border:1px solid var(--article-border);border-radius:14px;padding:20px 18px}
.library-filter-panel summary{display:flex;align-items:center;gap:10px;list-style:none;font-size:1rem;font-weight:700;min-height:36px;cursor:pointer}
.library-filter-panel summary::-webkit-details-marker{display:none}
.library-filter-panel summary>.icon:first-child{color:var(--accent-text)}
.library-filter-panel summary .filter-chevron{margin-inline-start:auto;width:16px;height:16px;transition:transform .2s}
#library-filters[open] .filter-chevron{transform:rotate(180deg)}
.filter-count{display:grid;place-items:center;background:var(--color-primary);color:var(--color-black);font-size:.7rem;min-width:22px;height:22px;border-radius:50%;font-variant-numeric:tabular-nums}
.library-filter-body>p{font-size:.73rem;color:var(--text-muted);line-height:1.8;margin-block:5px 17px}
.library-filter-body fieldset{min-width:0;margin:0;padding:24px 0;border:0;border-block-start:1px solid var(--article-border)}
.library-filter-body legend{float:inline-start;display:flex;align-items:center;gap:10px;width:100%;padding:0;margin-block-end:14px;color:var(--accent-text);font-size:.91rem;font-weight:700}
.library-checkbox{clear:both;display:flex;align-items:flex-start;gap:12px;font-size:.87rem;line-height:1.6;min-height:35px;padding-block:5px;cursor:pointer;color:var(--text-secondary)}
.library-checkbox input{appearance:none;position:relative;flex:none;width:18px;height:18px;border:1.5px solid var(--text-muted);border-radius:4px;margin:2px 0 0;background:transparent;cursor:pointer}
.library-checkbox input:checked{border-color:var(--color-primary);background:var(--color-primary)}
.library-checkbox input:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #0f0f0f;border-width:0 2px 2px 0;transform:rotate(45deg)}
.library-checkbox:has(input:checked){color:var(--text-primary)}
.library-checkbox:hover{color:var(--accent-text)}
.library-reset{width:100%;margin-block-start:8px;min-height:44px;padding-inline:10px;font-size:.8rem}
.library-reset .icon{width:20px;height:20px}
.library-results{min-width:0}
.library-results-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:24px;margin-block-end:12px;font-size:.75rem;color:var(--text-muted)}
.library-clear{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:2px 0;background:none;border:0;color:var(--accent-text);font-size:.75rem;white-space:nowrap}
.library-clear .icon{width:14px;height:14px}
.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.library-card{background:var(--article-card);border-color:var(--article-border)}
.library-card:focus-within{border-color:var(--accent-text);box-shadow:0 0 0 2px var(--accent-text)}
.library-card .card-link{padding:10px}
.library-card .card-image{aspect-ratio:1.9;object-position:center}
.library-card .card-content{padding:0 4px 4px;text-align:start}
.library-card .card-category{align-self:flex-start;position:relative;max-width:100%;margin-block:-3px 10px;padding:1px 9px;border:1px solid var(--accent-text);border-radius:20px;background:var(--article-surface);color:var(--accent-text);font-size:.66rem;line-height:1.7}
.library-card h2{font-size:1rem;font-weight:700;line-height:1.7;margin-block-end:10px;text-wrap:pretty}
.library-card .card-description{font-size:.78rem;line-height:1.85;margin-block-end:18px}
.library-card .card-bottom{padding-block:5px 2px}
.library-card .meta{font-size:.69rem}
.library-card .circle-link{width:34px;height:34px;border-width:1.5px}
.library-card .circle-link .icon{width:19px;height:19px}
.library-pagination{text-align:center;margin-block-start:26px}
.library-pagination .button{min-width:270px;min-height:46px;font-size:.85rem}
.library-pagination .icon{width:18px;height:18px}
.library-empty{padding:70px 24px;text-align:center;border:1px solid var(--article-border);border-radius:14px;background:var(--article-card)}
.library-empty>.icon{width:40px;height:40px;margin:0 auto 20px;color:var(--accent-text)}
.library-empty h2{font-size:1.4rem;margin-block-end:10px}
.library-empty p{font-size:.9rem;color:var(--text-secondary);max-width:360px;margin-inline:auto}
.library-empty .button{margin-block-start:24px}
.articles-page .article-cta{margin-block:28px 54px}
.library-fallback{font-size:.9rem;color:var(--text-secondary);margin-block-end:24px}
.library-layout:not(:has(.library-filter-panel:not([hidden]))){grid-template-columns:minmax(0,1fr)}

@media(max-width:1119px){.library-surface{padding:35px 24px 40px}.library-topbar{gap:20px}.library-search{width:47%}.library-heading-row{grid-template-columns:1fr;gap:12px}.library-heading h1{font-size:2.05rem}.library-sort{grid-column:1;grid-row:3;margin-block-start:5px}.library-layout{grid-template-columns:225px minmax(0,1fr);gap:16px}.library-filter-panel{padding:17px 14px}.library-filter-panel summary{font-size:.9rem}.library-checkbox{font-size:.79rem;gap:9px}.library-filter-body legend{font-size:.87rem}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.library-card h2{font-size:1rem}.library-card .card-description{font-size:.8rem}.library-topbar .article-breadcrumb{padding-inline:12px}.library-topbar .article-breadcrumb ol,.library-topbar .article-breadcrumb li{gap:10px}}
@media(max-width:767px){.library-surface{margin-block-start:12px;padding:22px 16px 32px}.library-topbar{align-items:stretch;flex-direction:column;gap:22px;margin-block-end:26px}.library-topbar .article-breadcrumb{align-self:flex-start;padding:6px 12px}.library-topbar .article-breadcrumb [aria-current]{font-size:.72rem}.library-search{width:100%;max-width:none}.library-search>.icon{margin-inline-start:12px}.library-search .button{padding-inline:18px;min-height:43px}.library-heading-row{margin-block-end:22px}.library-heading h1{font-size:1.9rem}.library-heading p{font-size:.87rem}.library-sort{gap:7px}.library-sort>span{flex-basis:100%;margin-block-end:3px}.sort-button{min-height:42px;padding:8px 12px;font-size:.73rem}.library-layout{grid-template-columns:minmax(0,1fr);gap:20px}.library-filter-panel{padding:13px 16px}.library-filter-panel summary{font-size:.95rem;min-height:32px}.library-filter-body{padding-block-start:8px}.library-filter-body fieldset{padding-block:20px}.library-checkbox{font-size:.88rem;min-height:40px}.library-filter-body>p{font-size:.8rem}.library-filter-body legend{font-size:.95rem}.library-filter-panel:has(details:not([open])){background:var(--article-card)}.library-filter-body form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.library-filter-body fieldset:last-of-type{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.library-filter-body fieldset:last-of-type legend{grid-column:1/-1}.library-reset{grid-column:1/-1;margin-block-start:10px}.library-card h2{font-size:1rem}.library-results-bar{margin-block-end:13px}.articles-page .article-cta{margin-block:22px 32px}.library-empty{padding-block:42px}}
@media(max-width:599px){.library-grid{grid-template-columns:minmax(0,1fr)}.library-card .card-link{padding:12px}.library-card .card-image{aspect-ratio:1.9}.library-card .card-content{padding:0 6px 6px}.library-card h2{font-size:1.1rem}.library-card .card-description{font-size:.88rem}.library-card .card-category{font-size:.73rem;margin-block-end:12px}.library-card .meta{font-size:.76rem}.library-card .circle-link{width:37px;height:37px}.library-filter-body form{grid-template-columns:minmax(0,1fr)}.library-filter-body fieldset:last-of-type{display:block}.library-filter-body legend{float:none}.library-pagination .button{min-width:220px}.library-topbar .article-breadcrumb [aria-current]{font-size:.68rem}}
@media(max-width:359px){.library-surface{padding-inline:12px}.library-topbar .article-breadcrumb{padding-inline:8px}.library-topbar .article-breadcrumb ol,.library-topbar .article-breadcrumb li{gap:7px}.library-topbar .article-breadcrumb a,.library-topbar .article-breadcrumb [aria-current]{font-size:.62rem}.library-search .button{padding-inline:14px}.library-search input{font-size:.75rem}.sort-button{font-size:.66rem;padding-inline:10px;gap:5px}.library-card h2{font-size:1rem}}
@media print{.library-topbar,.library-sort,.library-filter-panel,.library-results-bar,.library-pagination,.article-cta{display:none}.library-surface{width:100%;padding:0;background:none}.library-layout{display:block}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-card[hidden]{display:block!important}}
