.free-library{--fw-ink:#123044;--fw-green:#176d60;--fw-line:#cfdfdb;--fw-paper:#f5f9f7;color:var(--fw-ink);background:linear-gradient(120deg,#eef7f3 0%,#fff 55%);}
.free-library#content{width:100%;clear:both;float:none;display:block;}
.free-library-wrap{width:100%;max-width:1170px;margin-left:auto;margin-right:auto;padding-top:28px;padding-bottom:64px;}
.free-library-breadcrumb{font-size:14px;margin-bottom:22px;}
.free-library a{color:var(--fw-green);text-decoration:underline;text-underline-offset:3px;}
.free-library-heading{max-width:800px;margin-bottom:24px;}
.free-library-heading h1{font-size:clamp(30px,4vw,46px);line-height:1.12;margin:0 0 12px;color:var(--fw-ink);}
.free-library-heading p{font-size:18px;line-height:1.6;margin:0;}
.free-library-grades{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.free-library-grades a,.free-library-grade-grid a{border:1px solid var(--fw-line);background:white;border-radius:6px;padding:12px 16px;min-height:44px;text-decoration:none;font-weight:700;}
.free-library-grades small{display:block;font-weight:400;font-size:12px;}
.free-library-grades [aria-current=page]{background:var(--fw-green);color:white;border-color:var(--fw-green);}
.free-library-filters{display:grid;grid-template-columns:minmax(180px,2fr) 1fr minmax(150px,1.5fr) auto;gap:12px;align-items:end;background:var(--fw-paper);padding:18px;border:1px solid var(--fw-line);border-radius:8px;}
.free-library-filters label{font-size:14px;font-weight:700;margin:0;min-width:0;}
.free-library-filters input,.free-library-filters select{display:block;width:100%;min-width:0;min-height:46px;margin-top:6px;padding:9px 12px;border:1px solid #809d96;background:#fff;color:var(--fw-ink);border-radius:4px;font:inherit;font-weight:400;font-size:16px;}
.free-library-filters button,.free-library a.free-library-open{display:inline-block;background:var(--fw-green);color:white;padding:12px 18px;min-height:46px;border:0;border-radius:5px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;text-align:center;}
.free-library :is(a,button,input,select,summary):focus-visible{outline:3px solid #b16d00!important;outline-offset:4px;}
.free-library-results{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:22px 0;}
.free-library-results p{margin:0;}
.free-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.free-library-card{border-top:4px solid #58b7a3;border-bottom:1px solid var(--fw-line);background:#fff;padding:20px;display:flex;flex-direction:column;min-width:0;}
.free-library-card h3{font-size:22px;line-height:1.3;margin:8px 0 12px;overflow-wrap:anywhere;}
.free-library-card h3 a{display:block;}
.free-library-card>p{line-height:1.65;font-size:15px;}
.free-library-card-meta{font-weight:700;margin:0;}
.free-library-card-meta span{display:block;font-weight:400;font-size:13px;}
.free-library-card ul{margin:0 0 20px;padding:0;list-style:none;}
.free-library-card li{padding:12px 0;border-bottom:1px solid #e5eeeb;font-size:14px;line-height:1.5;}
.free-library-card li span{display:block;margin-top:4px;}
.free-library-card .free-library-open{margin-top:auto;}
.free-library-card small{font-size:12px;line-height:1.5;margin-top:10px;}
.free-library-empty,.free-library-help{padding:24px;background:var(--fw-paper);border:1px solid var(--fw-line);margin:28px 0;border-radius:6px;}
.free-library-empty h2,.free-library-empty h3,.free-library-help h2{font-size:23px;margin:0 0 12px;}
.free-library-pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin:32px 0;}
.free-library-pagination a{display:inline-flex;align-items:center;min-height:44px;padding:8px;}
.free-library-start{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;background:#fff;padding:28px;border-top:5px solid var(--fw-green);margin-bottom:32px;}
.free-library-start h2{font-size:30px;line-height:1.2;margin:0 0 14px;}
.free-library-start p{line-height:1.65;}
.free-library-grade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.free-library-grade-grid span{display:block;font-size:12px;font-weight:400;margin-top:6px;}
.free-library-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
.free-library-resource-grid section{padding:24px;border:1px solid var(--fw-line);background:white;scroll-margin-top:110px;}
.free-library-resource-grid h2{font-size:24px;margin:0 0 12px;}
.free-library-resource-grid ul{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;}
.free-library-resource-grid li a{display:block;padding:10px 0;min-height:44px;line-height:1.5;}
@media(max-width:1000px){.free-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.free-library-filters{grid-template-columns:1fr 1fr;}.free-library-start{grid-template-columns:1fr;}}
@media(max-width:600px){.free-library-wrap{padding-top:18px;}.free-library-heading p{font-size:16px;}.free-library-grid,.free-library-filters,.free-library-resource-grid{grid-template-columns:1fr;}.free-library-grades a{flex:1 0 28%;padding:10px;}.free-library-start{padding:18px;gap:20px;}.free-library-start h2{font-size:25px;}.free-library-grade-grid{grid-template-columns:1fr 1fr;}.free-library-resource-grid ul{grid-template-columns:1fr;}.free-library-card{padding:18px;}.free-library-results{align-items:flex-start;font-size:14px;}}
.free-library-topics{margin:26px 0;}
.free-library-topics h2,.free-library-results-title{font-size:26px;line-height:1.3;margin:24px 0 14px;}
.free-library-topics nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.free-library-topics a{background:#fff;border:1px solid var(--fw-line);padding:14px;min-height:64px;border-radius:5px;text-decoration:none;}
.free-library-topics a:hover{border-color:var(--fw-green);text-decoration:underline;}
.free-library-topics a span{display:block;color:var(--fw-ink);font-size:13px;margin-top:5px;}
.free-library-help details{border-top:1px solid var(--fw-line);margin-top:10px;}
.free-library-help summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:700;color:var(--fw-green);}
.free-library-help p{line-height:1.65;}
@media(max-width:700px){.free-library-topics nav{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:360px){.free-library-topics nav{grid-template-columns:1fr;}}
@media(max-width:600px){.free-library>.container.free-library-wrap{width:100%;max-width:100%;padding-left:16px!important;padding-right:16px!important;}}
