:root{--paper:#f1f3f5;--surface:#ffffff;--ink:#182e46;--secondary:#445b70;--muted:#4e6072;--line:#ced7e0;--accent:#214f7f;--wash:#e2e7ed;--focus:#2866a8;--radius:8px;--space:24px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:17px;line-height:1.65}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0 0 16px}h1,h2,h3{line-height:1.15;font-weight:500;text-wrap:balance}h1,h2{font-family:Georgia,"Times New Roman",serif}h1{font-size:clamp(40px,4.7vw,64px);letter-spacing:-.025em}h2{font-size:clamp(32px,3vw,44px)}h3{font-size:23px}strong{font-weight:600}.wrap{width:min(1200px,100% - 64px);margin:auto}.skip{position:absolute;left:16px;top:-80px;background:var(--surface);padding:12px 20px;z-index:10}.skip:focus{top:8px}.site-header{border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:88px}.brand{font-size:20px;font-weight:600;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:12px}.brand span{font-family:Georgia,serif;font-size:28px;border-right:1px solid var(--line);padding-right:12px;font-weight:400}nav{display:flex;gap:24px;flex-wrap:wrap}nav a{font-size:15px;text-decoration:none;padding:12px 0;color:var(--secondary)}.hero{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:48px;padding:48px 0}.eyebrow{font-size:15px;color:var(--secondary);margin-bottom:16px}.hero .intro{font-size:19px;color:var(--secondary);max-width:34em}.hero figure{margin:0}.hero img{aspect-ratio:3/2;object-fit:cover;border-radius:12px}.hero figcaption{font-size:13px;color:var(--muted);margin-top:8px}.actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:24px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:8px 20px;background:var(--accent);color:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);text-decoration:none;font-size:16px;font-weight:500}.button:hover{background:#173b65;color:white;text-decoration:none}.button.secondary{background:transparent;color:var(--accent);border-color:var(--line)}.button.secondary:hover{background:var(--wash)}.definition{display:grid;grid-template-columns:240px 1fr;gap:48px;border-top:1px solid var(--line);padding:32px 0}.definition h2{font-size:28px}.definition p{max-width:70ch;color:var(--secondary)}section{scroll-margin-top:24px}.section{padding:64px 0;border-top:1px solid var(--line)}.section-intro{max-width:70ch;color:var(--secondary)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px}.tools{display:flex;gap:16px;align-items:end;margin:32px 0 16px;padding:24px;background:var(--wash);border-radius:var(--radius)}.field{flex:1}.field label{display:block;font-size:15px;margin-bottom:8px}.field input,.field select{width:100%;height:48px;padding:8px 12px;background:var(--surface);border:1px solid #8b9daf;border-radius:4px;color:var(--ink)}.field.narrow{max-width:240px}.result-count{font-size:14px;color:var(--muted);margin:8px 0 16px}.resource{display:grid;grid-template-columns:48px 1fr 264px;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.resource-number{font-family:Georgia,serif;font-size:28px;color:var(--muted)}.resource h3 a{text-decoration:none;color:var(--ink)}.resource h3 a:hover{text-decoration:underline}.resource p{color:var(--secondary);margin-bottom:8px;max-width:62ch}.meta{font-size:14px;color:var(--muted)}.resource-links{display:flex;align-content:start;flex-wrap:wrap;gap:12px}.resource-links a{font-size:15px}.resource-links .button{width:100%;margin-bottom:4px}.note{padding:20px 24px;border-left:3px solid var(--accent);background:var(--wash);margin:24px 0}.steps{padding:0;list-style:none;counter-reset:steps}.steps li{counter-increment:steps;display:grid;grid-template-columns:48px 1fr;gap:24px;border-bottom:1px solid var(--line);padding:24px 0}.steps li:before{content:counter(steps,decimal-leading-zero);font-family:Georgia,serif;font-size:28px;color:var(--muted)}.steps li p{margin-bottom:0;color:var(--secondary)}.prompt{background:var(--surface);border:1px solid var(--line);padding:24px;border-radius:var(--radius)}.prompt blockquote{margin:0 0 20px;max-width:80ch}.copy-status{font-size:14px;margin-left:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px}.checklist{padding:0;list-style:none}.checklist li{padding:12px 0;border-bottom:1px solid var(--line)}.checklist label{display:flex;gap:12px;align-items:start}.checklist input{width:24px;height:24px;flex-shrink:0;accent-color:var(--accent);margin-top:3px}.check-summary{font-size:15px;color:var(--secondary)}.reading article{padding:24px 0;border-bottom:1px solid var(--line)}.reading h3{font-size:22px}.reading p{color:var(--secondary)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:500;padding:4px 0}details p{margin-top:16px;color:var(--secondary)}.repo-list article{display:grid;grid-template-columns:280px 1fr;gap:32px;border-bottom:1px solid var(--line);padding:24px 0}.repo-list h3{font-size:20px}.repo-list p{margin-bottom:8px;color:var(--secondary)}.download-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;padding:40px;background:var(--wash);border-radius:12px}.download-panel ul{padding-left:20px;margin:0}.site-footer{border-top:1px solid var(--line);padding:32px 0;font-size:14px;color:var(--secondary)}.footer-inner{display:flex;justify-content:space-between;gap:32px}.footer-inner p{max-width:65ch}.guide-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;padding:48px 0}.guide-rail{font-size:15px}.guide-rail a{display:block;padding:8px 0}.guide-content{min-width:0;max-width:850px}.guide-content h1{font-size:44px;margin-top:24px}.guide-content h2{font-size:30px;margin:48px 0 20px;scroll-margin-top:24px}.guide-content h3{font-size:23px;margin-top:32px}.guide-content h4{font-size:19px}.guide-content p,.guide-content li{overflow-wrap:anywhere}.guide-content pre{padding:20px;background:var(--wash);overflow-x:auto;border-radius:8px;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.guide-content code{font-size:.9em;overflow-wrap:anywhere}.guide-content blockquote{border-left:3px solid var(--line);margin:24px 0;padding:0 24px;color:var(--secondary)}.table-scroll{overflow-x:auto;max-width:100%;margin:24px 0}.table-scroll:focus-visible{outline:3px solid var(--focus)}table{border-collapse:collapse;width:100%;font-size:15px}th,td{padding:12px;text-align:left;vertical-align:top;border:1px solid var(--line);min-width:128px}th{background:var(--wash)}.guide-content img{margin:24px 0;border-radius:8px}.empty{padding:32px;background:var(--wash)}[hidden]{display:none!important}@media(min-width:950px){.guide-rail>div{position:sticky;top:24px;max-height:90vh;overflow-y:auto}}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{align-items:start;padding:20px 0;flex-direction:column;gap:12px}nav{gap:20px}.brand{font-size:17px}.hero{gap:24px;padding:32px 0;grid-template-columns:1fr}.hero figure{max-width:640px}.hero h1{max-width:16ch}.definition{grid-template-columns:1fr;gap:8px}.resource{grid-template-columns:32px 1fr;gap:16px}.resource-links{grid-column:2}.resource-links .button{width:auto}.split,.download-panel{grid-template-columns:1fr;gap:32px}.repo-list article{grid-template-columns:1fr;gap:8px}.section{padding:48px 0}.tools{padding:20px;flex-wrap:wrap}.field{min-width:180px}.field.narrow{max-width:none}.footer-inner{flex-direction:column;gap:12px}.guide-layout{grid-template-columns:1fr;gap:24px}.guide-rail>div{padding-bottom:24px;border-bottom:1px solid var(--line)}.guide-content h1{font-size:36px}.download-panel{padding:24px}.section-heading{display:block}}@media print{nav,.tools,.actions,.guide-rail,.copy-button,.skip{display:none}.wrap{width:100%}.hero{grid-template-columns:1fr 1fr}.section{padding:24px 0}.guide-layout{display:block}a{color:inherit}.site-header{padding:8px 0}.resource,.repo-list article{break-inside:avoid}}
/* Long instruction-file names and reference headings must reflow at high zoom. */
.guide-content h1,.guide-content h2,.guide-content h3,.guide-content h4,.guide-rail a{overflow-wrap:anywhere}

/* Native disclosure keeps supplemental navigation available without scripts. */
.repo-intro{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:48px;margin-bottom:24px}
.repo-intro p{margin-bottom:0}
.repo-illustration{width:100%;border-radius:var(--radius)}
@media(max-width:800px){.repo-intro{grid-template-columns:1fr;gap:24px}.repo-illustration{max-width:300px;justify-self:center}}
.supplement-nav{position:relative;border:0;padding:0}
.supplement-nav summary{padding:12px 0;font-size:15px;font-weight:400;color:var(--secondary)}
.supplement-links{position:absolute;right:0;top:100%;z-index:5;width:280px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.supplement-links a{display:block;padding:10px 12px;line-height:1.5;overflow-wrap:anywhere}
.supplement-links a:hover,.supplement-links a[aria-current="page"]{background:var(--wash)}
nav{align-items:start}
@media(max-width:800px){.supplement-nav{position:static}.supplement-links{position:static;width:min(280px,100%);margin-bottom:8px}.header-inner nav{width:100%}}

.foundation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 0}
.foundation{display:flex;flex-direction:column;gap:16px;padding:20px 0;text-decoration:none;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.foundation strong{display:block;font-size:23px;font-weight:500;line-height:1.3}
.foundation img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--wash);border-radius:4px}
.foundation small{display:block;font-size:17px;line-height:1.5;color:var(--secondary);overflow-wrap:anywhere}
.foundation:hover{background:var(--wash);text-decoration:none}
.foundation:hover strong{text-decoration:underline;text-underline-offset:4px}
.library-page{padding:48px 0}
.library-page>h1{font-size:44px}
.library-page>section{margin-top:32px}
.library-page>section>h2{font-size:30px}
.hero img{width:100%;object-fit:contain}
.comic-page{max-width:none}
.comic-page>p,.comic-page>ol{max-width:75ch}
.cartoon{margin:24px 0}
.cartoon img{width:100%;height:auto}
@media(max-width:800px){.foundation-grid{grid-template-columns:1fr;gap:24px}.foundation{gap:16px}.library-page>h1{font-size:36px}}
