:root{--yellow:#fffb00;--ink:#141414;--paper:#fff;--muted:#686868;--line:#e6e6e1;--soft:#f5f5f2;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--font:"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;color:var(--ink);font-family:var(--font);font-synthesis:none;background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{-webkit-font-smoothing:antialiased;margin:0;font-size:16px}button{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}p,h1,h2,h3{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-offset:5px;outline:3px solid #3575e5}.wrap{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}.language-switcher{background:var(--yellow);justify-content:flex-end;align-items:center;gap:16px;padding:7px max(24px,50% - 640px);font-size:12px;line-height:24px;display:flex}.language-switcher a[aria-current=page]{text-underline-offset:4px;font-weight:700;text-decoration:underline}.language-switcher [aria-disabled=true]{color:#686868}.icon{vertical-align:middle;flex-shrink:0;width:20px;height:20px}.button{border-radius:6px;justify-content:center;align-items:center;gap:26px;min-height:54px;padding:15px 22px;font-size:14px;font-weight:600;line-height:1.5;transition:background .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff;border:1px solid var(--ink)}.button-dark:hover{background:#363636}.button-small{gap:28px;min-height:42px;padding:10px 18px}.button-outline{white-space:nowrap;background:0 0;border:1px solid #c4c4bd}.button-outline:hover{background:var(--soft)}.text-link{border-bottom:1px solid;align-items:center;gap:16px;padding-block:10px;font-size:14px;font-weight:600;display:inline-flex}.text-link:hover{opacity:.6}.skip-link{z-index:5;background:#fff;border:2px solid;padding:14px;position:fixed;top:-100px;left:12px}.skip-link:focus{top:12px}.hero-shell{background:linear-gradient(to bottom, var(--yellow) 0, var(--yellow) calc(100% - 158px), #fff calc(100% - 158px), #fff 100%)}.site-header{border-bottom:1px solid #0002;justify-content:space-between;align-items:center;gap:24px;height:102px;display:flex}.brand{letter-spacing:-2px;font-size:31px;font-weight:700;line-height:1}.desktop-nav{gap:35px;margin-left:30px;font-size:14px;font-weight:500;display:flex}.desktop-nav a:hover{text-underline-offset:6px;text-decoration:underline}.hero{padding-top:36px}.hero-kicker{font:11px/1.4 var(--mono);letter-spacing:.06em;justify-content:space-between;display:flex}.hero-wordmark{letter-spacing:-.08em;white-space:nowrap;margin:12px 0 41px -.012em;font-size:clamp(100px,18.05vw,260px);font-weight:650;line-height:.97}.hero-story{grid-template-columns:1.04fr 1fr;align-items:start;gap:50px;padding-bottom:48px;display:grid}.hero h1{letter-spacing:-.045em;font-size:clamp(30px,3.25vw,47px);font-weight:650;line-height:1.4}.hero-description{max-width:475px;padding-top:5px}.hero-description p{letter-spacing:.01em;max-width:400px;font-size:16px;line-height:1.9}.hero-actions{align-items:center;gap:27px;margin-top:24px;display:flex}.hero-actions .text-link{border:0;font-size:13px}.build-preview{background:#fff;border:1px solid #252525;border-radius:10px;overflow:hidden;box-shadow:0 12px 32px #0000000a}.window-top{border-bottom:1px solid var(--line);height:40px;font:11px var(--mono);color:#70706c;background:#fafaf8;align-items:center;gap:18px;padding:0 18px;display:flex}.window-dots{gap:5px;display:flex}.window-dots i{border:1px solid #a5a5a0;border-radius:50%;width:7px;height:7px}.preview-label{letter-spacing:.09em;margin-left:auto;font-size:10px}.dashboard-body{grid-template-columns:192px 1fr;min-height:347px;display:grid}.dashboard-sidebar{border-right:1px solid var(--line);background:#fbfbf9;flex-direction:column;gap:3px;padding:23px 12px 17px;display:flex}.workspace-name{align-items:center;gap:9px;margin:0 0 23px 5px;font-size:12px;font-weight:600;display:flex}.workspace-icon{background:var(--yellow);border:1px solid #1112;border-radius:5px;justify-content:center;align-items:center;width:25px;height:25px;padding-bottom:3px;font-size:22px;font-weight:700;line-height:1;display:inline-flex}.sidebar-item{color:#757570;border-radius:4px;align-items:center;gap:10px;padding:9px 10px;font-size:12px;display:flex}.sidebar-item .icon{width:16px;height:16px}.sidebar-item.selected{color:#171712;background:#ecece6;font-weight:600}.count{font:10px var(--mono);color:#666;margin-left:auto}.sidebar-bottom{color:#666;align-items:center;gap:9px;margin-top:auto;padding-left:8px;font-size:12px;display:flex}.avatar{background:#eee;border:1px solid #ddd;border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;display:grid}.dashboard-main{min-width:0;padding:29px 30px 25px}.build-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.build-breadcrumb{color:#777;margin-bottom:9px;font-size:11px}.build-heading h2{letter-spacing:-.03em;font-size:21px;font-weight:550;line-height:1.35}.status-badge{color:#317c43;background:#edf7ed;border:1px solid #cfe6d2;border-radius:20px;align-items:center;gap:5px;padding:6px 10px;font-size:11px;display:flex}.status-badge .icon{width:12px;height:12px}.build-meta{color:#6e6e68;flex-wrap:wrap;align-items:center;gap:19px;margin:17px 0 27px;font-size:11px;display:flex}.build-meta span{align-items:center;gap:5px;display:flex}.build-meta .icon{width:13px;height:13px}.build-meta .commit{font-family:var(--mono)}.pipeline{grid-template-columns:repeat(4,1fr);gap:25px;margin-bottom:23px;display:grid}.pipeline-step{background:#fff;border:1px solid #dcded7;border-radius:5px;padding:12px 13px;position:relative}.pipeline-step:not(:last-child):after{content:"";background:#dcded7;width:26px;height:1px;position:absolute;top:50%;left:100%}.step-top{align-items:center;gap:8px;font-size:12px;display:flex}.step-top strong{font-weight:500}.check-circle{color:#3b8443;background:#e3f0e3;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;display:flex}.check-circle .icon{stroke-width:2.2px;width:10px;height:10px}.step-time{font:10px var(--mono);color:#82827c;margin:7px 0 0 23px;display:block}.terminal-preview{border:1px solid var(--line);background:#fafaf8;border-radius:5px;padding:11px 15px 14px;overflow:auto}.terminal-title{color:#50504b;align-items:center;gap:7px;margin-bottom:13px;font-size:11px;display:flex}.terminal-title .icon{width:13px;height:13px}.sample-note{color:#90908b;margin-left:auto;font-size:10px}.terminal-line{white-space:nowrap;line-height:1.9;font:11px/1.9 var(--mono);align-items:baseline;gap:17px;display:flex}.terminal-line>span{color:#aaa;font-size:10px}.terminal-line code{font:inherit}.muted-line{color:#92928a}.success-line{color:#3b7846}.stack-band{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;padding:46px 0 48px;display:flex}.stack-caption{color:#7b7b76;white-space:nowrap;font-size:13px}.stack-names{color:#686863;letter-spacing:-.8px;align-items:center;gap:48px;font-size:22px;font-weight:600;display:flex}.section{padding-top:107px;padding-bottom:105px}.section-label{font:11px/1.5 var(--mono);letter-spacing:.04em;align-items:center;gap:13px;display:flex}.section-number{color:#707067;border:1px solid #cecec7;border-radius:3px;place-items:center;width:26px;height:24px;font-size:10px;display:grid}.section-heading{justify-content:space-between;align-items:flex-end;gap:65px;margin:29px 0 48px;display:flex}.section h2,.workflow-section h2,.faq-section h2{letter-spacing:-.045em;font-size:clamp(28px,3.1vw,43px);font-weight:550;line-height:1.5}.section-heading>p{max-width:330px;color:var(--muted);margin-bottom:5px;font-size:15px;line-height:1.9}.feature-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.feature{min-width:0;padding:32px 30px 0 0}.feature+.feature{border-left:1px solid var(--line);padding-left:31px}.feature-top{color:#8a8a82;font:11px var(--mono);justify-content:space-between;align-items:center;margin-bottom:37px;display:flex}.feature-icon{color:var(--ink);border:1px solid #dcdcd4;border-radius:6px;place-items:center;width:44px;height:44px;display:grid}.feature-icon .icon{width:23px;height:23px}.feature h3{letter-spacing:-.03em;margin-bottom:15px;font-size:19px;font-weight:550;line-height:1.5}.feature p{color:var(--muted);font-size:14px;line-height:1.95}.feature-tags{gap:8px;margin-top:25px;display:flex}.feature-tags span{border:1px solid var(--line);font:10px var(--mono);color:#65655e;border-radius:3px;padding:5px 8px}.workflow-section{background:var(--soft);border-block:1px solid var(--line);padding-block:91px}.workflow-grid{grid-template-columns:.92fr 1.08fr;align-items:center;gap:78px;display:grid}.workflow-copy h2{margin-block:27px 21px}.workflow-copy>p{max-width:385px;color:var(--muted);font-size:15px;line-height:1.95}.check-list{margin:23px 0;padding:0;list-style:none}.check-list li{align-items:center;gap:10px;margin:13px 0;font-size:13px;display:flex}.check-list .icon{width:15px;height:15px}.workflow-copy>.text-link{font-size:13px}.code-panel{--code-bg:#1b1d1b;--code-text:#ddd;--code-muted:#99a390;--code-keyword:#fffb00;--code-string:#bacdab;color:#ddd;background:#1b1d1b;border:1px solid #080808;border-radius:9px;min-width:0;overflow:hidden;box-shadow:0 8px 25px #0000000c}.code-tabs{background:#242624;border-bottom:1px solid #393b37;align-items:center;gap:19px;padding-inline:22px;display:flex}.code-tab{color:#a3a79f;background:0 0;border:0;padding:19px 0 17px;font-size:12px;position:relative}.code-tab.active{color:var(--yellow)}.code-tab.active:after{content:"";background:var(--yellow);height:2px;position:absolute;bottom:-1px;left:0;right:0}.code-filetype{font:9px var(--mono);color:#96998f;letter-spacing:1px;margin-left:auto}.code-content{min-height:255px;font:12px/2 var(--mono);padding:30px 24px 33px;overflow:auto}.code-comment{color:#949c8c;white-space:nowrap;margin-bottom:26px;font-size:11px}.command-line{white-space:nowrap;gap:17px;margin-top:6px;display:flex}.command-line>span{color:var(--yellow)}.command-line>code{font:inherit}.code-footer{color:#a3a89e;border-top:1px solid #393b37;justify-content:space-between;align-items:center;gap:15px;padding:15px 20px;font-size:10px;display:flex}.code-footer>span:first-child{align-items:center;gap:7px;display:flex}.code-footer .icon{width:13px;height:13px}.code-footer>span:last-child{font:9px var(--mono)}.pricing{border-bottom:1px solid var(--line)}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.pricing-card{border:1px solid var(--ink);border-radius:9px;padding:36px}.pricing-pro{background:var(--yellow)}.pricing-card h3{letter-spacing:-.04em;font-size:28px;font-weight:600}.pricing-description{margin-top:9px;font-size:14px;line-height:1.8}.pricing-price{align-items:baseline;gap:6px;margin-block:30px 25px;display:flex}.pricing-currency{font-size:23px;font-weight:600}.pricing-price strong{letter-spacing:-.06em;font-size:72px;font-weight:600;line-height:1}.pricing-period{white-space:nowrap;margin-left:8px;font-size:13px}.pricing-allowance{border-block:1px solid #14141426;flex-wrap:wrap;align-items:center;gap:9px;padding-block:20px;font-size:13px;display:flex}.pricing-allowance strong{letter-spacing:-.03em;font-size:24px;font-weight:600}.pricing-features{margin-block:25px 30px}.pricing-features li{align-items:flex-start;line-height:1.7}.pricing-features .icon{margin-top:3px}.pricing-card>.button{justify-content:space-between;width:100%}.pricing-signup{margin-top:24px;font-size:13px;line-height:1.9}.pricing-notes{color:var(--muted);margin-block:14px 30px;padding-left:18px;font-size:12px;line-height:1.9}.pricing-notes li+li{margin-top:5px}.pricing-guarantee{background:var(--soft);border-radius:6px;grid-template-columns:1fr 1.5fr;gap:30px;padding:28px;font-size:13px;line-height:1.9;display:grid}.pricing-guarantee h3{letter-spacing:-.03em;margin-bottom:6px;font-size:20px;font-weight:550}.pricing-guarantee summary{cursor:pointer;text-underline-offset:4px;width:fit-content;margin-top:12px;text-decoration:underline}.pricing-guarantee details p{margin-top:12px}.pricing-guarantee details a{text-underline-offset:4px;margin-top:8px;text-decoration:underline;display:inline-block}.pricing-self-hosted{justify-content:space-between;align-items:center;gap:20px;margin-top:28px;font-size:13px;line-height:1.9;display:flex}.pricing-self-hosted .text-link{flex-shrink:0;font-size:13px}@media (width<=800px){.pricing-card{padding:26px}.pricing-price strong{font-size:60px}.pricing-price{flex-wrap:wrap}.pricing-self-hosted{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=640px){.pricing-grid,.pricing-guarantee{grid-template-columns:1fr}.pricing-guarantee{gap:18px;padding:24px}}.getting-started{padding-bottom:91px}.getting-started .section-heading{align-items:center;margin-bottom:49px}.getting-started h2{font-size:36px}.setup-steps{grid-template-columns:repeat(3,1fr);gap:53px;margin:0;padding:0;list-style:none;display:grid}.setup-steps li{border-top:1px solid #cfcfc7;padding-top:23px}.setup-number{font:12px var(--mono);color:#828279}.setup-steps h3{letter-spacing:-.035em;margin:22px 0 13px;font-size:18px;font-weight:550}.setup-steps p{color:var(--muted);max-width:315px;font-size:14px;line-height:1.9}.faq-section{grid-template-columns:1fr 1.4fr;gap:70px;padding:42px 0 109px;display:grid}.faq-section h2{margin-top:23px;font-size:32px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:22px;padding:24px 0;font-size:14px;font-weight:500;line-height:1.7;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-plus{font-size:24px;font-weight:300;line-height:1;transition:transform .2s}.faq-list details[open] .faq-plus{transform:rotate(45deg)}.faq-list details>p{color:var(--muted);padding:0 30px 24px 0;font-size:14px;line-height:1.9}.closing{background:var(--yellow);padding-top:65px;overflow:hidden}.closing-content{justify-content:space-between;align-items:center;gap:50px;display:flex}.eyebrow{font:10px var(--mono);letter-spacing:.07em;margin-bottom:23px}.closing h2{letter-spacing:-.04em;font-size:42px;font-weight:550;line-height:1.5}.footer-wordmark{letter-spacing:-.08em;white-space:nowrap;margin-top:48px;margin-bottom:-9px;font-size:clamp(100px,18.05vw,260px);font-weight:650;line-height:1.04}.site-footer{background:var(--yellow)}.footer-inner{border-top:1px solid #0003;justify-content:space-between;align-items:center;gap:20px;padding-block:23px;font-size:11px;display:flex}.footer-tagline{font-size:11px}.footer-inner>a:hover{text-decoration:underline}@media (width>=1450px){.hero-wordmark,.footer-wordmark{font-size:260px}}@media (width<=1100px){.wrap{width:calc(100% - 64px)}.hero-wordmark,.footer-wordmark{font-size:18.4vw}.hero-story{gap:32px}.hero-actions{gap:17px}.hero-actions .button{gap:15px;padding-inline:17px}.hero-description p{font-size:15px}.dashboard-body{grid-template-columns:155px 1fr}.dashboard-sidebar{padding-inline:7px}.workspace-name{gap:6px;font-size:10px}.dashboard-main{padding:24px 22px}.build-heading h2{font-size:18px}.pipeline{gap:15px}.pipeline-step:not(:last-child):after{width:16px}.pipeline-step{padding:10px}.stack-names{gap:29px;font-size:19px}.workflow-grid{gap:40px}.code-footer{flex-wrap:wrap;gap:10px}.getting-started h2{font-size:30px}.section-heading{gap:40px}.feature h3{font-size:17px}.feature{padding-right:23px}.feature+.feature{padding-left:23px}.setup-steps{gap:30px}.faq-section{gap:45px}.code-content{padding-inline:20px}}@media (width<=800px){.wrap{width:calc(100% - 48px)}.site-header{height:85px}.desktop-nav{gap:20px;margin-left:0;font-size:12px}.brand{font-size:27px}.hero{padding-top:25px}.hero-wordmark{margin-top:22px;margin-bottom:33px;font-size:18.1vw}.hero-kicker{font-size:9px}.hero-story{grid-template-columns:1fr 1fr;gap:24px;padding-bottom:36px}.hero h1{font-size:32px}.hero-description{padding-top:0}.hero-description p{font-size:13px}.hero-actions{flex-wrap:wrap;gap:7px;margin-top:17px}.hero-actions .button{min-height:46px;font-size:12px}.hero-actions .text-link{font-size:12px}.dashboard-body{grid-template-columns:1fr}.dashboard-sidebar{display:none}.dashboard-main{padding:24px}.stack-band{flex-direction:column;align-items:flex-start;gap:20px;padding-block:35px}.stack-names{justify-content:space-between;gap:15px;width:100%}.section{padding-block:75px}.section-heading{gap:30px}.section-heading>p{max-width:280px;font-size:14px}.feature h3{font-size:16px}.feature p{font-size:13px}.feature{padding-right:18px}.feature+.feature{padding-left:18px}.feature-tags{flex-wrap:wrap}.workflow-section{padding-block:65px}.workflow-grid{grid-template-columns:1fr;gap:35px}.workflow-copy>p{max-width:600px}.workflow-copy h2 br{display:none}.workflow-section h2{font-size:32px}.check-list{margin-block:20px}.code-content{min-height:250px;font-size:14px}.code-comment{font-size:12px}.code-footer{flex-wrap:nowrap}.code-footer>span:last-child{font-size:10px}.getting-started .section-heading{flex-direction:column;align-items:flex-start;gap:23px}.setup-steps{gap:20px}.setup-steps h3{font-size:16px}.setup-steps p{font-size:13px}.faq-section{grid-template-columns:1fr;gap:27px;padding:25px 0 75px}.faq-section h2{font-size:30px}.closing-content{gap:30px}.closing h2{font-size:32px}.closing-content>.button{white-space:nowrap;gap:15px;font-size:12px}.footer-wordmark{font-size:18.1vw}.footer-tagline{display:none}}@media (width<=560px){.wrap{width:calc(100% - 40px)}.site-header{gap:14px;height:76px}.brand{font-size:28px}.desktop-nav{display:none}.button-small{gap:16px;min-height:38px;padding:8px 13px;font-size:12px}.hero{padding-top:22px}.hero-kicker{letter-spacing:.01em;font-size:8px}.hero-kicker>span:last-child{display:none}.hero-wordmark{letter-spacing:-.078em;margin:21px 0 28px -.015em;font-size:18vw;line-height:1}.hero-story{grid-template-columns:1fr;gap:21px;padding-bottom:34px}.hero h1{font-size:35px;line-height:1.42}.hero-description p{max-width:360px;font-size:14px;line-height:1.85}.hero-actions{flex-wrap:nowrap;gap:21px;margin-top:24px}.hero-actions .button{gap:18px;min-height:49px;padding-inline:17px;font-size:12px}.hero-actions .text-link{white-space:nowrap;font-size:12px}.hero-shell{background:linear-gradient(to bottom, var(--yellow) 0, var(--yellow) calc(100% - 145px), #fff calc(100% - 145px), #fff 100%)}.window-top{gap:11px;height:35px;padding-inline:12px;font-size:8px}.window-top>span:not(.preview-label){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.preview-label{white-space:nowrap;font-size:7px}.window-dots{gap:4px}.window-dots i{width:5px;height:5px}.dashboard-main{padding:20px 16px}.build-heading{align-items:flex-start;gap:9px}.build-breadcrumb{margin-bottom:8px;font-size:8px}.build-heading h2{max-width:210px;font-size:16px;line-height:1.4}.status-badge{gap:4px;padding:4px 7px;font-size:9px}.status-badge .icon{width:10px;height:10px}.build-meta{gap:10px;margin:14px 0 21px;font-size:9px}.build-meta .icon{width:11px;height:11px}.build-meta>span:last-child{display:none}.pipeline{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:19px}.pipeline-step:not(:last-child):after{display:none}.pipeline-step{padding:10px 12px}.step-top{font-size:11px}.step-time{font-size:9px}.terminal-preview{padding:11px 10px 12px}.terminal-line{gap:10px;font-size:9px}.terminal-title{margin-bottom:9px;font-size:10px}.sample-note{font-size:8px}.stack-band{gap:18px;padding:29px 0 32px}.stack-caption{font-size:11px}.stack-names{flex-wrap:wrap;justify-content:space-between;gap:13px;font-size:16px}.section{padding-block:61px}.section-label{gap:10px;font-size:9px}.section-number{width:24px;height:22px;font-size:9px}.section-heading{margin:24px 0 30px;display:block}.section h2{font-size:29px;line-height:1.5}.section-heading>p{max-width:none;margin-top:21px;font-size:14px}.feature-grid{border-top:0;grid-template-columns:1fr}.feature,.feature+.feature{border-left:0;border-top:1px solid var(--line);padding:26px 0 28px}.feature:last-child{padding-bottom:0}.feature-top{margin-bottom:22px}.feature h3{margin-bottom:13px;font-size:19px}.feature p{max-width:410px;font-size:14px}.feature-tags{margin-top:18px}.feature-icon{width:40px;height:40px}.workflow-section{padding-block:57px}.workflow-copy h2{margin:24px 0 18px;font-size:28px;line-height:1.55}.workflow-copy h2 br{display:block}.workflow-copy>p{font-size:14px}.check-list li{gap:8px;font-size:12px;line-height:1.7}.workflow-grid{gap:30px}.code-tabs{gap:22px;padding-inline:18px}.code-tab{padding-block:16px;font-size:12px}.code-filetype{font-size:8px}.code-content{min-height:241px;padding:25px 17px 28px;font-size:11px}.code-comment{margin-bottom:25px;font-size:9px}.command-line{gap:13px;margin-top:10px}.code-footer{flex-wrap:wrap;gap:10px;padding:13px 15px;font-size:9px}.code-footer>span:last-child{font-size:9px}.getting-started .section-heading{gap:24px;margin-bottom:35px;display:flex}.getting-started h2{max-width:300px;font-size:27px}.button-outline{gap:20px;min-height:49px;padding:13px 17px;font-size:12px}.setup-steps{grid-template-columns:1fr;gap:27px}.setup-steps li{padding-top:20px}.setup-number{font-size:11px}.setup-steps h3{margin-top:16px;font-size:18px}.setup-steps p{max-width:none;font-size:14px}.faq-section{gap:25px;padding:8px 0 65px}.faq-section h2{margin-top:23px;font-size:28px}.faq-list summary{padding-block:21px;font-size:13px}.faq-list details>p{padding-right:15px;font-size:13px}.closing{padding-top:47px}.closing-content{flex-direction:column;align-items:flex-start;gap:25px}.closing h2{font-size:32px}.eyebrow{margin-bottom:20px;font-size:9px}.closing-content>.button{gap:25px;min-height:51px;padding-inline:19px;font-size:13px}.footer-wordmark{letter-spacing:-.078em;margin-top:38px;margin-bottom:0;font-size:18vw;line-height:1.1}.footer-inner{gap:12px;padding-block:18px;font-size:9px}}@media (width<=359px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:31px}.hero-actions{gap:14px}.hero-actions .button{gap:10px;padding-inline:12px;font-size:11px}.hero-actions .text-link{font-size:11px}.hero-wordmark,.footer-wordmark{font-size:17.9vw}.build-meta{gap:7px}.commit{display:none!important}.build-heading h2{font-size:14px}.dashboard-main{padding-inline:12px}.stack-names{font-size:14px}.section h2,.workflow-copy h2{font-size:26px}.code-content{font-size:10px}.code-comment{font-size:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.hero-wordmark,.footer-wordmark{letter-spacing:-.055em;word-spacing:.06em;color:#000;font-size:min(18.8vw,270px);font-weight:500}.brand{letter-spacing:-1.4px;word-spacing:4px;white-space:nowrap}.feature-source{gap:10px;margin-top:15px;font-size:12px}.feature-source .icon{width:15px;height:15px}.dart-content{min-height:302px;padding:28px 24px}.dart-content .astro-code{font:12px/26px var(--mono);margin:0}.dart-content code{counter-reset:code-line}.dart-content .line:before{counter-increment:code-line;content:counter(code-line) / "";text-align:right;color:#757d71;user-select:none;width:14px;margin-right:20px;font-size:10px;display:inline-block}@media (width<=560px){.brand{font-size:26px}.dart-content{min-height:276px;padding:21px 12px}.dart-content .astro-code{font-size:10px;line-height:25px}.dart-content .line:before{width:12px;margin-right:10px;font-size:9px}.stack-names{gap:14px;font-size:15px}.hero h1{font-size:32px}}@media (width<=359px){.hero h1{font-size:28px}.dart-content .astro-code{font-size:9px}.stack-names{font-size:14px}}.mobile-blog-link{display:none}.desktop-nav{gap:28px}.journal-page{background:#fff}.blog-nav{align-items:center;gap:34px;font-size:13px;display:flex}.blog-nav a{padding-block:12px}.blog-nav a:hover{opacity:.6}.blog-nav .nav-current{border-bottom:2px solid var(--ink);font-weight:600}.journal-hero{padding-top:37px;padding-bottom:53px}.journal-kicker{font:10px/1.5 var(--mono);letter-spacing:.06em;justify-content:space-between;align-items:center;display:flex}.journal-title-row{justify-content:space-between;align-items:flex-end;gap:50px;margin-top:23px;display:flex}.journal-title-row h1{letter-spacing:-.075em;margin-left:-.045em;font-size:clamp(84px,11.6vw,164px);font-weight:500;line-height:1}.journal-dot{color:var(--ink);isolation:isolate;position:relative}.journal-dot:before{content:"";background:var(--yellow);z-index:-1;height:27px;position:absolute;inset:auto -3px 9px 1px}.journal-intro{max-width:400px;padding-bottom:8px}.journal-intro h2{letter-spacing:-.04em;margin-bottom:16px;font-size:21px;font-weight:550}.journal-intro p{color:#686868;white-space:pre-line;font-size:13px;line-height:1.9}.journal-section-label{border-top:1px solid var(--ink);justify-content:space-between;align-items:center;padding:18px 0;font-size:11px;display:flex}.journal-section-label h2{font:11px var(--mono);letter-spacing:.07em}.journal-section-label>span{color:#777;font-size:11px}.featured-post{border:1px solid var(--line);grid-template-columns:1.15fr 1fr;display:grid;overflow:hidden}.post-cover{aspect-ratio:1.43;isolation:isolate;flex-direction:column;justify-content:space-between;padding:22px 24px;display:flex;position:relative;overflow:hidden}.cover-topline,.cover-bottomline{font:8px/1.4 var(--mono);letter-spacing:.03em;justify-content:space-between;align-items:center;gap:15px;display:flex}.cover-topline>span:first-child{font:600 15px/1 var(--font);letter-spacing:-.6px}.cover-topline>span:last-child{opacity:.6}.cover-bottomline .icon{width:18px;height:18px}.cover-release{background:var(--yellow);color:#000}.cover-message{letter-spacing:-.065em;flex-direction:column;margin:19px 0 28px;font-size:clamp(35px,4.1vw,58px);font-weight:500;line-height:1.01;display:flex}.cover-featured .cover-message{font-size:clamp(60px,6.3vw,90px)}.cover-featured{aspect-ratio:1.46;padding:27px 31px}.featured-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:42px 44px 36px;display:flex}.post-meta{color:#777;font:10px/1.6 var(--mono);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.post-category{font:500 11px/1.6 var(--font);color:var(--ink)}.post-meta>time{border-left:1px solid #ddd;padding-left:12px}.featured-copy h3{white-space:pre-line;letter-spacing:-.045em;margin:26px 0 18px;font-size:clamp(25px,2.65vw,38px);font-weight:550;line-height:1.55}.featured-copy>p{color:#686868;max-width:340px;font-size:13px;line-height:2}.article-read-link{border-bottom:1px solid var(--ink);align-items:center;gap:35px;margin-top:30px;padding-bottom:9px;font-size:12px;font-weight:550;display:inline-flex}.featured-post:hover .article-read-link .icon,.post-card-link:hover .card-read-link .icon{transform:translate(5px)}.article-read-link .icon,.card-read-link .icon{transition:transform .2s}.journal-articles{padding-top:83px;padding-bottom:87px}.articles-heading{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.articles-heading h2{letter-spacing:-.04em;font-size:25px;font-weight:550}.article-count{font:10px var(--mono);color:#777}.article-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-bottom:30px;padding-bottom:26px;display:flex}.filter-button{background:#fff;border:1px solid #ddd;border-radius:3px;padding:9px 17px;font-size:11px;line-height:1.6}.filter-button:hover{background:var(--soft)}.filter-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--yellow)}.article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.post-card[hidden]{display:none}.post-card-link{flex-direction:column;height:100%;display:flex}.post-card-body{flex-direction:column;flex:1;padding-top:23px;display:flex}.post-card h3{letter-spacing:-.04em;white-space:pre-line;margin:16px 0 12px;font-size:23px;font-weight:550;line-height:1.55}.post-card p{color:#777;margin-bottom:24px;font-size:12px;line-height:1.95}.card-read-link{border-bottom:1px solid #d9d9d2;justify-content:space-between;align-items:center;margin-top:auto;padding-bottom:16px;font-size:11px;font-weight:500;display:flex}.journal-footer{background:var(--yellow);padding-top:56px}.journal-footer-top{justify-content:space-between;align-items:center;gap:30px;padding-bottom:49px;display:flex}.journal-footer h2{white-space:pre-line;letter-spacing:-.04em;font-size:34px;font-weight:550;line-height:1.5}.journal-footer .eyebrow{margin-bottom:18px;font-size:9px}.journal-footer-bottom{border-top:1px solid #0003;align-items:center;gap:40px;padding-block:26px;font-size:11px;display:flex}.journal-footer-bottom .brand{margin-right:auto;font-size:25px}.journal-footer-bottom>a:last-child:hover{text-decoration:underline}.back-to-blog{color:#777;font-size:12px;display:inline-block}.back-to-blog:hover{color:#111;text-underline-offset:4px;text-decoration:underline}.article-masthead{max-width:860px;padding-top:31px;padding-bottom:40px}.article-masthead>.back-to-blog{margin-bottom:51px}.article-masthead h1{white-space:pre-line;letter-spacing:-.05em;margin:24px 0;font-size:clamp(32px,4vw,54px);font-weight:550;line-height:1.4}.article-lead{color:#777;max-width:670px;font-size:15px;line-height:1.95}.article-byline{align-items:center;gap:10px;margin-top:28px;font-size:11px;display:flex}.author-monogram{background:var(--yellow);color:#000;place-items:center;width:27px;height:27px;padding-bottom:5px;font-size:26px;font-weight:700;line-height:1;display:grid}.article-cover-wrap{max-width:1060px}.article-cover-wrap .post-cover{aspect-ratio:2.65;max-height:400px;padding:26px 35px}.article-cover-wrap .cover-message{letter-spacing:-.065em;flex-direction:row;gap:.2em;margin:auto 0;font-size:clamp(60px,8.6vw,110px)}.article-layout{grid-template-columns:235px minmax(0,690px);align-items:start;gap:70px;max-width:1060px;padding-top:69px;padding-bottom:60px;display:grid}.article-sidebar{position:sticky;top:35px}.toc-heading{font:10px var(--mono);letter-spacing:.08em;margin-bottom:22px}.article-sidebar ul{color:#8c8c81;margin:0;padding:0 0 0 16px}.article-sidebar li{margin:16px 0;padding-left:6px;font-size:11px;line-height:1.85}.article-sidebar li a:hover{color:#111;text-underline-offset:4px;text-decoration:underline}.article-aside-note{white-space:pre-line;color:#aaa99d;border-top:1px solid var(--line);margin-top:28px;padding-top:22px;font-size:10px;line-height:2}.article-body{min-width:0}.article-body .content{overflow-wrap:anywhere}.article-body .content :not(pre)>code{border:1px solid var(--line);background:var(--soft);border-radius:4px;padding:.1em .35em;font-size:.9em}.article-body .content :is(h2,h3){scroll-margin-top:36px}.article-endmark{letter-spacing:-3px;margin-bottom:30px;font-size:42px;font-weight:600;line-height:1}.article-body>.text-link{font-size:12px}.article-next{border-top:1px solid var(--ink);max-width:1060px;margin-bottom:75px;padding-top:25px}.article-next .eyebrow{margin-bottom:24px}.article-next>a:not(.back-to-blog){justify-content:space-between;align-items:center;gap:40px;display:flex}.article-next h2{letter-spacing:-.04em;font-size:28px;font-weight:500;line-height:1.5}.article-next>a .icon{width:32px;height:32px}.article-next>.back-to-blog{margin-top:26px}@media (width<=1100px){.blog-nav{gap:25px}.journal-title-row{gap:30px}.journal-intro{max-width:330px}.journal-intro h2{font-size:19px}.featured-copy{padding:28px}.post-meta{gap:9px;font-size:9px}.post-category{font-size:10px}.post-meta>time{padding-left:9px}.post-cover{padding:18px}.cover-featured{aspect-ratio:auto;min-height:335px;padding:24px}.post-card h3{font-size:21px}.article-layout{grid-template-columns:195px minmax(0,1fr);gap:45px}.article-grid{gap:22px}.cover-message{font-size:4.3vw}}@media (width<=800px){.blog-header{gap:18px}.blog-nav{gap:20px}.blog-workflow-link{display:none}.desktop-nav{gap:17px}.journal-hero{padding-block:29px 39px}.journal-title-row{flex-direction:column;align-items:flex-start;gap:26px}.journal-title-row h1{font-size:116px}.journal-intro{justify-content:space-between;align-items:start;gap:30px;width:100%;max-width:none;padding:0;display:flex}.journal-intro h2{margin:0;font-size:19px}.journal-intro p{font-size:11px}.featured-post{grid-template-columns:1fr 1fr}.featured-copy{padding:28px 24px}.featured-copy h3{margin-block:20px 14px;font-size:25px}.featured-copy>p{font-size:12px}.article-read-link{margin-top:22px}.cover-featured .cover-message{font-size:49px}.article-grid{gap:18px}.post-cover{aspect-ratio:1.2;padding:14px}.cover-topline>span:first-child{font-size:12px}.cover-topline,.cover-bottomline{font-size:6px}.cover-message{font-size:4.5vw}.post-card h3{font-size:18px}.post-card .post-meta{gap:8px}.post-card .post-meta>span:last-child{display:none}.article-masthead h1{font-size:43px}.article-layout{grid-template-columns:1fr;gap:35px;padding-top:40px}.article-sidebar{position:static}.article-sidebar nav{border:1px solid var(--line);padding:22px}.article-sidebar ul{flex-wrap:wrap;gap:12px 30px;padding-left:16px;display:flex}.article-sidebar li{margin:0}.toc-heading{margin-bottom:17px}.article-aside-note{display:none}.article-cover-wrap .cover-message{font-size:8.4vw}.article-cover-wrap .post-cover{min-height:280px}.article-body{max-width:690px}.article-next h2{font-size:25px}.journal-articles{padding-top:60px}.journal-footer h2{font-size:30px}}@media (width<=560px){.mobile-blog-link{margin-left:auto;font-size:12px;display:block}.site-header>.button{gap:9px;padding-inline:11px}.site-header>.button .icon{width:16px}.blog-header{gap:13px}.blog-header .brand{font-size:25px}.blog-nav{margin-left:auto;font-size:12px}.blog-product-link{display:none}.blog-nav .nav-current{padding-block:9px}.journal-hero{padding-block:25px 33px}.journal-kicker{font-size:8px}.journal-title-row{gap:24px;margin-top:25px}.journal-title-row h1{font-size:clamp(82px,24vw,118px)}.journal-dot:before{bottom:5px;height:19px;inset-inline:0 -1px}.journal-intro{display:block}.journal-intro h2{margin-bottom:13px;font-size:19px}.journal-intro p{font-size:12px}.journal-section-label{padding-block:15px}.journal-section-label h2{font-size:10px}.journal-section-label>span{font-size:9px}.featured-post{grid-template-columns:1fr}.cover-featured{aspect-ratio:1.45;min-height:240px;padding:22px 24px}.cover-featured .cover-message{font-size:clamp(52px,14vw,78px)}.featured-copy{padding:26px 24px 30px}.featured-copy h3{margin-block:20px 16px;font-size:28px;line-height:1.5}.featured-copy>p{max-width:400px;font-size:13px}.post-meta{gap:12px;font-size:10px}.post-category{font-size:11px}.post-meta>time{padding-left:12px}.cover-topline>span:first-child{font-size:16px}.cover-topline,.cover-bottomline{font-size:8px}.journal-articles{padding-block:52px 58px}.articles-heading h2{font-size:23px}.article-count{font-size:9px}.article-filters{gap:6px;margin-bottom:25px;padding-bottom:22px}.filter-button{padding:9px 11px;font-size:10px}.article-grid{grid-template-columns:1fr;gap:35px}.post-card .post-cover{aspect-ratio:1.55;min-height:240px;padding:22px 24px}.post-card .cover-message{font-size:clamp(47px,13vw,67px)}.post-card-body{padding-top:19px}.post-card .post-meta>span:last-child{display:block}.post-card h3{margin-block:15px 12px;font-size:24px}.post-card p{margin-bottom:20px;font-size:13px}.card-read-link{font-size:12px}.journal-footer{padding-top:42px}.journal-footer-top{padding-bottom:35px;display:block}.journal-footer-top .button{gap:28px;min-height:48px;margin-top:27px;font-size:12px}.journal-footer h2{font-size:29px}.journal-footer .eyebrow{font-size:8px}.journal-footer-bottom{flex-wrap:wrap;gap:19px;padding-block:23px;font-size:9px}.journal-footer-bottom .brand{flex-basis:100%;font-size:27px}.journal-footer-bottom>a:last-child{margin-left:auto}.article-masthead{padding-top:25px;padding-bottom:30px}.article-masthead>.back-to-blog{margin-bottom:37px}.article-masthead h1{margin-block:21px;font-size:32px;line-height:1.45}.article-lead{font-size:13px;line-height:2}.article-byline{gap:8px;margin-top:24px;font-size:10px}.article-cover-wrap .post-cover{aspect-ratio:1.45;min-height:240px;padding:20px 22px}.article-cover-wrap .cover-message{flex-direction:column;gap:0;font-size:14vw}.article-layout{gap:35px;padding-top:31px;padding-bottom:45px}.article-sidebar nav{padding:20px}.article-sidebar ul{display:block}.article-sidebar li{margin-block:10px;font-size:11px}.article-sidebar li:last-child{margin-bottom:0}.article-next{margin-bottom:49px;padding-top:22px}.article-next>a:not(.back-to-blog){gap:20px}.article-next h2{font-size:22px}.article-next>a .icon{width:24px}.article-next .eyebrow{font-size:9px}}@media (width<=359px){.site-header{gap:10px}.blog-header .brand,.site-header .brand{font-size:23px}.mobile-blog-link,.blog-nav{font-size:11px}.site-header>.button{padding-inline:9px;font-size:11px}.site-header>.button .icon{display:none}.filter-button{padding-inline:9px}.featured-copy{padding-inline:20px}.featured-copy h3{font-size:25px}.post-meta{gap:8px;font-size:9px}.post-meta>time{padding-left:8px}.post-category{font-size:10px}.article-masthead h1{font-size:28px}}.post-cover{width:100%;min-width:0}.post-card{min-width:0}@media (width<=560px){.featured-post,.article-grid{grid-template-columns:minmax(0,1fr)}}.article-masthead h1,.article-next h2{text-wrap:balance}:root{--primary:#141414;--background:#fff;--text:#141414;--content-headings:oklch(21% .034 264.665);--content-lead:oklch(44.6% .03 256.802);--content-links:oklch(21% .034 264.665);--content-bold:oklch(21% .034 264.665);--content-counters:oklch(55.1% .027 264.364);--content-bullets:oklch(87.2% .01 258.338);--content-hr:oklch(92.8% .006 264.531);--content-quotes:oklch(21% .034 264.665);--content-quote-borders:oklch(92.8% .006 264.531);--content-captions:oklch(55.1% .027 264.364);--content-kbd:oklch(21% .034 264.665);--content-kbd-shadows:oklch(21% .034 264.665);--content-code:oklch(21% .034 264.665);--content-pre-code:oklch(92.8% .006 264.531);--content-pre-bg:oklch(27.8% .033 256.848);--content-th-borders:oklch(87.2% .01 258.338);--content-td-borders:oklch(92.8% .006 264.531)}:root[data-theme=dark]{--content-headings:white;--content-lead:oklch(70.7% .022 261.325);--content-links:white;--content-bold:white;--content-counters:oklch(70.7% .022 261.325);--content-bullets:oklch(44.6% .03 256.802);--content-hr:oklch(37.3% .034 259.733);--content-quotes:oklch(96.7% .003 264.542);--content-quote-borders:oklch(37.3% .034 259.733);--content-captions:oklch(70.7% .022 261.325);--content-kbd:white;--content-kbd-shadows:white;--content-code:white;--content-pre-code:oklch(87.2% .01 258.338);--content-pre-bg:#00000080;--content-th-borders:oklch(44.6% .03 256.802);--content-td-borders:oklch(37.3% .034 259.733)}*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:host,html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;line-height:1.5em}body{line-height:inherit;-webkit-font-smoothing:antialiased;margin:0}hr{height:0;color:inherit;border-top-style:solid;border-top-width:1px}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{position:relative;bottom:-.25em}sup{position:relative;top:-.5em}table{border:solid inherit;text-indent:0;border-collapse:collapse}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-feature-settings:inherit;font-variation-settings:inherit;margin:0;padding:0}button,select{text-transform:none}button,input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre,fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{margin:0;padding:0;list-style-type:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}:root{--content-font:var(--font);--content-code-font:var(--mono)}:host,html{font-family:var(--content-font)}code,kbd,pre,samp{font-family:var(--content-code-font)}body{color:var(--text);background-color:var(--background)}.content{color:var(--text);font-size:1rem;line-height:1.75em}.content :where(a):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-links);font-weight:500;text-decoration:underline}.content :where(strong):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-bold);font-weight:600}.content :where(a strong):not(:where([class~=not-content],[class~=not-content] *)),.content :where(blockquote strong):not(:where([class~=not-content],[class~=not-content] *)),.content :where(thead th strong):not(:where([class~=not-content],[class~=not-content] *)){color:inherit}.content :where(ol):not(:where([class~=not-content],[class~=not-content] *)){list-style-type:decimal}.content :where(ol[type=A]):not(:where([class~=not-content],[class~=not-content] *)){list-style-type:upper-alpha}.content :where(ol[type=a]):not(:where([class~=not-content],[class~=not-content] *)){list-style-type:lower-alpha}.content :where(ol[type=A s]):not(:where([class~=not-content],[class~=not-content] *)){list-style-type:upper-alpha}.content :where(ol[type=a s]):not(:where([class~=not-content],[class~=not-content] *)){list-style-type:lower-alpha}.content :where(ol[type=I]):not(:where([class~=not-content],[class~=not-content] *)){list-style-type:upper-roman}.content :where(ol[type=i]):not(:where([class~=not-content],[class~=not-content] *)){list-style-type:lower-roman}.content :where(ol[type=I s]):not(:where([class~=not-content],[class~=not-content] *)){list-style-type:upper-roman}.content :where(ol[type=i s]):not(:where([class~=not-content],[class~=not-content] *)){list-style-type:lower-roman}.content :where(ol[type="1"]):not(:where([class~=not-content],[class~=not-content] *)){list-style-type:decimal}.content :where(ul):not(:where([class~=not-content],[class~=not-content] *)){list-style-type:disc}.content :where():not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-bullets);font-weight:400}.content :where(dt):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-headings);font-weight:600}.content :where(hr):not(:where([class~=not-content],[class~=not-content] *)){border:solid var(--content-hr);border-top-width:1px}.content :where(blockquote):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--content-quote-borders);quotes:"“" "”" "‘" "’";font-style:italic;font-weight:500}.content :where():not(:where([class~=not-content],[class~=not-content] *)){content:open-quote;content:close-quote}.content :where(h1):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-headings);font-weight:800}.content :where(h1 strong):not(:where([class~=not-content],[class~=not-content] *)){color:inherit;font-weight:900}.content :where(h2):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-headings);font-weight:700}.content :where(h2 strong):not(:where([class~=not-content],[class~=not-content] *)){color:inherit;font-weight:800}.content :where(h3):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-headings);font-weight:600}.content :where(h3 strong):not(:where([class~=not-content],[class~=not-content] *)){color:inherit;font-weight:700}.content :where(h4):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-headings);font-weight:600}.content :where(h4 strong):not(:where([class~=not-content],[class~=not-content] *)){color:inherit;font-weight:700}.content :where(picture):not(:where([class~=not-content],[class~=not-content] *)){display:block}.content :where(kbd):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-kbd);font-family:inherit;font-weight:500}.content :where(code):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-code);font-weight:600}.content :where():not(:where([class~=not-content],[class~=not-content] *)){content:"`";content:"`"}.content :where(a code):not(:where([class~=not-content],[class~=not-content] *)),.content :where(h1 code):not(:where([class~=not-content],[class~=not-content] *)),.content :where(h2 code):not(:where([class~=not-content],[class~=not-content] *)),.content :where(h3 code):not(:where([class~=not-content],[class~=not-content] *)),.content :where(h4 code):not(:where([class~=not-content],[class~=not-content] *)),.content :where(blockquote code):not(:where([class~=not-content],[class~=not-content] *)),.content :where(thead th code):not(:where([class~=not-content],[class~=not-content] *)){color:inherit}.content :where(pre):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-pre-code);background-color:var(--content-pre-bg);font-weight:400;overflow-x:auto}.content :where(pre code):not(:where([class~=not-content],[class~=not-content] *)){color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;background-color:#0000;border:0 solid;border-radius:0;padding:0}.content :where():not(:where([class~=not-content],[class~=not-content] *)){content:none;content:none}.content :where(table):not(:where([class~=not-content],[class~=not-content] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em}.content :where(thead):not(:where([class~=not-content],[class~=not-content] *)){border-bottom-style:solid;border-bottom-color:var(--content-th-borders);border-bottom-width:1px}.content :where(thead th):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-headings);vertical-align:bottom;font-weight:600}.content :where(tbody tr):not(:where([class~=not-content],[class~=not-content] *)){border-bottom-style:solid;border-bottom-color:var(--content-td-borders);border-bottom-width:1px}.content :where(tbody tr:last-child):not(:where([class~=not-content],[class~=not-content] *)){border-bottom-style:solid;border-bottom-width:0}.content :where(tbody td):not(:where([class~=not-content],[class~=not-content] *)){vertical-align:baseline}.content :where(tfoot):not(:where([class~=not-content],[class~=not-content] *)){border-top-style:solid;border-top-color:var(--content-th-borders);border-top-width:1px}.content :where(tfoot td):not(:where([class~=not-content],[class~=not-content] *)){vertical-align:top}.content :where(th,td):not(:where([class~=not-content],[class~=not-content] *)){text-align:start}.content :where(figcaption):not(:where([class~=not-content],[class~=not-content] *)){color:var(--content-captions)}.content :where(p):not(:where([class~=not-content],[class~=not-content] *)){margin-top:1.25em;margin-bottom:1.25em}.content :where(blockquote):not(:where([class~=not-content],[class~=not-content] *)){margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.content :where(h1):not(:where([class~=not-content],[class~=not-content] *)){margin-top:0;margin-bottom:.88em;font-size:2.25em;line-height:1.11em}.content :where(h2):not(:where([class~=not-content],[class~=not-content] *)){margin-top:1.5em;margin-bottom:1em;font-size:1.5em;line-height:1.33em}.content :where(h3):not(:where([class~=not-content],[class~=not-content] *)){margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;line-height:1.6em}.content :where(h4):not(:where([class~=not-content],[class~=not-content] *)){margin-top:2em;margin-bottom:.5em;line-height:1.5em}.content :where(img):not(:where([class~=not-content],[class~=not-content] *)),.content :where(picture):not(:where([class~=not-content],[class~=not-content] *)){margin-top:2em;margin-bottom:2em}.content :where(picture>img):not(:where([class~=not-content],[class~=not-content] *)){margin-top:0;margin-bottom:0}.content :where(video):not(:where([class~=not-content],[class~=not-content] *)){margin-top:2em;margin-bottom:2em}.content :where(kbd):not(:where([class~=not-content],[class~=not-content] *)){border-radius:.3125rem;padding:.1875rem .375rem;font-size:.875em}.content :where(code):not(:where([class~=not-content],[class~=not-content] *)),.content :where(h2 code):not(:where([class~=not-content],[class~=not-content] *)){font-size:.875em}.content :where(h3 code):not(:where([class~=not-content],[class~=not-content] *)){font-size:.9em}.content :where(pre):not(:where([class~=not-content],[class~=not-content] *)){border-radius:.375rem;margin-top:1.71em;margin-bottom:1.71em;padding:.857em 1.14em;font-size:.875em;line-height:1.71em}.content :where(ol):not(:where([class~=not-content],[class~=not-content] *)),.content :where(ul):not(:where([class~=not-content],[class~=not-content] *)){margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.content :where(li):not(:where([class~=not-content],[class~=not-content] *)){margin-top:.5em;margin-bottom:.5em}.content :where(ol>li):not(:where([class~=not-content],[class~=not-content] *)),.content :where(ul>li):not(:where([class~=not-content],[class~=not-content] *)){padding-left:.375em}.content :where():not(:where([class~=not-content],[class~=not-content] *)){margin-top:1.25em;margin-bottom:1.25em}.content :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-content],[class~=not-content] *)){margin-top:.75em;margin-bottom:.75em}.content :where(dl):not(:where([class~=not-content],[class~=not-content] *)){margin-top:1.25em;margin-bottom:1.25em}.content :where(dt):not(:where([class~=not-content],[class~=not-content] *)){margin-top:1.25em}.content :where(dd):not(:where([class~=not-content],[class~=not-content] *)){margin-top:.5em;padding-left:1.625em}.content :where(hr):not(:where([class~=not-content],[class~=not-content] *)){margin-top:3em;margin-bottom:3em}.content :where(hr+*):not(:where([class~=not-content],[class~=not-content] *)),.content :where(h2+*):not(:where([class~=not-content],[class~=not-content] *)),.content :where(h3+*):not(:where([class~=not-content],[class~=not-content] *)),.content :where(h4+*):not(:where([class~=not-content],[class~=not-content] *)){margin-top:0}.content :where(table):not(:where([class~=not-content],[class~=not-content] *)){font-size:.875em;line-height:1.71em}.content :where(thead th):not(:where([class~=not-content],[class~=not-content] *)){padding-bottom:.57em;padding-left:.57em;padding-right:.57em}.content :where(thead th:first-child):not(:where([class~=not-content],[class~=not-content] *)){padding-left:0}.content :where(thead th:last-child):not(:where([class~=not-content],[class~=not-content] *)){padding-right:0}.content :where(tbody td,tfoot td):not(:where([class~=not-content],[class~=not-content] *)){padding:.57em}.content :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-content],[class~=not-content] *)){padding-left:0}.content :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-content],[class~=not-content] *)){padding-right:0}.content :where(figure):not(:where([class~=not-content],[class~=not-content] *)){margin-top:2em;margin-bottom:2em}.content :where(figure>*):not(:where([class~=not-content],[class~=not-content] *)){margin-top:0;margin-bottom:0}.content :where(figcaption):not(:where([class~=not-content],[class~=not-content] *)){margin-top:.857em;font-size:.875em;line-height:1.42em}.content :where():not(:where([class~=not-content],[class~=not-content] *)){margin-top:0;margin-bottom:0}:is(h1,h2,h3,h4,h5,h6)[anchor=true]{align-items:baseline;column-gap:.5rem;display:flex}:is(h1,h2,h3,h4,h5,h6)[anchor=true]>a{opacity:0;font-size:.8em;text-decoration:none;transition:opacity .3s}:is(h1,h2,h3,h4,h5,h6)[anchor=true]:hover>a{opacity:.8}:is(h1,h2,h3,h4,h5,h6)[anchor=true]>a:hover{opacity:1}.code-block{position:relative}.code-block button{z-index:10;opacity:0;color:#fff;width:1.25rem;height:1.25rem;position:absolute;top:1rem;right:1rem}.code-block:hover button{opacity:.75}[data-heading-anchor]:before{content:"#"}.astro-code{--astro-code-foreground:var(--code-text,var(--content-pre-code,#ddd));--astro-code-background:var(--code-bg,var(--content-pre-bg,#1b1d1b));--astro-code-token-comment:var(--code-muted,#99a390);--astro-code-token-keyword:var(--code-keyword,#fffb00);--astro-code-token-string:var(--code-string,#bacdab);--astro-code-token-string-expression:var(--code-string,#bacdab);--astro-code-token-constant:var(--code-keyword,#fffb00);--astro-code-token-parameter:var(--astro-code-foreground);--astro-code-token-function:var(--astro-code-foreground);--astro-code-token-punctuation:var(--astro-code-foreground);--astro-code-token-link:var(--code-string,#bacdab);--astro-code-token-inserted:var(--code-string,#bacdab);--astro-code-token-deleted:#e57373;--astro-code-token-changed:var(--code-keyword,#fffb00)}.astro-code code{font:inherit}.code-block .d-icon{vertical-align:middle;flex-shrink:0;width:20px;height:20px;display:inline-block}
