:root{--color-bg:#fff;--color-surface:#eef7f8;--color-surface-deep:#deeff1;--color-ink:#08191e;--color-muted:#46595f;--color-border:#c6d4d6;--color-border-strong:#9dafb2;--color-border-control:#7b8d90;--color-primary:#006568;--color-primary-strong:#00484a;--color-primary-soft:#cef0f0;--color-primary-tint:#eef9fa;--color-primary-ink:#003032;--color-signal:#fbdd67;--color-signal-soft:#fff4ca;--color-signal-border:#dcbb50;--color-signal-ink:#4f3906;--color-focus:#00537c;--font-sans:"Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-h1:clamp(2.35rem, 2rem + 2.3vw, 4.85rem);--text-h2:clamp(2rem, 1.65rem + 1.4vw, 2.75rem);--text-h3:clamp(1.3rem, 1.2rem + .45vw, 1.75rem);--text-body:clamp(1.0625rem, 1.03rem + .15vw, 1.1875rem);--leading-body:1.7;--layout-max:75rem;--layout-gutter:clamp(1.25rem, 4vw, 2.5rem);--space-section:clamp(3.5rem, 7vw, 6.5rem);--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--ease-out:cubic-bezier(.2, .85, .25, 1);--ease-frame:cubic-bezier(.16, 1, .3, 1);--dur-fast:.14s;--dur-base:.22s;--dur-signature:1.2s;--ring-focus:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-focus);--ring-focus-oncolor:0 0 0 2px var(--color-primary-strong), 0 0 0 4px var(--color-signal)}@supports (color:lab(0% 0 0)){:root{--color-bg:lab(100% 0 0);--color-surface:lab(96.6197% -3.16557 -1.32873);--color-surface-deep:lab(93.2036% -5.47615 -2.93233);--color-ink:lab(7.35149% -5.2792 -5.92142);--color-muted:lab(36.3457% -6.21535 -6.06404);--color-border:lab(83.8824% -4.34765 -2.88098);--color-border-strong:lab(70.0023% -5.78144 -3.8304);--color-border-control:lab(57.2578% -6.34536 -4.20384);--color-primary:lab(38.2596% -28.6719 -10.4352);--color-primary-strong:lab(26.5563% -25.4525 -9.23496);--color-primary-soft:lab(92.2387% -11.2146 -4.18683);--color-primary-tint:lab(97.2235% -3.84751 -1.44409);--color-primary-ink:lab(17.078% -19.0971 -6.93517);--color-signal:lab(88.9506% .921518 60.2904);--color-signal-soft:lab(96.2387% -.991315 21.5072);--color-signal-border:lab(77.2133% 3.49158 56.91);--color-signal-ink:lab(25.7982% 6.61133 32.417);--color-focus:lab(32.361% -9.15895 -40.0734)}}html,html[data-theme=dark],html[data-theme=light]{background:var(--color-bg);color:var(--color-ink);opacity:1;scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);text-rendering:optimizelegibility;min-width:20rem}::selection{background:var(--color-signal);color:var(--color-signal-ink)}:where(a){color:inherit;text-underline-offset:.16em;text-decoration-color:#00656873;text-decoration-color:lab(38.2596% -28.6719 -10.4352/.45);text-decoration-thickness:1px}:where(a):hover{color:var(--color-primary-strong)}:where(a,button,summary,input,select,textarea):focus-visible{box-shadow:var(--ring-focus);border-radius:.25rem;outline:none}:where(h1,h2,h3,h4,h5,h6){color:var(--color-ink);font-family:var(--font-sans);letter-spacing:-.015em;text-wrap:balance;font-weight:700;line-height:1.16}:where(p,li){text-wrap:pretty}:where(code,pre,kbd,samp){font-family:var(--font-mono)}.cw-shell{max-width:var(--layout-max);padding-inline:var(--layout-gutter);width:100%;margin-inline:auto}.cw-srOnly{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cw-skipLink{background:var(--color-ink);color:#fff;transition:top var(--dur-fast) var(--ease-out);z-index:100;padding:.65rem 1rem;position:fixed;top:-5rem;left:1rem}.cw-skipLink:focus{color:#fff;top:1rem}.cw-siteHeader{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);z-index:40;background:#ffffffeb;background:lab(100% 0 0/.92);position:sticky;top:0}.cw-headerInner{align-items:center;gap:2rem;min-height:4.75rem;display:flex}.cw-wordmark{color:var(--color-ink);flex:none;align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.cw-wordmark img{width:2.35rem;height:2.35rem}.cw-wordmark>span{line-height:1.08;display:grid}.cw-wordmark strong{letter-spacing:-.01em;font-size:1.12rem}.cw-wordmark small{color:var(--color-muted);margin-top:.22rem;font-size:.76rem}.cw-desktopNav{align-items:center;gap:clamp(1rem,2.2vw,1.75rem);margin-left:auto;display:flex}.cw-desktopNav a,.cw-utilityLinks a{color:var(--color-ink);align-items:center;min-height:2.75rem;font-size:.92rem;text-decoration:none;display:inline-flex}.cw-desktopNav a:hover,.cw-utilityLinks a:hover{color:var(--color-primary)}.cw-utilityLinks{align-items:center;gap:.45rem;display:flex}.cw-utilityLinks a{justify-content:center;gap:.45rem;min-width:2.75rem}.cw-utilityLinks a:first-child{border:1px solid var(--color-border-control);border-radius:var(--radius-sm);padding-inline:.7rem .45rem}.cw-utilityLinks kbd{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);border-radius:.2rem;padding:.22rem .34rem;font-size:.7rem;line-height:1}.cw-mobileNav{margin-left:auto;display:none;position:relative}.cw-mobileNav summary{border:1px solid var(--color-border-control);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 .75rem;font-size:.92rem;display:flex}.cw-mobileNav summary::marker{display:none}.cw-mobileNavPanel{background:var(--color-bg);border:1px solid var(--color-border-control);border-radius:var(--radius-md);min-width:min(19rem,100vw - 2.5rem);padding:.75rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 12px 40px #08191e29;box-shadow:0 12px 40px lab(7.35149% -5.2792 -5.92142/.16)}.cw-mobileNavPanel nav{display:grid}.cw-mobileNavPanel nav a{border-bottom:1px solid var(--color-border);min-height:2.75rem;padding:.55rem;text-decoration:none}.cw-featuredSection{background:var(--color-primary-tint);padding-block:clamp(2.25rem, 4vw, 4rem) var(--space-section)}.cw-intro{color:var(--color-primary-ink);max-width:47rem;margin-bottom:clamp(2rem,4vw,3.5rem);font-size:clamp(1.15rem,1rem + .55vw,1.45rem);line-height:1.45}.cw-contextFrame{background:var(--color-bg);border:1px solid var(--color-border);position:relative}.cw-frameCorner{border-color:var(--color-primary);pointer-events:none;z-index:2;width:2rem;height:2rem;position:absolute}.cw-frameCorner--tl{border-left:2px solid var(--color-primary);border-top:2px solid var(--color-primary);top:-.55rem;left:-.55rem}.cw-frameCorner--tr{border-right:2px solid var(--color-primary);border-top:2px solid var(--color-primary);top:-.55rem;right:-.55rem}.cw-frameCorner--bl{border-bottom:2px solid var(--color-primary);border-left:2px solid var(--color-primary);bottom:-.55rem;left:-.55rem}.cw-frameCorner--br{border-bottom:2px solid var(--color-primary);border-right:2px solid var(--color-primary);bottom:-.55rem;right:-.55rem}.cw-contextFrame--animated .cw-frameCorner{animation:cw-frame-settle var(--dur-signature) var(--ease-frame) both}.cw-contextFrame--animated .cw-frameCorner--tl{--frame-x:-1.5rem;--frame-y:-1.5rem}.cw-contextFrame--animated .cw-frameCorner--tr{--frame-x:1.5rem;--frame-y:-1.5rem;animation-delay:60ms}.cw-contextFrame--animated .cw-frameCorner--bl{--frame-x:-1.5rem;--frame-y:1.5rem;animation-delay:.12s}.cw-contextFrame--animated .cw-frameCorner--br{--frame-x:1.5rem;--frame-y:1.5rem;animation-delay:.18s}@keyframes cw-frame-settle{0%{opacity:.25;transform:translate(var(--frame-x), var(--frame-y))}to{opacity:1;transform:translate(0)}}.cw-windowBar{background:var(--color-surface);border-bottom:1px solid var(--color-border);font-family:var(--font-mono);align-items:center;gap:.6rem;min-height:2.45rem;padding-inline:.8rem;font-size:.72rem;display:flex;overflow:hidden}.cw-windowBar>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cw-windowBar strong{background:var(--color-signal);border:1px solid var(--color-signal-border);color:var(--color-signal-ink);font-family:var(--font-sans);border-radius:.25rem;margin-left:auto;padding:.16rem .5rem;font-size:.76rem;font-weight:600}.cw-windowDot{background:var(--color-primary);border-radius:50%;flex:none;width:.45rem;height:.45rem}.cw-featuredStory{grid-template-columns:minmax(0,1.35fr) minmax(20rem,1fr);min-height:30rem;display:grid}.cw-featuredCopy{align-self:center;padding:clamp(2rem,4vw,3.5rem)}.cw-featuredCopy h1{max-width:18ch;margin-block:1.2rem 1.5rem;font-size:clamp(2.35rem,2rem + 1.2vw,2.875rem)}.cw-featuredCopy h1 a{color:var(--color-ink);text-decoration:none}.cw-featuredCopy>p{color:var(--color-muted);max-width:40rem;line-height:1.65}.cw-articleMeta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:.6rem 1rem;font-size:.78rem;display:flex}.cw-articleMeta>*{align-items:center;gap:.32rem;display:inline-flex}.cw-articleMeta>*+:before{color:var(--color-border-strong);content:"/";margin-right:.4rem}.cw-topicList{flex-wrap:wrap;gap:.45rem;margin-top:1.35rem;display:flex}.cw-topicList span{background:var(--color-primary-soft);border:1px solid var(--color-border);color:var(--color-primary-ink);border-radius:999px;padding:.22rem .58rem;font-size:.76rem;line-height:1.3}.cw-textAction{color:var(--color-primary);align-items:center;gap:.55rem;min-height:2.75rem;margin-top:1.75rem;font-weight:600;display:inline-flex}.cw-codeExcerpt{border-left:1px solid var(--color-border);background:#f6fbfc;background:lab(98.3148% -1.82915 -.981021);align-content:center;align-self:stretch;min-width:0;margin:0;display:grid}.cw-codeExcerpt figcaption{border-bottom:1px solid var(--color-border);color:var(--color-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;min-height:2.6rem;padding-inline:.75rem;font-size:.72rem;display:flex;overflow:hidden}.cw-codeExcerpt pre{color:#12272e;color:lab(14.3219% -7.16373 -7.16007);padding:clamp(1.25rem,3vw,2rem);font-size:clamp(.78rem,.74rem + .22vw,.92rem);line-height:1.75;overflow-x:auto}.cw-codeExcerpt>p{border-top:1px solid var(--color-border);color:var(--color-muted);padding:.85rem 1rem;font-size:.82rem;line-height:1.5}.syn-keyword{color:#5a358c;color:lab(30.4691% 31.613 -43.226)}.syn-fn{color:#005380;color:lab(32.4347% -9.47297 -37.081)}.cw-latestSection,.cw-projectSection{padding-block:var(--space-section)}.cw-sectionHead{border-bottom:2px solid var(--color-ink);justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.cw-sectionHead h2{font-size:var(--text-h2)}.cw-sectionHead p{color:var(--color-muted);margin-top:.35rem;font-size:.92rem}.cw-sectionHead>a{flex:none;font-size:.9rem;font-weight:600}.cw-articleList{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cw-articleRow{border-bottom:1px solid var(--color-border);min-width:0;padding:clamp(1.5rem,3vw,2.25rem)}.cw-articleRow:nth-child(2n){border-left:1px solid var(--color-border)}.cw-articleRow--lead{background:var(--color-primary-tint);border:1px solid var(--color-border);border-radius:var(--radius-sm);grid-column:1/-1;margin-bottom:.75rem}.cw-articleRow h3{font-size:var(--text-h3);margin-block:.8rem}.cw-articleRow--lead h3{max-width:28ch;font-size:clamp(1.65rem,1.4rem + 1vw,2.4rem)}.cw-articleRow h3 a{color:var(--color-ink);text-decoration:none}.cw-articleRow h3 a:hover{color:var(--color-primary)}.cw-articleRow>p{color:var(--color-muted);max-width:52rem;font-size:.98rem;line-height:1.65}.cw-articleRowFoot{justify-content:space-between;align-items:end;gap:1rem;display:flex}.cw-repoRef{color:var(--color-muted);font-family:var(--font-mono);flex:none;align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.cw-topicBand{background:var(--color-primary);color:#fff;padding-block:var(--space-section)}.cw-sectionHead--onColor{border-bottom-color:#ffffff80;border-bottom-color:lab(100% 0 0/.5)}.cw-sectionHead--onColor h2,.cw-sectionHead--onColor p,.cw-sectionHead--onColor a{color:#fff}.cw-topicGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.cw-topicPath{border-radius:var(--radius-sm);color:#fff;min-height:15rem;transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:1px solid #ffffff52;border:1px solid lab(100% 0 0/.32);flex-direction:column;padding:clamp(1.1rem,2vw,1.6rem);text-decoration:none;display:flex;position:relative}.cw-topicPath+.cw-topicPath{border-left:1px solid #ffffff52;border-left:1px solid lab(100% 0 0/.32)}.cw-topicPath:hover{background:var(--color-primary-strong);color:#fff;transform:translateY(-1px)}.cw-topicPath:focus-visible{box-shadow:var(--ring-focus-oncolor)}.cw-topicPathIcon{border-radius:var(--radius-sm);border:1px solid #ffffff8c;border:1px solid lab(100% 0 0/.55);justify-content:center;align-items:center;width:2.4rem;height:2.4rem;margin-bottom:1rem;display:inline-flex}.cw-topicPathTitle{gap:.15rem;display:grid}.cw-topicPathTitle strong{font-size:1.1rem}.cw-topicPathTitle small,.cw-topicPath>small{color:#cce3e4;color:lab(88.6566% -8.01259 -2.99741);font-size:.72rem}.cw-topicPath>span:nth-child(3){margin-block:1.2rem auto;font-size:.9rem;line-height:1.55}.cw-topicPath>small{padding-right:1.2rem;line-height:1.45}.cw-topicPathArrow{position:absolute;bottom:1.55rem;right:1rem}.cw-evidencePledge{color:#d6e9e9;color:lab(90.9255% -6.41105 -2.40134);border-top:1px solid #fff6;border-top:1px solid lab(100% 0 0/.4);align-items:flex-start;gap:.55rem;margin-top:1.5rem;padding-top:1rem;font-size:.78rem;line-height:1.55;display:flex}.cw-evidencePledge svg{flex:none;margin-top:.15rem}.cw-projectLayout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);display:grid}.cw-projectPreview{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);overflow-wrap:anywhere;min-width:0;padding:clamp(1.5rem,3vw,2.25rem)}.cw-projectTopline{color:var(--color-muted);justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.cw-projectTopline>span{align-items:center;gap:.4rem;display:inline-flex}.cw-status{color:#053e1d;color:lab(22.1327% -24.8799 14.9754);background:#ddf8e3;background:lab(95.3165% -12.0785 7.08538);border:1px solid #88bd95;border:1px solid lab(72.0532% -24.3417 14.3668);border-radius:999px;padding:.14rem .5rem}.cw-projectPreview h3{font-family:var(--font-mono);overflow-wrap:anywhere;min-width:0;margin-block:1.1rem .75rem;font-size:clamp(1.2rem,1.05rem + .5vw,1.55rem)}.cw-projectPreview h3 a{display:inline}.cw-projectPreview>p{color:var(--color-muted);font-size:.96rem;line-height:1.65}.cw-fileStart{background:var(--color-primary-tint);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:.3rem;margin-top:1.5rem;padding:.75rem;font-size:.78rem;display:grid}.cw-fileStart code{color:var(--color-primary-ink);text-overflow:ellipsis;overflow:hidden}.cw-fileStart span{color:var(--color-muted)}.cw-projectList{border-top:1px solid var(--color-border)}.cw-projectRow{border-bottom:1px solid var(--color-border);color:var(--color-ink);grid-template-columns:10rem minmax(0,1fr) 5rem auto;align-items:center;gap:1rem;min-height:5.2rem;padding:.9rem .5rem;text-decoration:none;display:grid}.cw-projectRow:hover{background:var(--color-primary-tint);color:var(--color-primary-strong)}.cw-projectRow>span:first-child{align-items:center;gap:.45rem;display:flex}.cw-projectRow>span:nth-child(2),.cw-projectRow small{color:var(--color-muted);font-size:.82rem;line-height:1.45}.cw-newsletterBand{background:#fff;padding-block:clamp(3rem,6vw,5rem)}.cw-newsletterInner{background:var(--color-surface-deep);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:minmax(14rem,.8fr) minmax(22rem,1.2fr);align-items:start;gap:2rem;padding-block:clamp(1.5rem,3vw,2.25rem);display:grid}.cw-newsletterIntro{align-items:flex-start;gap:1rem;display:flex}.cw-newsletterInner h2{font-size:1.4rem}.cw-newsletterInner p{color:var(--color-muted);margin-top:.25rem;font-size:.9rem}.cw-newsletterSubscribe{min-width:0}.cw-newsletterForm{gap:.75rem;width:100%;display:grid}.cw-newsletterFields{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;display:grid}.cw-newsletterFields label{gap:.35rem;min-width:0;display:grid}.cw-newsletterFields label>span{color:var(--color-ink);font-size:.78rem;font-weight:700}.cw-newsletterFields input[type=email]{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-ink);font:inherit;background:#fff;width:100%;min-width:0;height:2.75rem;padding:.55rem .7rem}.cw-newsletterFields input[type=email]::placeholder{color:var(--color-muted);opacity:1}.cw-newsletterFields input[type=email]:focus-visible,.cw-newsletterChoice input:focus-visible,.cw-newsletterPromptClose:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.cw-newsletterChoice{color:var(--color-muted);grid-template-columns:1rem minmax(0,1fr);align-items:flex-start;gap:.55rem;font-size:.78rem;line-height:1.45;display:grid}.cw-newsletterChoice input{accent-color:var(--color-primary);width:1rem;height:1rem;margin:.15rem 0 0}.cw-newsletterLegal,.cw-newsletterAvailability,.cw-newsletterError{line-height:1.45;margin:0!important;font-size:.76rem!important}.cw-newsletterAvailability{color:var(--color-ink)!important}.cw-newsletterError{color:var(--color-danger,#9f2d20)!important}.cw-newsletterRss{color:var(--color-primary-strong);align-items:center;gap:.4rem;margin-top:.8rem;font-size:.78rem;display:inline-flex}.cw-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.cw-newsletterResult{color:var(--color-primary-strong);align-items:flex-start;gap:.6rem;display:flex}.cw-newsletterResult p{margin:0}.cw-button:disabled{cursor:not-allowed;opacity:.62}.cw-spin{animation:.8s linear infinite cw-spin}.cw-articleNewsletter{border-block:1px solid var(--color-border);grid-template-columns:minmax(11rem,.65fr) minmax(18rem,1.35fr);gap:1.25rem;margin-block:3rem 2rem;padding-block:1.5rem;display:grid}.cw-articleNewsletter h2{font-size:1.15rem}.cw-articleNewsletter>div>p{color:var(--color-muted);margin-top:.35rem;font-size:.86rem;line-height:1.5}.cw-newsletterPrompt{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-ink);background:#fff;width:100%;max-width:min(34rem,100vw - 2rem);max-height:calc(100dvh - 2rem);margin:auto;padding:2rem;overflow:auto}.cw-newsletterPrompt::backdrop{background:#0c202694}.cw-newsletterPromptClose{border-radius:var(--radius-sm);color:var(--color-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-left:auto;display:flex}.cw-newsletterPromptClose:hover{background:var(--color-surface-deep);color:var(--color-ink)}.cw-newsletterPromptLabel{color:var(--color-primary-strong);font-family:var(--font-mono);margin:0 0 .55rem;font-size:.76rem}.cw-newsletterPrompt h2{text-wrap:balance;max-width:20ch;font-size:1.65rem;line-height:1.15}.cw-newsletterPrompt>p:not(.cw-newsletterPromptLabel){color:var(--color-muted);max-width:56ch;margin-block:.75rem 1.4rem;line-height:1.55}.cw-newsletterLifecyclePage{align-items:center;min-height:min(42rem,100dvh - 12rem);padding-block:4rem;display:flex}.cw-newsletterLifecycle{border-block:1px solid var(--color-border);gap:1rem;width:100%;max-width:42rem;padding-block:2rem;display:grid}.cw-newsletterLifecycle h1{text-wrap:balance;font-size:2rem;line-height:1.15}.cw-newsletterLifecycle>p:not(.cw-newsletterPromptLabel){color:var(--color-muted);max-width:60ch;line-height:1.6}.cw-newsletterLifecycle .cw-button{justify-self:start}.cw-newsletterLifecycleChoice{background:var(--color-surface-deep);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.9rem}.cw-newsletterLifecycleResult{align-items:flex-start;gap:.6rem;display:flex}.cw-newsletterLifecycleResult p{margin:0}.cw-newsletterLifecycleResult--done{color:var(--color-primary-strong)}.cw-newsletterLifecycleResult--error{color:var(--color-danger,#9f2d20)}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:#fff;flex:none;align-items:center;gap:.55rem;min-height:2.75rem;padding:.55rem .9rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.cw-button:hover{background:var(--color-primary-strong);color:#fff}.cw-siteFooter{background:var(--color-surface-deep);border-top:1px solid var(--color-border);color:var(--color-ink);padding-block:clamp(3rem,6vw,5rem) 1.5rem}.cw-siteFooter .cw-wordmark,.cw-siteFooter .cw-wordmark:hover{color:var(--color-ink)}.cw-footerGrid{grid-template-columns:minmax(16rem,2fr) repeat(3,1fr);gap:2rem;display:grid}.cw-footerNote{color:var(--color-muted);max-width:25rem;margin-top:1rem;font-size:.86rem;line-height:1.55}.cw-footerColumn{align-content:start;gap:.55rem;display:grid}.cw-footerColumn h2{color:var(--color-ink);margin-bottom:.25rem;font-size:.88rem}.cw-footerColumn a{color:var(--color-muted);font-size:.82rem;text-decoration:none}.cw-footerColumn a:hover{color:var(--color-primary-strong);text-decoration:underline}.cw-footerBase{border-top:1px solid var(--color-border);color:var(--color-muted);justify-content:space-between;gap:1.5rem;margin-top:3rem;padding-top:1rem;font-size:.72rem;display:flex}.payload-richtext{color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);text-wrap:pretty;max-width:68ch}.payload-richtext :where(h2,h3,h4){margin-top:2.5em}.payload-richtext :where(a){color:var(--color-primary)}.payload-richtext :where(pre){border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#f6fbfc;background:lab(98.3148% -1.82915 -.981021);overflow-x:auto}.cw-staticPage{padding-block:var(--space-section)}.cw-pageIntro{max-width:50rem}.cw-pageIntro h1{font-size:var(--text-h1);overflow-wrap:anywhere;max-width:min(18ch,100%)}.cw-pageIntro>p{color:var(--color-muted);max-width:44rem;margin-top:1.5rem;font-size:clamp(1.08rem,1rem + .35vw,1.3rem);line-height:1.65}.cw-cmsProse{gap:.95rem;max-width:44rem;margin-top:1.5rem;display:grid}.cw-cmsProse h2{font-size:var(--text-h3);margin-top:.85rem}.cw-cmsProse p,.cw-cmsProse li{color:var(--color-ink);font-size:var(--text-body);line-height:var(--leading-body)}.cw-cmsProse a{color:var(--color-primary-strong)}.cw-cmsProse ul{padding-left:1.2rem}.cw-newsletterPageForm{max-width:44rem;margin-top:2.25rem}.cw-indexList,.cw-repositoryList{border-top:2px solid var(--color-ink);margin-top:clamp(3rem,6vw,5rem)}.cw-repositoryFeaturedGrid{border-top:2px solid var(--color-ink);grid-template-columns:minmax(0,1fr);gap:1.25rem;max-width:50rem;margin-top:clamp(3rem,6vw,5rem);padding-top:1rem;display:grid}.cw-repositoryFeaturedGrid .cw-repository--featured{margin-top:0}.cw-repositoryCompactSection{margin-top:clamp(3rem,6vw,5rem)}.cw-repositoryCompactSection>h2{font-size:var(--text-h2);margin-bottom:1rem}.cw-repositoryCompactList{border-top:2px solid var(--color-ink)}.cw-indexList>a{border-bottom:1px solid var(--color-border);color:var(--color-ink);grid-template-columns:3rem 1fr auto;align-items:center;gap:1rem;min-height:6.5rem;padding:1rem .5rem;text-decoration:none;display:grid}.cw-indexList>a:hover{background:var(--color-primary-tint);color:var(--color-primary-strong)}.cw-indexIcon{border:1px solid var(--color-border-control);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.cw-indexList>a>span:nth-child(2){display:grid}.cw-indexList strong{font-size:1.1rem}.cw-indexList small{color:var(--color-muted);font-size:.9rem;line-height:1.5}.cw-repository{border-bottom:1px solid var(--color-border);min-width:0;padding-block:clamp(1.75rem,4vw,3rem)}.cw-repository--featured{background:var(--color-primary-tint);border:1px solid var(--color-border-strong);overflow-wrap:anywhere;margin-top:2rem;padding-inline:clamp(1.25rem,3vw,2.25rem)}.cw-repositoryHeading{color:var(--color-muted);justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.cw-repositoryHeading>span{align-items:center;gap:.4rem;display:inline-flex}.cw-repository :where(h2,h3){font-family:var(--font-mono);font-size:var(--text-h3);overflow-wrap:anywhere;min-width:0;margin-block:1rem .7rem}.cw-repository :where(h2,h3) a{display:inline}.cw-repository--compact{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr) minmax(0,auto);align-items:center;gap:.5rem 2rem;display:grid}.cw-repository--compact>*{min-width:0}.cw-repository--compact .cw-repositoryHeading,.cw-repository--compact :where(h2,h3){grid-column:1}.cw-repository--compact .cw-repositoryHeading{grid-row:1}.cw-repository--compact :where(h2,h3){grid-row:2;margin-block:0}.cw-repository--compact>p{grid-area:1/2/span 2}.cw-repository--compact .cw-repositoryStart{grid-area:1/3/span 2;margin-top:0}.cw-repository>p{color:var(--color-muted);max-width:50rem}.cw-repositoryStart{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem;font-size:.8rem;display:flex}.cw-repositoryStart code{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-primary-ink);text-overflow:ellipsis;border-radius:.25rem;max-width:100%;padding:.2rem .4rem;overflow:hidden}.cw-aboutTop{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-items:start;gap:clamp(3rem,8vw,7rem);display:grid}.cw-factFrame{border:1px solid var(--color-border);position:relative}.cw-factFrame:before,.cw-factFrame:after{border-color:var(--color-primary);content:"";pointer-events:none;width:2.25rem;height:2.25rem;position:absolute}.cw-factFrame:before{border-left:2px solid var(--color-primary);border-top:2px solid var(--color-primary);top:-.55rem;left:-.55rem}.cw-factFrame:after{border-bottom:2px solid var(--color-primary);border-right:2px solid var(--color-primary);bottom:-.55rem;right:-.55rem}.cw-factFrame>span{background:var(--color-surface);border-bottom:1px solid var(--color-border);font-family:var(--font-mono);padding:.65rem .8rem;font-size:.75rem;display:block}.cw-factFrame dl{padding:.65rem 1.4rem}.cw-factFrame dl>div{border-bottom:1px solid var(--color-border);gap:.3rem;padding-block:.85rem;display:grid}.cw-factFrame dl>div:last-child{border-bottom:0}.cw-factFrame dt{color:var(--color-muted);font-size:.72rem}.cw-factFrame dd{font-size:.9rem}.cw-principlesBand{background:var(--color-primary);color:#fff;margin-top:var(--space-section);padding-block:var(--space-section)}.cw-principlesBand h2,.cw-principlesBand h3{color:#fff}.cw-principlesBand h2{font-size:var(--text-h2)}.cw-principles{border-top:1px solid #fff6;border-top:1px solid lab(100% 0 0/.4);grid-template-columns:repeat(5,minmax(0,1fr));margin-top:1.5rem;display:grid}.cw-principles article{padding:1.5rem 1rem}.cw-principles article+article{border-left:1px solid #ffffff59;border-left:1px solid lab(100% 0 0/.35)}.cw-principles h3{margin-block:.9rem .55rem;font-size:1rem}.cw-principles p{color:#cce3e4;color:lab(88.6566% -8.01259 -2.99741);font-size:.84rem;line-height:1.55}.cw-correctionNote{background:var(--color-signal-soft);border:1px solid var(--color-signal-border);border-radius:var(--radius-md);margin-block:var(--space-section);max-width:min(calc(var(--layout-max) - 2 * var(--layout-gutter)), calc(100% - 2 * var(--layout-gutter)));padding-block:1.25rem}.cw-correctionNote p{margin-top:.35rem;font-size:.92rem;line-height:1.55}.cw-archiveFilters{background:var(--color-surface);border:1px solid var(--color-border);flex-wrap:wrap;align-items:end;gap:.8rem;margin-top:clamp(2rem,5vw,3.5rem);padding:1rem;display:flex}.cw-archiveFilters label{color:var(--color-muted);flex:10rem;gap:.35rem;font-size:.72rem;display:grid}.cw-archiveFilters select{border:1px solid var(--color-border-control);border-radius:var(--radius-sm);color:var(--color-ink);background:#fff;min-height:2.65rem;padding-inline:.7rem}.cw-archiveFilters button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;min-height:2.65rem;padding-inline:1rem;font-weight:650}.cw-archiveFilters>a{align-content:center;min-height:2.65rem;padding-inline:.35rem}.cw-archiveList{border-top:2px solid var(--color-ink);margin-top:1.5rem}.cw-archiveList>article{border-bottom:1px solid var(--color-border);padding-block:clamp(1.5rem,3vw,2.5rem)}.cw-archiveList h2{font-size:var(--text-h3);margin-block:.75rem}.cw-archiveList h2 a{color:var(--color-ink);text-decoration:none}.cw-archiveList h2 a:hover{color:var(--color-primary)}.cw-archiveList article>p{color:var(--color-muted);max-width:50rem;line-height:1.6}.cw-pagination{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:1.5rem;font-size:.8rem;display:grid}.cw-pagination>div{gap:.35rem;display:flex}.cw-pagination>div :where(a,span){border:1px solid var(--color-border);justify-content:center;align-items:center;min-width:2.35rem;height:2.35rem;text-decoration:none;display:flex}.cw-pagination>div [aria-current=page]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.cw-pagination>a:last-child{justify-self:end}.cw-emptyState{background:var(--color-surface);border:1px solid var(--color-border);margin-top:2rem;padding:clamp(1.5rem,4vw,2.5rem)}.cw-emptyState h2{font-size:var(--text-h3)}.cw-emptyState p{color:var(--color-muted);margin-block:.6rem 1rem}.cw-searchForm{border-block:2px solid var(--color-ink);margin-top:clamp(2rem,5vw,3.5rem);padding-block:1rem}.cw-searchForm>label{margin-bottom:.45rem;font-size:.76rem;font-weight:700;display:block}.cw-searchForm>div{gap:.6rem;display:flex}.cw-searchForm input{border:1px solid var(--color-border-control);border-radius:var(--radius-sm);flex:1;min-width:0;min-height:2.85rem;padding-inline:.8rem}.cw-searchForm button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;padding-inline:1rem;font-weight:650}.cw-searchResults{margin-top:2rem}.cw-searchResults>h2{margin-bottom:.8rem;font-size:1rem}.cw-searchResults article{border-top:1px solid var(--color-border);padding-block:1.25rem}.cw-searchResults article:last-child{border-bottom:1px solid var(--color-border)}.cw-searchResults h3{font-size:var(--text-h3)}.cw-searchResults p{color:var(--color-muted);max-width:50rem;margin-block:.5rem .8rem}.cw-errorCode{color:var(--color-primary);font-family:var(--font-mono);font-size:clamp(3rem,10vw,7rem);font-weight:700;line-height:1}.cw-errorActions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;display:flex}.cw-errorActions button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;min-height:2.65rem;padding-inline:1rem;font-weight:650}.cw-articlePage{padding-bottom:var(--space-section)}.cw-articleHeader{background:var(--color-primary-tint);border-bottom:1px solid var(--color-border);padding-block:clamp(2.75rem,6vw,5rem)}.cw-articleContextFrame{background:var(--color-bg)}.cw-articleHeroStory{grid-template-columns:minmax(0,1.5fr) minmax(18rem,.9fr);min-height:32rem}.cw-articleHeroCopy{padding:clamp(2rem,4vw,3.75rem)}.cw-articleHeaderInner{max-width:59rem}.cw-articleHeader h1{max-width:18ch;margin-block:1.25rem 1.35rem;font-size:clamp(2.45rem,2rem + 2.2vw,3.5rem)}.cw-articleHeaderInner>p{color:var(--color-muted);max-width:52rem;font-size:clamp(1.12rem,1.04rem + .4vw,1.35rem);line-height:1.65}.cw-articleHeaderFoot{justify-content:space-between;align-items:end;gap:1.25rem;display:flex}.cw-articleHeroVisual{background:var(--color-surface);border-left:1px solid var(--color-border);min-height:100%;position:relative;overflow:hidden}.cw-articleHeroPicture{width:100%;height:100%;display:block;position:absolute;inset:0}.cw-articleHeroImage{object-fit:cover}.cw-articleHeroCode{min-height:100%}.cw-articleHeroVisual--empty{align-content:center;gap:1rem;padding:clamp(2rem,4vw,3rem);display:grid}.cw-articleHeroVisual--empty span{border:1px solid var(--color-border);align-items:center;min-height:3.35rem;padding-inline:1rem;display:flex}.cw-articleHeroVisual--empty span:before{background:var(--color-primary-soft);content:"";border-radius:50%;width:.65rem;height:.65rem}.cw-articleHeroVisual--empty span:nth-child(2):before{background:var(--color-signal)}.cw-articleLayout{grid-template-columns:minmax(0,68ch) minmax(12rem,15.25rem);justify-content:center;gap:clamp(2.5rem,6vw,4.5rem);padding-top:clamp(2.5rem,6vw,5rem);display:grid}.cw-articleMain{min-width:0}.cw-contextRail{border-top:2px solid var(--color-ink);align-self:start;font-size:.8rem;position:sticky;top:6.5rem}.cw-contextRail h2{padding-block:.85rem;font-size:.92rem}.cw-contextRail dl>div{border-top:1px solid var(--color-border);gap:.15rem;padding-block:.7rem;display:grid}.cw-contextRail dt{color:var(--color-muted);font-size:.7rem}.cw-contextRail dd{text-transform:capitalize}.cw-contextRail>a{border-top:1px solid var(--color-border);padding-block:.85rem;display:block}.cw-shareLinks{border-block:1px solid var(--color-border);align-items:center;gap:.45rem;margin-top:3.5rem;padding-block:.35rem;display:flex}.cw-shareLinks>span{color:var(--color-muted);margin-right:.35rem;font-size:.85rem}.cw-shareLinks a{color:var(--color-ink);justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;text-decoration:none;display:inline-flex}.cw-shareLinks a:hover{color:var(--color-primary)}.cw-authorNote{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:3rem minmax(0,1fr);align-items:start;gap:1rem;margin-top:2rem;padding:1.25rem;display:grid}.cw-authorNote>span{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;height:3rem;font-size:.8rem;display:flex}.cw-authorNote h2{font-size:1rem}.cw-authorNote p{color:var(--color-muted);margin-top:.35rem;font-size:.85rem;line-height:1.55}.cw-relatedPosts{margin-top:3rem}.payload-richtext :where(code):not(pre code):before,.payload-richtext :where(code):not(pre code):after{content:none}.cw-inlineCode{background:var(--color-primary-tint);border:1px solid var(--color-border);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--color-primary-ink);font-family:var(--font-mono);letter-spacing:-.01em;overflow-wrap:anywhere;white-space:break-spaces;border-radius:.28rem;padding:.12em .38em;font-size:.86em;font-weight:500;line-height:1.45;display:inline}.cw-inlineCode--package{background:var(--color-signal-soft);border-color:var(--color-signal-border);color:var(--color-signal-ink)}.cw-inlineCode--api{background:var(--color-primary-tint);border-color:var(--color-border-strong);color:var(--color-primary-ink)}.cw-callout--key .cw-inlineCode--api{color:#fff;background:#ffffff29;background:lab(100% 0 0/.16);border-color:#ffffff59;border-color:lab(100% 0 0/.35)}.cw-callout--key .cw-inlineCode--package{background:var(--color-signal);border-color:var(--color-signal);color:var(--color-signal-ink)}.payload-richtext .cw-techBlock,.payload-richtext .cw-codeBlock,.payload-richtext .cw-callout,.payload-richtext .cw-repoReference{color:var(--color-ink);font-family:var(--font-sans);max-width:none;margin-block:clamp(2rem,5vw,3.25rem)}.payload-richtext :where(.cw-techBlock,.cw-codeBlock) figcaption{color:var(--color-muted);margin-top:.6rem;font-size:.78rem;line-height:1.5}.cw-techHeader,.cw-codeHeader{background:var(--color-surface);border:1px solid var(--color-border);border-bottom:0;justify-content:space-between;align-items:center;gap:1rem;min-width:0;min-height:2.75rem;padding:.55rem .75rem;font-size:.75rem;display:flex}.cw-techHeader :where(code,span),.cw-codeHeader>span{color:var(--color-muted);font-family:var(--font-mono);overflow-wrap:anywhere;min-width:0;font-size:.72rem}.cw-techActions{border:1px solid var(--color-border);border-top:0;justify-content:flex-end;align-items:center;gap:.5rem;padding:.5rem;display:flex}.cw-techActions button,.cw-codeCopy,.cw-mediaConsent button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;min-height:2.25rem;padding:.45rem .75rem;font-size:.74rem;font-weight:650}.cw-techActions button+button{border-color:var(--color-border-control);color:var(--color-ink);background:#fff}.cw-techActions button:disabled{cursor:not-allowed;opacity:.5}.cw-techIcon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;flex:none;width:1.1rem;height:1.1rem}.payload-richtext .cw-terminal pre,.payload-richtext .cw-promptBlock pre,.payload-richtext .cw-codeBlock pre{border:1px solid var(--color-border);color:var(--color-ink);font-family:var(--font-mono);white-space:pre;background:#f6fbfc;background:lab(98.3148% -1.82915 -.981021);border-radius:0;margin:0;padding:1rem;font-size:.78rem;line-height:1.7;overflow-x:auto}.payload-richtext .cw-terminal pre{border-bottom:0}.cw-terminalLine{display:inline}.cw-terminalLine--comment{color:var(--color-muted)}.cw-terminalLine--stderr{color:#a21c10;color:lab(35.7143% 52.9074 43.4437)}.cw-terminalLine--command b{color:var(--color-primary);font-weight:700}.cw-promptBlock{background:var(--color-primary-tint);border:1px solid var(--color-border-strong);padding:.75rem}.cw-promptBlock .cw-techHeader,.cw-promptBlock .cw-techActions,.cw-promptBlock .cw-promptText{border-color:var(--color-border-strong)}.cw-promptBlock details{border-inline:1px solid var(--color-border-strong);padding:.75rem}.cw-promptBlock details+details{border-top:1px solid var(--color-border)}.cw-promptBlock summary{color:var(--color-primary-ink);cursor:pointer;font-size:.8rem;font-weight:700}.cw-promptBlock dl{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin-top:.65rem;font-size:.78rem;display:grid}.cw-promptBlock dt{font-family:var(--font-mono)}.cw-promptBlock dd{color:var(--color-muted)}.cw-architecture,.cw-comparison{width:min(calc(100vw - 2 * var(--layout-gutter)), 68rem);margin-left:50%;transform:translate(-50%)}.cw-architecture>h3{margin-bottom:.8rem;font-size:1rem}.cw-architectureFlow{grid-auto-columns:minmax(9.5rem,1fr);grid-auto-flow:column;align-items:stretch;gap:1rem;display:grid}.cw-architectureFlow>section{background:var(--color-surface);border:1px solid var(--color-border);padding:.75rem;position:relative}.cw-architectureFlow>section+section:before{background:var(--color-primary);content:"";width:1.05rem;height:1px;position:absolute;top:50%;left:-1.05rem}.cw-architectureFlow h4{color:var(--color-muted);font-family:var(--font-mono);margin-bottom:.6rem;font-size:.68rem}.cw-architectureNode{border:1px solid var(--color-border-control);background:#fff;gap:.2rem;padding:.75rem;font-size:.8rem;display:grid}.cw-architectureNode+.cw-architectureNode{margin-top:.5rem}.cw-architectureNode span{color:var(--color-muted);font-size:.72rem}.cw-architectureNode--accent{border-color:var(--color-primary)}.cw-architectureNode--group{background:var(--color-primary-tint)}.cw-architectureNode--highlight{background:var(--color-signal-soft);border-color:var(--color-signal-border)}.cw-architectureEdges{gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.cw-architectureEdge{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem;font-size:.76rem;display:grid}.cw-architectureEdge>span:last-child{text-align:right}.cw-architectureEdge strong{border-bottom:1px solid var(--color-border-strong);color:var(--color-muted);font-family:var(--font-mono);padding:.2rem .45rem;font-size:.68rem;font-weight:500}.cw-architectureEdge--highlight strong{border-color:var(--color-signal-border);color:var(--color-signal-ink)}.cw-architectureEdge--muted{opacity:.72}.cw-architectureEdge.is-dashed strong{border-bottom-style:dashed}.cw-architectureLegend{flex-wrap:wrap;gap:.75rem 1rem;margin:.9rem 0 0;padding:0;font-size:.72rem;list-style:none;display:flex}.cw-architectureLegend li{align-items:center;gap:.35rem;display:flex}.cw-architectureLegendSwatch{border:1px solid var(--color-border-control);width:.75rem;height:.75rem}.cw-architectureAlternative{border-top:1px solid var(--color-border);margin-top:1rem;padding-top:.75rem;font-size:.78rem}.cw-architectureAlternative summary{cursor:pointer;font-weight:700}.cw-architectureAlternative p{color:var(--color-muted);margin:.65rem 0 0;line-height:1.6}.cw-comparisonScroller{border:1px solid var(--color-border);max-width:100%;overflow-x:auto}.cw-comparison table{border-collapse:separate;border-spacing:0;width:100%;min-width:42rem;margin:0;font-size:.8rem}.cw-comparison caption{background:var(--color-surface);text-align:left;padding:.7rem;font-size:.76rem}.cw-comparison :where(th,td){border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.8rem}.cw-comparison :where(th,td):last-child{border-right:0}.cw-comparison thead th{background:var(--color-surface);font-weight:700;position:sticky;top:0}.cw-comparison :where(th,td).is-recommended{background:var(--color-primary-tint)}.cw-comparison :where(th,td) small{color:var(--color-muted);margin-top:.2rem;font-size:.68rem;font-weight:400;display:block}.cw-comparison--sticky :where(th:first-child,td:first-child){z-index:1;background:#fff;position:sticky;left:0}.cw-comparison--sticky thead th:first-child{background:var(--color-surface);z-index:2}.cw-comparisonFootnotes{color:var(--color-muted);margin-top:.75rem;padding-left:1.25rem;font-size:.72rem}.cw-technicalDetails{border:1px solid var(--color-border)}.cw-technicalDetails summary{cursor:pointer;align-items:center;gap:.6rem;padding:.9rem 1rem;font-weight:700;display:flex}.cw-technicalDetails[open] summary{border-bottom:1px solid var(--color-border)}.cw-technicalDetails>div{color:var(--color-muted);white-space:pre-wrap;padding:1rem;line-height:1.65}.cw-technicalDetails>div>p{margin:0}.cw-technicalDetails figure{margin:1rem 0 0}.cw-technicalDetails figure figcaption{color:var(--color-muted);font-family:var(--font-mono);margin-bottom:.4rem;font-size:.7rem}.cw-technicalDetails pre{border:1px solid var(--color-border);color:var(--color-ink);font-family:var(--font-mono);white-space:pre;background:#f6fbfc;background:lab(98.3148% -1.82915 -.981021);margin:0;padding:.8rem;font-size:.78rem;line-height:1.7;overflow-x:auto}.payload-richtext .cw-technicalDetails pre,.payload-richtext .cw-technicalDetails pre code{color:var(--color-ink);font-family:var(--font-mono);background:#f6fbfc;background:lab(98.3148% -1.82915 -.981021);font-weight:400}.payload-richtext .cw-technicalDetails pre code{font-size:inherit;background:0 0;border:0;padding:0}.cw-callout{background:var(--color-primary-tint);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:1rem}.cw-callout--warning,.cw-callout--correction{background:var(--color-signal-soft);border-color:var(--color-signal-border)}.cw-callout--key{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.cw-calloutLabel{align-items:center;gap:.45rem;font-size:.78rem;display:flex}.cw-calloutLabel time{color:currentColor;opacity:.72;margin-left:auto}.cw-callout p{color:inherit;margin:.55rem 0 0;font-size:.9rem;line-height:1.6}.cw-repoReference{border-block:1px solid var(--color-border);color:var(--color-ink);justify-content:space-between;align-items:center;padding:.8rem;text-decoration:none;display:flex}.cw-repoReference:hover{background:var(--color-primary-tint)}.cw-repoReference>span:first-child{gap:.25rem;min-width:0;display:grid}.cw-repoReference code{color:var(--color-muted);text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.cw-repoReference--card{align-items:stretch;gap:.9rem;display:grid}.cw-repoReference--card:hover{background:0 0}.cw-repoReferenceHead,.cw-repoReferenceHead>a,.cw-repoReferenceFile,.cw-repoReference--card dl{align-items:center;display:flex}.cw-repoReferenceHead{justify-content:space-between}.cw-repoReferenceHead>a,.cw-repoReferenceFile{color:var(--color-ink);gap:.45rem;text-decoration:none}.cw-repoReference--card>p{margin:0;font-size:.92rem;line-height:1.6}.cw-repoReference--card dl{flex-wrap:wrap;gap:1.5rem;margin:0}.cw-repoReference--card dl>div{gap:.15rem;display:grid}.cw-repoReference--card dt{color:var(--color-muted);font-size:.7rem}.cw-repoReference--card dd{font-family:var(--font-mono);margin:0;font-size:.78rem}.cw-repoReferenceFile{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto auto;padding-top:.75rem;display:grid}.cw-repoReferenceFile>span{color:var(--color-muted);font-size:.76rem}.cw-mediaEmbedFrame{aspect-ratio:16/9;background:var(--color-surface);border:1px solid var(--color-border)}.cw-mediaEmbed iframe{border:0;width:100%;height:100%}.cw-mediaConsent{text-align:center;align-content:center;justify-items:center;height:100%;padding:1.5rem;display:grid}.cw-mediaConsent>strong{margin-top:.6rem}.cw-mediaConsent p{color:var(--color-muted);max-width:31rem;margin:.55rem auto .9rem;font-size:.82rem;line-height:1.5}.cw-mediaConsent label{color:var(--color-muted);align-items:center;gap:.4rem;margin-top:.75rem;font-size:.72rem;display:flex}.cw-codeBlock{border-radius:var(--radius-sm);min-width:0}.cw-codeHeader{font-family:var(--font-mono)}.cw-codeCopy{border-color:var(--color-border-control);color:var(--color-ink);background:#fff;flex:none}.payload-richtext .cw-codeBlock pre{border-top:0;padding:1rem 0}.cw-codeLine{display:table-row}.cw-codeLineNumber{color:var(--color-muted);text-align:right;-webkit-user-select:none;user-select:none;padding-inline:1rem;display:table-cell}@media (max-width:67.5rem){.cw-topicGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-topicPath{border-bottom:1px solid #ffffff52;border-bottom:1px solid lab(100% 0 0/.32);min-height:16rem}.cw-topicPath:nth-child(odd){border-left:1px solid #ffffff52;border-left:1px solid lab(100% 0 0/.32)}.cw-principles{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-principles article{border-bottom:1px solid #ffffff59;border-bottom:1px solid lab(100% 0 0/.35)}.cw-principles article:nth-child(odd){border-left:0}.cw-articleLayout{grid-template-columns:minmax(0,68ch)}.cw-contextRail{grid-row:1;position:static}.cw-architectureFlow{grid-auto-flow:row}.cw-architectureFlow>section+section:before{width:1px;height:1rem;top:-1rem;left:1.5rem}.cw-repository--compact{grid-template-columns:1fr;padding-inline:.5rem}.cw-repository--compact .cw-repositoryHeading,.cw-repository--compact :where(h2,h3),.cw-repository--compact>p,.cw-repository--compact .cw-repositoryStart{grid-area:auto/1;min-width:0}.cw-repository--compact .cw-repositoryStart{margin-top:.75rem}}@media (max-width:53.75rem){.cw-desktopNav,.cw-desktopTools{display:none}.cw-mobileNav{display:block}.cw-featuredStory{grid-template-columns:1fr}.cw-codeExcerpt{border-left:0;border-top:1px solid var(--color-border);margin-top:0}.cw-articleHeroVisual{border-left:0;border-top:1px solid var(--color-border);min-height:clamp(18rem,60vw,30rem)}.cw-projectLayout,.cw-repositoryFeaturedGrid,.cw-aboutTop{grid-template-columns:1fr}.cw-footerGrid{grid-template-columns:2fr repeat(2,1fr)}.cw-footerGrid>:first-child{grid-column:1/-1}}@media (max-width:43.75rem){.cw-articleLayout{overflow-x:clip}.cw-architecture,.cw-comparison{width:100%;margin-left:0;transform:none}.cw-featuredSection{overflow:hidden}.cw-sectionHead{flex-direction:column;align-items:start;gap:.75rem}.cw-articleList{grid-template-columns:1fr}.cw-articleRow,.cw-articleRow--lead{border-left:0;padding-inline:0}.cw-articleRow--lead{border-left:1px solid var(--color-border);padding-inline:1rem}.cw-articleRowFoot,.cw-articleHeaderFoot,.cw-newsletterInner{grid-template-columns:1fr;align-items:start}.cw-newsletterInner{gap:1.5rem}.cw-newsletterFields,.cw-articleNewsletter{grid-template-columns:1fr}.cw-newsletterFields .cw-button{justify-content:center;width:100%}.cw-newsletterPrompt{padding:1.25rem}.cw-topicGrid{grid-template-columns:1fr}.cw-topicPath,.cw-topicPath+.cw-topicPath{border-left:1px solid #ffffff52;border-left:1px solid lab(100% 0 0/.32);min-height:14rem}.cw-principles{grid-template-columns:1fr}.cw-principles article+article{border-left:0}.cw-projectRow{grid-template-columns:1fr auto;gap:.35rem 1rem;padding-block:1rem}.cw-projectRow>span:nth-child(2){grid-area:2/1/auto/-1}.cw-projectRow small{grid-column:1}.cw-projectRow>svg{grid-area:1/2}.cw-footerGrid{grid-template-columns:repeat(2,1fr)}.cw-footerGrid>:first-child,.cw-footerGrid>:last-child{grid-column:1/-1}.cw-footerBase{flex-direction:column;gap:.45rem}}@media (max-width:25rem){.cw-wordmark strong{font-size:1rem}.cw-wordmark small{display:none}.cw-featuredCopy{padding:1.5rem 1.2rem}.cw-featuredCopy h1{font-size:clamp(2rem,10vw,2.5rem)}.cw-windowBar{font-size:.64rem}}@media (pointer:coarse){:where(a,button,summary,input,select,textarea){min-height:2.75rem}}@media (prefers-contrast:more){:root{--color-border:var(--color-border-strong);--color-muted:#2b4148}@supports (color:lab(0% 0 0)){:root{--color-muted:lab(25.9289% -7.32556 -7.21924)}}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s;--dur-signature:0s}html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
