
/* IASCL V46.16 Library */
.library-hero{padding:54px 0 38px;background:linear-gradient(135deg,#073b64,#0b5c83);color:#fff}
.library-hero .eyebrow{letter-spacing:.04em;opacity:.88;margin-bottom:10px}
.library-hero h1{margin:0 0 12px;font-size:clamp(2rem,4vw,3rem);line-height:1.25}
.library-hero p{max-width:900px;line-height:2;font-size:1.05rem;margin:0}
.library-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.library-stat{background:#ffffff16;border:1px solid #ffffff2b;border-radius:16px;padding:18px;text-align:center;backdrop-filter:blur(4px)}
.library-stat strong{display:block;font-size:1.8rem;margin-bottom:5px}
.library-stat span{font-size:.9rem;opacity:.92}
.library-section{padding:34px 0 48px}
.library-section h2{text-align:center;color:#073b64;margin:0 0 10px}
.library-section>p{text-align:center;max-width:760px;margin:0 auto 26px;line-height:1.9;color:#4b5a65}
.library-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.library-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dce5eb;border-radius:18px;padding:24px;box-shadow:0 8px 24px #073b6412;min-height:210px}
.library-card .library-icon{font-size:1.8rem;margin-bottom:12px}
.library-card h3{margin:0 0 8px;color:#073b64}
.library-card p{line-height:1.85;color:#4c5a65;margin:0 0 18px;flex:1}
.library-card .library-count{font-size:.9rem;color:#073b64;font-weight:700;margin-bottom:13px}
.library-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:10px;padding:10px 15px;background:#073b64;color:#fff;font-weight:700}
.library-card.secondary{background:#f7fafc}
.library-note{margin-top:22px;padding:16px 18px;border-radius:12px;background:#f5f8fa;border:1px solid #dfe8ed;line-height:1.9;color:#4b5a65}
.library-switch,.library-scope{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;margin-bottom:10px}
.library-scope{margin-top:8px;margin-bottom:18px}
.library-tab,.library-scope-tab{border:1px solid #cddbe3;background:#fff;color:#073b64;padding:10px 17px;border-radius:999px;cursor:pointer;font-family:inherit;font-weight:700}
.library-tab.active,.library-scope-tab.active{background:#073b64;color:#fff;border-color:#073b64}
.library-scope-tab:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:800px){
 .library-stats,.library-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
 .library-stats,.library-cards{grid-template-columns:1fr}
 .library-card{min-height:0}
}

/* V46.221 — library responsive/accessibility hardening */
:where(.library-btn,.library-tab,.library-scope-tab):focus-visible{outline:3px solid #0e83db;outline-offset:2px}
.library-btn,.library-tab,.library-scope-tab{min-height:42px}
@media(max-width:800px){
 .library-hero{padding:40px 0 28px}
 .library-section{padding:26px 0 36px}
 .library-cards{grid-template-columns:1fr 1fr}
 .library-card{padding:20px}
}
@media(max-width:520px){
 .library-cards{grid-template-columns:1fr}
 .library-card{padding:18px}
 .library-switch,.library-scope{gap:8px}
 .library-tab,.library-scope-tab{flex:1 1 140px}
}

/* V46.483 - clickable tiles and cards with live counts */
.library-stat{text-align:center}
.library-stat strong{text-align:center;font-variant-numeric:tabular-nums}
a.library-stat-link{display:block;color:inherit;text-decoration:none;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;cursor:pointer}
a.library-stat-link:hover,a.library-stat-link:focus-visible{background:#ffffff2e;border-color:#ffffff7a;transform:translateY(-3px);box-shadow:0 10px 24px #00000033}
a.library-stat-link:focus-visible{outline:3px solid #fff;outline-offset:3px}
a.library-stat-link:active{transform:translateY(-1px)}
.library-card.library-card-link{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.library-card.library-card-link:hover{transform:translateY(-3px);border-color:#9fb8c8;box-shadow:0 14px 30px #073b6429}
.library-card.library-card-link:focus-within{border-color:#0b5c83;box-shadow:0 0 0 3px #0b5c8340}
.library-card .library-count span{font-size:1.25rem;font-variant-numeric:tabular-nums}
.library-btn:focus-visible{outline:3px solid #0b5c83;outline-offset:2px}
@media(prefers-reduced-motion:reduce){a.library-stat-link,.library-card.library-card-link{transition:none}a.library-stat-link:hover,.library-card.library-card-link:hover{transform:none}}
