/* Guide-only typography and reading tools. Shared site chrome stays in styles.css. */
.guides-home{padding-block:56px 76px}.guides-intro{max-width:850px;padding-bottom:42px}
.guides-intro h1,.reading-header h1{font-size:clamp(34px,3.6vw,48px);line-height:1.2;letter-spacing:-.035em}
.guides-intro>p{font-size:18px;line-height:1.8;margin-top:22px;max-width:68ch}
.guide-index{border-top:1px solid var(--line)}.guide-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 85px;gap:36px;align-items:baseline;padding-block:30px;border-bottom:1px solid var(--line)}
.guide-entry h2{font-size:25px;line-height:1.3;letter-spacing:-.035em}.guide-entry p{font-size:16px;line-height:1.75;max-width:48ch}.guide-entry>span{font-size:13px;color:var(--slate);text-align:right;white-space:nowrap}.guide-entry:hover h2{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.guide-downloads{margin-block:32px;padding:25px 28px;background:var(--sky);border-radius:6px;max-width:850px}.guide-downloads h2,.guide-downloads h3{font-size:25px;line-height:1.3;letter-spacing:-.035em;margin:0 0 12px}.guide-downloads p{font-size:17px;line-height:1.8;max-width:68ch}
.guide-download-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-block:16px}.guide-download-links a{font-size:15px;font-weight:700;line-height:1.6;padding-block:7px;color:var(--blue);text-decoration:underline;text-underline-offset:4px;max-width:100%;overflow-wrap:anywhere}.guide-downloads .guide-supporting{font-size:14px;line-height:1.75;margin-top:12px}
.guide-reader-note{max-width:68ch;padding-top:4px}.guide-reader-note h2{font-size:21px;line-height:1.3;letter-spacing:-.035em}.guide-reader-note p{font-size:16px;line-height:1.8;margin-top:12px}.guide-reader-note a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.reading-header{padding-block:38px 34px;max-width:880px}.reading-back{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin-bottom:18px;color:var(--blue);font-size:14px;font-weight:700}.reading-back:hover{text-decoration:underline;text-underline-offset:4px}.reading-back svg{width:16px;height:16px;transform:rotate(180deg)}.reading-header h1{max-width:820px}
.reading-meta{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:18px;font-size:13px;line-height:1.7;color:var(--slate)}.reading-meta>span:first-child{color:var(--ink);font-weight:700}.reading-header>p{font-size:18px;line-height:1.8;margin-top:20px;max-width:68ch}
.reading-layout{display:grid;grid-template-columns:minmax(0,68ch) minmax(200px,1fr);gap:72px;align-items:start;padding-bottom:80px;font-size:17px}.reading-prose{min-width:0;max-width:68ch;font-size:17px;line-height:1.8}.reading-prose h2{font-size:29px;line-height:1.3;letter-spacing:-.035em;margin:40px 0 16px}.reading-prose h3{font-size:24px;line-height:1.3;letter-spacing:-.035em;margin:28px 0 14px}
.reading-prose p,.reading-prose li{font-size:17px;line-height:1.8;color:var(--slate)}.reading-prose p+p{margin-top:18px}.reading-prose strong{color:var(--ink);font-weight:750}.reading-prose a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.reading-prose ul,.reading-prose ol{padding-left:24px;margin:18px 0 24px}.reading-prose li+li{margin-top:12px}.reading-prose code{font-family:Consolas,monospace;font-size:.94em;color:var(--ink);overflow-wrap:anywhere}
.reading-prose figure{margin:28px 0}.reading-prose figcaption{font-size:14px;line-height:1.7;color:var(--slate);margin-top:12px}.reading-prose .learn-code{display:block;padding:23px 24px;background:var(--sky);border:1px solid var(--line);border-radius:5px;font-size:15px;line-height:1.9;overflow-wrap:anywhere}.reading-prose .learn-example-note{font-size:14px;line-height:1.75;margin-top:18px}
.reading-prose .reading-summary{font-size:17px;line-height:1.8;padding-left:20px;border-left:3px solid var(--blue);margin:0 0 24px}.reading-summary>strong{display:block;font-size:14px;margin-bottom:6px}
.reading-toc,.reading-detail{border-block:1px solid var(--line);margin-block:22px}.reading-toc summary,.reading-detail summary{padding:15px 4px;font-size:16px;line-height:1.6;font-weight:700;color:var(--ink);cursor:pointer}.reading-toc summary:hover,.reading-detail summary:hover{color:var(--blue)}.reading-toc[open] summary,.reading-detail[open] summary{border-bottom:1px solid var(--line)}.reading-toc nav{padding:0 16px}.reading-toc li{font-size:16px}.reading-detail>div{padding:20px 4px}.reading-detail>div p{font-size:16px}
.reading-callout{background:var(--sky);border-left:3px solid var(--blue);padding:23px 26px;margin-block:28px}.reading-callout>strong{display:block;font-size:17px;margin-bottom:9px}.reading-callout p{font-size:16px;line-height:1.8}.reading-prose .guide-download-inline{font-size:16px;margin-block:20px}.reading-prose .guide-downloads h3{margin-top:0}
.reading-aside{position:sticky;top:125px;border-top:1px solid var(--line);padding-top:20px}.reading-aside h2{font-size:18px;line-height:1.4;letter-spacing:-.035em}.reading-aside ul{list-style:none;padding:0;margin:12px 0 0}.reading-aside li{border-bottom:1px solid var(--line)}.reading-aside li a{display:block;padding:14px 0;font-size:14px;line-height:1.8}.reading-aside a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.reading-tool-link{display:inline-flex;align-items:center;gap:8px;padding-block:18px;font-size:14px;font-weight:700;color:var(--blue)}.reading-tool-link svg{width:16px;height:16px}
.spf-example{border:1px solid var(--line);border-radius:6px;padding:22px;background:white}.spf-example-heading{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;align-items:baseline;margin-bottom:22px}.spf-example-heading>strong{font-size:17px}.spf-example-heading>span{font-size:13px;color:var(--slate)}
.reading-prose .spf-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.spf-flow li{position:relative;border-top:3px solid var(--blue);padding-top:16px}.reading-prose .spf-flow li+li{margin:0}.spf-flow li+li::before{content:'→';position:absolute;top:-16px;left:-21px;background:white;font:18px/1.3 Arial;color:var(--blue)}.spf-flow strong{display:block;font-size:16px;line-height:1.5;margin-bottom:9px}.reading-prose .spf-flow p{font-size:16px;line-height:1.65}.spf-flow small{display:block;font-size:13px;line-height:1.7;color:var(--slate);margin-top:12px}.spf-example figcaption{padding-top:16px;border-top:1px solid var(--line);margin-top:22px}
.guide-definition{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px 24px;font-size:17px;line-height:1.8;margin-block:26px}.guide-definition dt{font-weight:700}.guide-definition dd{margin:0;color:var(--slate)}
.auth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-block:28px;border-block:1px solid var(--line)}.auth-grid>div{padding:22px 20px;background:var(--sky);min-width:0}.auth-grid>div+div{border-left:1px solid var(--line)}.auth-grid strong{font-size:21px;display:block;margin-bottom:10px;color:var(--blue)}.auth-grid p{font-size:16px;line-height:1.75}
.reading-prose .lookup-chain{list-style:none;margin:24px 0;padding:0}.lookup-chain li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:17px 20px;border:1px solid var(--line);background:var(--sky)}.reading-prose .lookup-chain li+li{margin:0;border-top:0}.lookup-chain li>span{font-size:14px;font-weight:750;color:var(--blue)}.lookup-chain code{font-size:15px}.lookup-chain small{display:block;font-size:14px;line-height:1.7;color:var(--slate);margin-top:5px}
@media(max-width:1080px){.reading-layout{gap:40px}.guide-entry{gap:25px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 75px}.guide-entry h2{font-size:23px}.reading-prose .spf-flow{grid-template-columns:1fr;gap:24px}.spf-flow li{border-top:0;border-left:3px solid var(--blue);padding:0 0 0 18px}.spf-flow li+li::before{content:'↓';top:-24px;left:-9px}.spf-flow small{margin-top:5px}}
@media(max-width:800px){.reading-layout{grid-template-columns:minmax(0,1fr);gap:40px}.reading-aside{position:static;max-width:68ch}.reading-aside ul{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.reading-prose .spf-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.spf-flow li{border-left:0;border-top:3px solid var(--blue);padding:16px 0 0}.spf-flow li+li::before{content:'→';top:-16px;left:-21px}.guide-entry{grid-template-columns:minmax(0,1fr) 82px;gap:12px 24px}.guide-entry p{grid-column:1;grid-row:2;max-width:58ch}.guide-entry>span{grid-column:2;grid-row:1}.guides-home{padding-top:38px}}
@media(max-width:600px){.guides-home{padding-block:30px 48px}.guides-intro{padding-bottom:30px}.guides-intro h1,.reading-header h1{font-size:34px}.guides-intro>p,.reading-header>p{font-size:17px}.guide-entry{grid-template-columns:1fr;padding-block:25px;gap:12px}.guide-entry>span{grid-column:1;grid-row:3;text-align:left}.guide-entry h2{font-size:24px}.guide-downloads{padding:22px 20px}.reading-header{padding-block:26px}.reading-meta{gap:5px 18px}.reading-prose h2{font-size:27px;margin-top:34px}.reading-layout{padding-bottom:48px}.reading-aside ul{grid-template-columns:1fr}.reading-prose .learn-code{padding:18px;font-size:14px}.spf-example{padding:20px}.reading-prose .spf-flow{grid-template-columns:1fr}.spf-flow li{border-top:0;border-left:3px solid var(--blue);padding:0 0 0 18px}.spf-flow li+li::before{content:'↓';top:-24px;left:-9px}.guide-definition{grid-template-columns:1fr;gap:4px}.guide-definition dd{margin-bottom:12px}.auth-grid{grid-template-columns:1fr}.auth-grid>div+div{border-left:0;border-top:1px solid var(--line)}.reading-callout{padding:21px}.lookup-chain li{padding:16px;gap:9px;grid-template-columns:22px minmax(0,1fr)}}
@media print{.reading-layout{display:block}.reading-prose{max-width:70ch}.reading-aside,.reading-toc,.reading-back{display:none}.reading-header{padding-top:0}.reading-prose details>div{display:block!important}.reading-detail summary{list-style:none}.reading-prose figure,.reading-callout{break-inside:avoid}}
