
:root{--ink:#162437;--muted:#52647a;--blue:#2353c4;--line:#dbe3ed;--wash:#f2f6fb;--accent:#eab950;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #6289eb;outline-offset:5px}.container{max-width:var(--max);margin:auto;padding:0 32px}.site-header{border-bottom:1px solid var(--line);background:white}.header-inner{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:30px}.lab-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:-.3px}.lab-brand span{font-weight:400;color:var(--muted);margin-left:-5px}.lab-brand img{flex:none}.site-header nav{display:flex;gap:27px;font-size:15px}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--blue)}.home-hero{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:center;padding-top:72px;padding-bottom:68px}.eyebrow{font-size:14px;font-weight:600;letter-spacing:.045em;color:var(--blue);margin-bottom:16px}.home-hero h1{font-size:clamp(40px,4.4vw,61px);font-weight:700;line-height:1.11;letter-spacing:-1.8px;margin-bottom:23px}.hero-intro{font-size:19px;line-height:1.75;color:var(--muted);max-width:570px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;padding:12px 18px;border-radius:6px;border:1px solid #cbd6e6;background:white;line-height:1.5}.button:hover{background:#f0f4fb}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.primary:hover{background:#1845ae}.hero-footnote{margin-top:22px;font-size:14px;color:var(--muted)}.hero-example{border:1px solid var(--line);background:var(--wash);padding:18px;border-radius:12px;box-shadow:0 12px 36px #1734570a}.example-heading{display:flex;justify-content:space-between;gap:14px;font-size:14px;margin-bottom:16px}.example-heading span:first-child{font-weight:650}.example-heading span:last-child{color:var(--muted)}.hero-example>img{display:block;width:100%;border-radius:7px;background:#202024;aspect-ratio:684/570}.hero-example figcaption{font-size:14px;line-height:1.6;color:var(--muted);margin-top:14px}.section-heading{margin-bottom:32px;max-width:800px}.section-heading .eyebrow{margin-bottom:10px}h2{font-size:32px;line-height:1.28;letter-spacing:-.7px;font-weight:650}.section-heading>p:last-child:not(.eyebrow){margin-top:13px;color:var(--muted);font-size:17px}.projects-section{padding-top:40px;padding-bottom:72px;scroll-margin-top:30px}.project-list{border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:165px 1fr 235px;gap:27px;padding:32px 0;border-bottom:1px solid var(--line)}.project-type{color:var(--muted);font-size:14px;padding-top:6px}.project h3{font-size:25px;font-weight:650;line-height:1.4;margin-bottom:9px;letter-spacing:-.3px}.project-copy>p{font-size:17px;color:var(--muted)}.project-links{display:flex;flex-wrap:wrap;gap:22px;color:var(--blue);font-size:15px;font-weight:600;margin-top:18px}.project-links a:hover,.library-link:hover,.footer-links a:hover{text-decoration:underline}.project-note{border-left:2px solid var(--accent);padding:5px 0 5px 20px;align-self:center;font-size:15px}.project-note b{font-weight:600}.project-note p{color:var(--muted);margin-top:6px}.resource-band{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.resource-section{padding-top:56px;padding-bottom:54px}.home-resources{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.resource-item{display:block;padding-top:19px;border-top:2px solid #cad7ed}.resource-item:hover{border-color:var(--blue)}.resource-kind{font-size:14px;color:var(--muted)}.resource-item h3{font-size:20px;font-weight:650;line-height:1.5;margin:9px 0 10px}.resource-item p{color:var(--muted);font-size:16px;line-height:1.7}.library-link{display:inline-block;margin-top:31px;color:var(--blue);font-size:15px;font-weight:600}.about-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding-top:68px;padding-bottom:72px}.about-section h2{max-width:350px}.about-copy{font-size:17px;color:var(--muted)}.about-copy>p+p{margin-top:16px}.site-footer{border-top:1px solid var(--line);padding:30px 0 35px;color:var(--muted);font-size:14px}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-inner b{color:var(--ink);font-size:15px}.footer-inner p{margin-top:5px}.footer-links{display:flex;gap:25px;flex-wrap:wrap;align-items:flex-start}.skip-link{position:absolute;top:-100px;left:20px;background:#fff;color:var(--blue);padding:12px;z-index:100}.skip-link:focus{top:10px}
@media(max-width:1000px){.home-hero{gap:36px;padding-top:52px}.home-hero h1{font-size:49px}.project{grid-template-columns:140px 1fr;gap:20px}.project-note{grid-column:2;font-size:15px}.about-section{gap:42px}}
@media(max-width:760px){html{scroll-padding-top:30px}.container{padding-left:22px;padding-right:22px}.header-inner{min-height:78px;gap:15px;flex-wrap:wrap;padding-top:17px;padding-bottom:17px}.site-header nav{font-size:14px;gap:23px}.lab-brand{font-size:17px}.home-hero{grid-template-columns:1fr;gap:32px;padding-top:40px;padding-bottom:45px}.home-hero h1{font-size:clamp(38px,9vw,52px);letter-spacing:-1.2px}.hero-intro{font-size:18px}.hero-example{max-width:520px;width:100%;justify-self:center}.hero-example>img{max-height:350px;object-fit:contain}.example-heading{margin-bottom:12px}.projects-section{padding-top:24px;padding-bottom:44px}.project{grid-template-columns:1fr;gap:14px;padding:26px 0}.project-type{padding:0}.project-note{grid-column:1;margin-top:5px}h2{font-size:28px}.home-resources{grid-template-columns:1fr;gap:24px}.resource-section{padding-top:40px;padding-bottom:40px}.resource-item{padding-top:16px}.about-section{grid-template-columns:1fr;gap:25px;padding-top:45px;padding-bottom:46px}.footer-inner{flex-direction:column;gap:18px}.button{font-size:15px}.section-heading{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.library-main{padding-top:51px;padding-bottom:70px}.library-heading{max-width:780px;margin-bottom:40px}.library-heading .eyebrow{margin-bottom:10px}.library-heading h1,.guide-heading h1{font-size:clamp(32px,3.6vw,45px);line-height:1.24;letter-spacing:-1px;font-weight:650}.library-heading>p:last-child{font-size:19px;color:var(--muted);margin-top:17px}.library-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:55px;align-items:start}.library-nav{display:flex;flex-direction:column;gap:15px;font-size:15px;color:var(--muted);position:sticky;top:30px;padding-top:6px}.library-nav a:hover{color:var(--blue)}.resource-group{margin-bottom:40px}.resource-group>h2{font-size:25px;padding-bottom:17px;border-bottom:1px solid var(--line)}.library-resource{padding:23px 0;border-bottom:1px solid var(--line)}.library-resource h3{font-size:21px;font-weight:600;margin:7px 0 9px;line-height:1.45}.library-resource h3 a:hover{color:var(--blue);text-decoration:underline}.library-resource>p{font-size:17px;max-width:750px;color:var(--muted)}.library-resource .resource-date{font-size:14px;margin-top:10px}.library-questions{padding-top:10px}.library-questions h2{font-size:25px;margin-bottom:18px}.library-questions details{border-bottom:1px solid var(--line);padding:18px 0}.library-questions summary{font-size:16px;cursor:pointer;font-weight:550}.library-questions details p{margin-top:13px;color:var(--muted);font-size:16px}.library-questions details a{color:var(--blue);text-decoration:underline}.guide-main{padding-top:33px;padding-bottom:60px}.guide-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin-bottom:25px}.guide-breadcrumb a:hover{color:var(--blue)}.guide-heading{max-width:820px;margin-bottom:36px}.guide-heading .eyebrow{margin-bottom:12px}.guide-lead{font-size:20px;line-height:1.65;color:var(--muted);margin-top:18px}.guide-meta{font-size:14px;color:var(--muted);margin-top:22px;padding-bottom:25px;border-bottom:1px solid var(--line)}.guide-meta a{color:var(--blue)}.guide-layout{display:grid;grid-template-columns:185px minmax(0,1fr);gap:45px;align-items:start}.guide-toc{font-size:14px;position:sticky;top:30px;display:flex;flex-direction:column;gap:11px;color:var(--muted)}.guide-toc b{font-size:14px;color:var(--ink);font-weight:600;margin-bottom:4px}.guide-toc a:hover{color:var(--blue)}.guide-body{max-width:775px;font-size:17px;line-height:1.85;min-width:0}.guide-body h2{font-size:27px;letter-spacing:-.5px;margin-top:37px;margin-bottom:16px;line-height:1.35}.guide-body h3{font-size:22px;font-weight:600;line-height:1.4;margin:27px 0 14px}.guide-body p{margin-bottom:20px}.guide-body a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.guide-body ul,.guide-body ol{padding-left:23px;margin:18px 0 25px}.guide-body li{margin-bottom:10px}.guide-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;padding:2px 5px;border-radius:3px;background:#edf1f7;overflow-wrap:anywhere}.guide-body pre{white-space:pre;overflow-x:auto;background:#f1f4f9;border:1px solid var(--line);padding:21px 23px;border-radius:7px;font-size:14px;line-height:1.8;margin:22px 0;max-width:100%}.guide-body pre code{padding:0;background:none;font-size:1em;overflow-wrap:normal}.answer-box{border-left:3px solid var(--blue);background:#edf3ff;padding:20px 24px;margin-bottom:30px;font-size:17px;line-height:1.8}.answer-box b{font-size:15px;color:#315599}.answer-box p{margin:8px 0 0}.guide-body img{display:block;border:1px solid var(--line);border-radius:8px;max-width:100%;height:auto}.guide-body>p>img{margin:27px 0}.guide-figure{margin:28px 0}.guide-figure img{width:100%}.guide-figure figcaption{font-size:14px;color:var(--muted);line-height:1.65;margin-top:13px}.companion-figure{max-width:580px}.guide-body em{font-size:inherit}.guide-sources{border-top:1px solid var(--line);margin-top:35px;padding-top:24px;font-size:15px;color:var(--muted)}.guide-sources h2{font-size:22px;margin-top:0}.guide-sources a{display:inline-block;margin:0 17px 9px 0;font-size:14px}.table-scroll{width:100%;overflow-x:auto;margin:20px 0 25px}.guide-body table{width:100%;font-size:15px;border-collapse:collapse;min-width:520px}.guide-body td,.guide-body th{text-align:left;padding:13px 15px;border:1px solid var(--line);vertical-align:top}.guide-body th{background:var(--wash);font-weight:600}.device-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0}.device-flow>div{background:var(--wash);border:1px solid #c5d3e7;padding:16px;border-radius:5px;position:relative}.device-flow>div+div:before{content:'';position:absolute;left:-21px;top:50%;width:20px;border-top:1px solid #7793bf}.device-flow b{font-size:15px}.device-flow p{font-size:14px;line-height:1.6;margin:7px 0 0;color:var(--muted)}.not-found{padding-top:70px;padding-bottom:100px}.not-found h1{font-size:40px;line-height:1.3;margin-bottom:18px}.not-found>p:not(.eyebrow){font-size:18px;color:var(--muted)}
@media(max-width:950px){.library-layout{grid-template-columns:155px minmax(0,1fr);gap:30px}.guide-layout{grid-template-columns:155px minmax(0,1fr);gap:25px}.guide-body{font-size:17px}.device-flow{grid-template-columns:1fr;gap:18px}.device-flow>div+div:before{left:50%;top:-19px;height:18px;width:0;border-top:0;border-left:1px solid #7793bf}}
@media(max-width:760px){.library-main{padding-top:35px;padding-bottom:45px}.library-layout,.guide-layout{grid-template-columns:1fr;gap:24px}.library-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:12px 22px;padding-bottom:20px;border-bottom:1px solid var(--line)}.library-heading{margin-bottom:26px}.library-heading h1,.guide-heading h1{font-size:34px;letter-spacing:-.6px}.library-heading>p:last-child{font-size:18px}.library-resource h3{font-size:20px}.library-resource>p{font-size:16px}.guide-main{padding-top:24px}.guide-heading{margin-bottom:25px}.guide-lead{font-size:18px}.guide-toc{position:static;flex-direction:row;flex-wrap:wrap;gap:10px 20px;border-bottom:1px solid var(--line);padding-bottom:22px}.guide-toc b{width:100%}.guide-body h2{font-size:25px}.guide-body pre{padding:17px;font-size:14px}.answer-box{padding:18px 20px;font-size:17px}.guide-body{font-size:17px}.guide-meta{font-size:14px}.guide-sources a{display:block;margin:12px 0}.guide-body>p>img{margin:22px 0}}
.library-heading>p:not(.eyebrow){font-size:19px;color:var(--muted);margin-top:17px}
.library-summary{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:23px;font-size:14px;color:var(--muted)}.library-summary a{color:var(--blue)}
.library-feature{display:grid;grid-template-columns:1.4fr .75fr;gap:46px;align-items:center;padding:34px 38px;background:var(--wash);border:1px solid var(--line);border-radius:10px;margin-bottom:48px}.library-feature h2{font-size:30px;line-height:1.35;max-width:600px}.library-feature h2 a:hover{color:var(--blue)}.library-feature p:not(.eyebrow){font-size:17px;color:var(--muted);margin-top:16px}.library-feature figure{max-width:325px;justify-self:end}.library-feature img{display:block;border-radius:7px;background:#202024}.library-feature figcaption{font-size:14px;color:var(--muted);margin-top:11px;line-height:1.6}.build-trail{display:flex;flex-wrap:wrap;gap:12px 20px;margin:22px 0;font-size:14px;font-weight:600}.build-trail a{color:var(--blue)}.text-link{color:var(--blue);font-size:15px;font-weight:600}.text-link:hover,.build-trail a:hover{text-decoration:underline}
.library-resource>div>p{font-size:17px;max-width:750px;color:var(--muted)}.library-resource>div>.resource-date{font-size:14px;margin-top:10px}.library-resource.with-image{display:grid;grid-template-columns:1fr 170px;gap:28px;align-items:center}.resource-preview img{display:block;width:100%;border:1px solid var(--line);border-radius:5px;max-height:155px;object-fit:contain;background:white}.resource-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:14px;font-size:14px;color:var(--blue)}.resource-links a:hover{text-decoration:underline}
.publication-note{padding:25px;background:var(--wash);border:1px solid var(--line);border-radius:6px;margin-bottom:35px}.publication-note h2{font-size:23px}.publication-note p{font-size:16px;color:var(--muted);margin-top:14px}.publication-note p:last-child{font-size:14px}.publication-note a{color:var(--blue);text-decoration:underline}
.read-next{margin-top:32px}.read-next h2{font-size:24px}.read-next>a{display:block;padding:19px 0;border-bottom:1px solid var(--line);text-decoration:none}.read-next b{font-size:17px;font-weight:600}.read-next span{display:block;font-size:15px;line-height:1.7;color:var(--muted);margin-top:5px}.project-profile{font-size:14px;color:var(--muted);margin-top:21px}.project-profile a{color:var(--blue);text-decoration:underline}.home-resources{row-gap:34px}
@media(max-width:760px){.site-header nav{flex-wrap:wrap;gap:10px 19px}.library-feature{grid-template-columns:1fr;gap:25px;padding:24px;margin-bottom:33px}.library-feature h2{font-size:25px}.library-feature figure{max-width:325px;justify-self:center}.library-heading>p:not(.eyebrow){font-size:18px}.library-resource.with-image{grid-template-columns:1fr;gap:17px}.resource-preview{max-width:230px}.resource-preview img{max-height:180px}.library-resource>div>p{font-size:16px}.library-resource>div>.resource-date{font-size:14px}.publication-note{padding:21px}.library-summary{gap:9px 20px}.home-resources{row-gap:25px}}

/* Three entry paths without additional dashboard controls. */
.topic-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 46px;padding:0 0 29px;border-bottom:1px solid var(--line)}.topic-paths a{display:flex;flex-direction:column;gap:7px}.topic-paths b{font-size:16px;color:var(--blue)}.topic-paths span{font-size:15px;color:var(--muted);line-height:1.6}.guide-body figure{margin:26px 0}.guide-body figcaption{font-size:14px;color:var(--muted);line-height:1.65;margin-top:12px}.library-feature .text-link{display:inline-block;margin-top:20px}.guide-body .table-scroll{margin:20px 0 25px}.guide-body .table-scroll .table-scroll{margin:0}.guide-breadcrumb span[aria-current]{overflow-wrap:anywhere}@media(max-width:760px){.topic-paths{grid-template-columns:1fr;gap:18px;margin-bottom:28px}.guide-body .table-scroll{max-width:100%}}
