/* Readable task guides and a crawlable topical library. */
.library-main{max-width:1160px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;padding-top:28px;font-size: var(--label-copy);color: var(--text-secondary)}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.library-hero{max-width:880px;padding:48px 0 40px}
.library-hero h1{font-size:clamp(34px,4.8vw,60px);line-height:1.12;letter-spacing:-.045em;margin:16px 0 22px}
.library-lead{max-width:800px;font-size: var(--reading-copy);line-height: 1.65;color: var(--text-primary)}
.library-meta,.small{font-size: var(--label-copy);color: var(--text-secondary);margin-top:18px}
.library-layout{display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:64px;padding-bottom:60px}
.library-content{min-width:0;font-size: var(--reading-copy);line-height: var(--reading-leading); color: var(--text-primary); max-width: var(--reading-width); }
.library-content section{padding: 40px 0;border-top:1px solid #e2e3e9;scroll-margin-top:100px}
.library-content h2{font-size: clamp(27px,3vw,34px);line-height:1.25;margin: 0 0 22px;letter-spacing:-.035em; font-weight: 700; }
.library-content h3{font-size: 24px;margin:20px 0 12px; font-weight: 650; }
.library-content p{margin: 0 0 1.2em}
.library-content ul,.library-content ol{padding-left:23px;margin:18px 0}
.library-content li{padding-bottom:10px}
.library-content a{color:#5735b6;text-decoration:underline;text-underline-offset:3px}
.table-wrap{overflow-x:auto;border:1px solid #e2e3e9;border-radius:10px;margin:24px 0}
table{width:100%;border-collapse:collapse;min-width:480px;font-size: 17px}
th,td{padding:15px;text-align:left;vertical-align:top;border-bottom:1px solid #e2e3e9}
th{background:#f4f5f8}
tr:last-child td{border-bottom:0}
.chapter-list>a{position:relative;display:block;padding: 28px 36px 28px 0;border-top:1px solid #e2e3e9;text-decoration:none!important}
.chapter-list>a h3{margin:0 0 8px;font-size: 24px;color:#171719; line-height: 1.3; font-weight: 650; }
.chapter-list>a p{color: var(--text-primary);font-size: var(--body-copy);line-height: 1.65;margin:0; max-width: 62ch; }
.chapter-list>a>span{position:absolute;top:23px;right:2px;font-size:22px;color:#7654e7}
.chapter-list>a:hover h3{color:#5735b6}
.library-toc{position:sticky;top:110px;align-self:start;border-left:1px solid #e2e3e9;padding-left:22px;font-size: 16px;line-height: 1.55; max-height: calc(100svh - 140px); overflow-y: auto; }
.library-toc p{font-weight:700;margin-bottom:14px}
.library-toc a{display:block;color: var(--text-primary);padding: 10px 0}
.library-page .site-footer{border-top:1px solid #e2e3e9}
.topic-rows{margin:36px 0 26px}
.topics-section{padding-block:60px 72px;border-bottom:1px solid #e2e3e9}
.topic-row{display:grid;grid-template-columns:35px minmax(0,1fr) 130px;gap:24px;padding:28px 0;border-top:1px solid #e2e3e9}
.topic-number{font-size: var(--label-copy);color: var(--text-secondary)}
.topic-row h3{font-size:27px;line-height:1.25;letter-spacing:-.035em;margin-bottom:10px}
.topic-row p{font-size: var(--body-copy);color: var(--text-primary);max-width:720px; line-height: 1.65; }
.topic-open{align-self:start;font-size: 16px;font-weight:600;color:#5735b6}
.topic-examples{display: grid;gap: 10px;flex-wrap:wrap;margin-top:15px;font-size: 16px;color:#5735b6; line-height: 1.55; }
.topic-examples a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.library-layout{grid-template-columns:1fr;gap:0}
.library-toc{position:static;order:-1;padding-left:0;border-left:0;border-top:1px solid #e2e3e9;padding-block:0;margin-bottom:24px;max-height:none;overflow:visible; font-size: 16px; line-height: 1.55; }
.library-toc a{display:inline-block;margin-right:16px; color: var(--text-primary); padding: 10px 0; }
.library-hero{padding-top:32px}
.topic-row{grid-template-columns:25px minmax(0,1fr);gap:15px}
.topic-open{grid-column:2; font-size: 16px; }
}
@media(max-width:440px){.library-lead{font-size: var(--reading-copy); color: var(--text-primary); line-height: 1.65; }
.library-hero h1{overflow-wrap:anywhere}
.library-content h2{font-size: clamp(27px,3vw,34px); font-weight: 700; margin: 0 0 22px; }
.topic-row h3{font-size:24px}
.topics-section{padding-block:40px 48px}
.library-page .header-download{font-size: 14px}
.library-page .header-inner{gap:10px}
.library-page .brand{font-size:17px}
}
