*,*::before,*::after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--sticky-top, 100px) + 12px)}@media (prefers-reduced-motion:no-preference){html:focus-within{scroll-behavior:smooth}}body{margin:0;min-height:100vh;background:var(--canvas);color:var(--ink);font:400 var(--fs-body) / var(--lh-body) var(--font-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,pre{margin:0}ul,ol{margin:0;padding:0}img,picture,video,canvas,svg,iframe{max-width:100%;vertical-align:middle}img,video{height:auto}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}table{border-collapse:collapse;border-spacing:0}hr{border:0;height:1px;background:var(--line);margin:var(--space-6) 0}sub,sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}small{font-size:var(--fs-small)}[hidden]{display:none}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}:focus:not(:focus-visible){outline:none}::selection{background:color-mix(in oklab,var(--blue) 22%,var(--paper));color:var(--ink)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}h1,h2{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:var(--ls-display);text-wrap:balance;color:var(--ink)}h1{font-size:var(--fs-h1);font-weight:var(--wght-h1);font-stretch:var(--wdth-h1);line-height:var(--lh-h1)}h2{font-size:var(--fs-h2);font-weight:var(--wght-h2);font-stretch:var(--wdth-h2);line-height:var(--lh-h2)}h3,h4,h5,h6{font-family:var(--font-text);font-weight:600;color:var(--ink)}h3{font-size:var(--fs-h3);line-height:var(--lh-h3)}h4{font-size:var(--fs-h4);line-height:var(--lh-h4)}h5,h6{font-size:var(--fs-body);line-height:var(--lh-h4)}a{color:var(--blue-text);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:color-mix(in oklab,var(--blue-text) 35%,transparent);transition:color var(--dur-fast) var(--ease-out),text-decoration-color var(--dur-fast) var(--ease-out)}a:hover{color:var(--violet-text);text-decoration-color:currentColor}.sfw-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.sfw-skip{position:fixed;top:var(--space-3);left:var(--space-3);z-index:var(--z-skip);padding:var(--space-3) var(--space-4);background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow-2);font-weight:600;text-decoration:none;transform:translateY(calc(-100% - var(--space-5)))}.sfw-skip:focus-visible{transform:none}.sfw-container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.sfw-container.is-narrow{max-width:calc(760px + 2 * var(--gutter))}.sfw-container.is-wide{max-width:calc(1100px + 2 * var(--gutter))}.sfw-grid-2,.sfw-grid-3{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);perspective:1200px}@media (min-width:768px){.sfw-grid-2,.sfw-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.sfw-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.sfw-prose{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink);overflow-wrap:break-word}.sfw-prose>:first-child,.sfw-prose .sof-article>:first-child,.sfw-prose .sof-article-content>:first-child{margin-top:0}.sfw-prose p{margin:0 0 var(--space-5)}.sfw-prose strong,.sfw-prose b{font-weight:600;color:var(--ink)}.sfw-prose em{font-style:italic}.sfw-prose .sof-intro{font-size:1.15em;line-height:1.55;color:var(--ink-2)}.sfw-prose h2{margin:var(--space-7) 0 var(--space-4);padding-inline-start:var(--space-4);border-inline-start:3px solid var(--pillar)}@media (min-width:768px){.sfw-prose h2{margin-inline-start:calc(-1 * var(--space-4) - 3px)}}.sfw-prose h3{margin:var(--space-6) 0 var(--space-3)}.sfw-prose h4,.sfw-prose h5,.sfw-prose h6{margin:var(--space-5) 0 var(--space-2)}.sfw-prose h2+h3,.sfw-prose h3+h4{margin-top:var(--space-3)}.sfw-prose h1 a,.sfw-prose h2 a,.sfw-prose h3 a,.sfw-prose h4 a{color:inherit;text-decoration:none}.sfw-prose ul,.sfw-prose ol{margin:0 0 var(--space-5);padding-inline-start:1.5em}.sfw-prose ul{list-style:square}.sfw-prose ol{list-style:decimal-leading-zero;padding-inline-start:2.25em}.sfw-prose li{padding-inline-start:.25em}.sfw-prose li+li{margin-top:var(--space-2)}.sfw-prose li>ul,.sfw-prose li>ol{margin:var(--space-2) 0 0}.sfw-prose li>p{margin-bottom:var(--space-2)}.sfw-prose ul li::marker{color:var(--pillar);font-size:1.05em}.sfw-prose ol li::marker{font-family:var(--font-mono);font-weight:600;font-size:.85em;color:var(--pillar-text)}.sfw-prose blockquote,.sfw-prose .wp-block-quote{margin:var(--space-6) 0;padding:var(--space-3) var(--space-5);border-inline-start:3px solid var(--pillar);font-family:var(--font-display);font-weight:600;font-stretch:96%;font-size:1.25rem;line-height:1.4;letter-spacing:-.01em;color:var(--ink)}.sfw-prose blockquote p{margin-bottom:var(--space-3)}.sfw-prose blockquote p:last-child{margin-bottom:0}.sfw-prose blockquote cite,.sfw-prose .wp-block-quote cite{display:block;margin-top:var(--space-3);font:500 var(--fs-caption) / var(--lh-small) var(--font-mono);font-style:normal;letter-spacing:.04em;color:var(--ink-3)}.sfw-prose .sfw-table,.sfw-prose .sof-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--space-6) 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m)}.sfw-prose .sfw-table>table,.sfw-prose .sof-table-wrapper>table,.sfw-prose table{width:100%;margin:0;font-size:var(--fs-small);line-height:var(--lh-small);border-collapse:collapse}.sfw-prose table:not(.sfw-table table):not(.sof-table-wrapper table){display:block;overflow-x:auto;margin:var(--space-6) 0}.sfw-prose th,.sfw-prose td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.sfw-prose th{font:600 var(--fs-eyebrow) / var(--lh-small) var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:var(--canvas-2);border-bottom:1px solid var(--line-strong);white-space:nowrap}.sfw-prose tbody tr:nth-child(even)>td{background:var(--canvas)}.sfw-prose tbody tr:last-child>td{border-bottom:0}.sfw-prose tbody td:first-child{font-weight:600}.sfw-prose td>p:last-child{margin-bottom:0}.sfw-prose code,.sfw-prose kbd,.sfw-prose samp{font-family:var(--font-mono);font-size:.9em;font-weight:500}.sfw-prose :not(pre)>code{padding:.1em .4em;border-radius:var(--r-s);background:var(--canvas-2);color:var(--ink)}.sfw-prose pre{margin:var(--space-6) 0;padding:var(--space-5);overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--terminal);color:var(--on-terminal);border:1px solid var(--terminal-line);border-radius:var(--r-m);box-shadow:var(--inset-terminal);font-family:var(--font-mono);font-size:.875rem;line-height:1.6;tab-size:2;white-space:pre}.sfw-prose pre code{display:block;padding:0;background:none;color:inherit;font-size:inherit;font-weight:400}.sfw-prose pre p{margin:0;font:inherit;color:inherit;white-space:pre}.sfw-prose hr{margin:var(--space-7) 0}.sfw-prose figure,.sfw-prose .wp-block-image{margin:var(--space-6) 0}.sfw-prose figure img,.sfw-prose .wp-block-image img{display:block;border-radius:var(--r-m)}.sfw-prose figcaption{margin-top:var(--space-3);font:500 var(--fs-caption) / var(--lh-small) var(--font-mono);color:var(--ink-3);text-align:center}.sfw-prose .alignwide,.sfw-prose .alignfull{max-width:100%;margin-inline:0}.sfw-prose .alignleft,.sfw-prose .alignright,.sfw-prose .aligncenter{float:none;display:block;margin-inline:auto}.sfw-prose .sof-article,.sfw-prose .sof-article-content{display:block}.sfw-prose .sof-article-nav,.sfw-prose .sof-next-article{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);margin:var(--space-7) 0 0;padding:var(--space-4) var(--space-5);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m)}.sfw-prose .sof-article-nav strong,.sfw-prose .sof-next-article strong{font:600 var(--fs-eyebrow) / var(--lh-small) var(--font-mono);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--ink-3)}.sfw-prose .sof-article-nav a,.sfw-prose .sof-next-article a{font-weight:600;text-decoration-color:#fff0}.sfw-prose .sof-article-nav a::after,.sfw-prose .sof-next-article a::after{content:" \2192";display:inline-block;margin-inline-start:.15em;transition:transform var(--dur-fast) var(--ease-out)}.sfw-prose .sof-article-nav a:hover,.sfw-prose .sof-next-article a:hover{text-decoration-color:currentColor}.sfw-prose .sof-article-nav a:hover::after,.sfw-prose .sof-next-article a:hover::after{transform:translateX(3px)}@media (prefers-reduced-motion:reduce){.sfw-prose .sof-article-nav a::after,.sfw-prose .sof-next-article a::after{transition:none}.sfw-prose .sof-article-nav a:hover::after,.sfw-prose .sof-next-article a:hover::after{transform:none}}.sfw-prose .disclaimer-box,.sfw-prose .takeaways-box{margin:var(--space-7) 0;padding:var(--space-5) var(--space-6);border:1px solid var(--pillar);border-radius:var(--r-l);background:var(--pillar-soft)}.sfw-prose .disclaimer-box{--pillar:var(--amber);--pillar-text:var(--amber-text);--pillar-soft:var(--amber-soft)}.sfw-prose .takeaways-box{--pillar:var(--mint);--pillar-text:var(--mint-text);--pillar-soft:var(--mint-soft)}.sfw-prose .disclaimer-box>:first-child,.sfw-prose .takeaways-box>:first-child{margin-top:0}.sfw-prose .disclaimer-box>:last-child,.sfw-prose .takeaways-box>:last-child{margin-bottom:0}.sfw-prose .disclaimer-box h2,.sfw-prose .takeaways-box h2,.sfw-prose .disclaimer-box h3,.sfw-prose .takeaways-box h3{margin:0 0 var(--space-3);padding:0;border:0;font-size:var(--fs-h3);line-height:var(--lh-h3)}.sfw-prose .disclaimer-box p,.sfw-prose .takeaways-box p,.sfw-prose .disclaimer-box ul,.sfw-prose .takeaways-box ul{margin-bottom:var(--space-3)}@media (max-width:767px){.sfw-prose .disclaimer-box,.sfw-prose .takeaways-box{padding:var(--space-4) var(--space-4)}.sfw-prose th,.sfw-prose td{padding:var(--space-2) var(--space-3)}.sfw-prose pre{padding:var(--space-4)}}