@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-ext-wght-normal.C4zznr8T.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-wght-normal.E0tuGl4L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.cHuGMAiY.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.DwHjdM4S.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.ece1310W.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.D-yuW59g.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.CxNHBx-q.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.D9elroTD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-italic.BXuSHrjR.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-italic.RLIThRd4.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-italic.F2ziEGcb.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-italic.C3q834ic.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-italic.CpkvI5hy.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-italic.D2yaqPoE.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Mono Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/spline-sans-mono-latin-ext-wght-normal.Dh0aNLWd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans Mono Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/spline-sans-mono-latin-wght-normal.DlaB5ohX.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"Spline Sans Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-white:#fff;--color-ink:oklch(23% .014 158);--color-ink-soft:oklch(43% .02 158);--color-pine:oklch(30% .055 158);--color-pine-deep:oklch(24% .05 158);--color-pine-line:oklch(44% .055 158);--color-on-pine:oklch(95% .02 150);--color-on-pine-soft:oklch(82% .035 150);--color-brand:oklch(49% .14 151);--color-brand-deep:oklch(42% .13 150);--color-leaf:oklch(62% .15 150);--color-lime:oklch(86% .19 128);--color-mist:oklch(97% .008 158);--color-sage:oklch(96% .032 150);--color-sage-deep:oklch(90% .06 150);--color-line:oklch(90% .016 158);--color-line-strong:oklch(80% .02 158);--font-display:"Archivo Variable", system-ui, "Helvetica Neue", Arial, sans-serif;--font-body:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--text-display:clamp(2.75rem, 1.85rem + 3.7vw, 4.5rem);--text-display--line-height:1.02;--text-display--letter-spacing:-.03em;--text-title:clamp(2.05rem, 1.55rem + 2.1vw, 2.95rem);--text-title--line-height:1.07;--text-title--letter-spacing:-.025em;--text-h2:clamp(1.5rem, 1.32rem + .75vw, 1.9rem);--text-h2--line-height:1.2;--text-h2--letter-spacing:-.018em;--text-h3:1.34rem;--text-h3--line-height:1.35;--text-body:1.0625rem;--text-body--line-height:1.7;--text-small:.9rem;--text-meta:.8125rem;--z-index-toast:40;--radius-panel:16px;--radius-field:10px;--shadow-lift:0 1px 2px oklch(23% .014 158/.05), 0 12px 28px -14px oklch(24% .05 158/.28);--ease-out-quart:cubic-bezier(.25, 1, .5, 1)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-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{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{color-scheme:light}html{scroll-behavior:smooth}body{background:var(--color-white);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--text-body--line-height);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);text-wrap:balance;font-weight:720}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;border-radius:2px}::selection{background:var(--color-sage-deep);color:var(--color-ink)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components{.wrap{width:min(100% - 2.5rem,72rem);margin-inline:auto}.skip-link{z-index:var(--z-index-toast);background:var(--color-white);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-small);border-radius:var(--radius-field);box-shadow:var(--shadow-lift);transition:top .15s var(--ease-out-quart);padding:.6rem 1rem;font-weight:600;position:absolute;top:-3.5rem;left:1rem}.skip-link:focus-visible{top:1rem}.site-header{background:var(--color-pine);border-bottom:2px solid var(--color-lime)}.site-header .header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;padding-block:.9rem;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-white);align-items:center;gap:.55rem;font-size:1.32rem;font-weight:760;text-decoration:none;display:inline-flex}.brand-accent{color:var(--color-lime)}.nav-toggle{border:1px solid var(--color-pine-line);cursor:pointer;width:2.6rem;height:2.6rem;transition:background-color .15s var(--ease-out-quart);background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;display:inline-flex}.nav-toggle:hover{background:#ffffff0f}.nav-toggle:focus-visible{outline-color:var(--color-lime)}.nav-toggle .bar{background:var(--color-on-pine);width:1.15rem;height:2px;transition:transform .2s var(--ease-out-quart),opacity .15s var(--ease-out-quart);border-radius:2px;display:block}.nav-toggle[aria-expanded=true] .bar:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] .bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.site-nav{border-top:1px solid var(--color-pine-line);flex-direction:column;flex-basis:100%;gap:.15rem;padding-top:.65rem;display:none}.site-nav.is-open{display:flex}.nav-link{font-family:var(--font-display);color:var(--color-on-pine-soft);transition:color .15s var(--ease-out-quart),background-color .15s var(--ease-out-quart);border-radius:8px;padding:.7rem .65rem;font-size:1.02rem;font-weight:560;text-decoration:none}.nav-link:hover{color:var(--color-white);background:#ffffff14}.nav-link[aria-current]{color:var(--color-lime)}.nav-link:focus-visible{outline-color:var(--color-lime)}@media(min-width:48rem){.nav-toggle{display:none}.site-nav{border-top:0;flex-direction:row;flex-basis:auto;align-items:center;gap:.25rem;padding-top:0;display:flex}.nav-link{font-size:var(--text-small);white-space:nowrap;border-radius:999px;padding:.45rem .7rem}}.nav-cta{font-family:var(--font-display);font-size:var(--text-small);color:var(--color-pine-deep);background:var(--color-lime);white-space:nowrap;transition:filter .15s var(--ease-out-quart);border-radius:999px;margin-left:.35rem;padding:.45rem .95rem;font-weight:700;text-decoration:none}.nav-cta:hover{filter:brightness(1.06)}.nav-cta:focus-visible{outline-color:var(--color-lime)}.site-footer{background:var(--color-pine-deep);color:var(--color-on-pine-soft);margin-top:5rem}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:2rem 2.5rem;padding-block:3rem 2.5rem;display:grid}.footer-brand-col{grid-column:1/-1}@media(min-width:48rem){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}.footer-brand-col{grid-column:auto}}.footer-col .footer-head{font-family:var(--font-display);font-size:var(--text-meta);letter-spacing:.02em;color:var(--color-on-pine);margin-bottom:.9rem;font-weight:700}.footer-tagline{font-family:var(--font-display);font-size:var(--text-small);max-width:22rem;margin-top:1rem}.footer-col ul{gap:.55rem;display:grid}.footer-col a{font-family:var(--font-display);font-size:var(--text-small);color:var(--color-on-pine-soft);transition:color .15s var(--ease-out-quart);text-decoration:none}.footer-col a:hover{color:var(--color-white)}.footer-col a:focus-visible{outline-color:var(--color-lime)}.footer-bottom{border-top:1px solid var(--color-pine-line);font-family:var(--font-display);font-size:var(--text-meta);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.4rem 2rem;display:flex}.btn{font-family:var(--font-display);cursor:pointer;transition:background-color .15s var(--ease-out-quart),border-color .15s var(--ease-out-quart),color .15s var(--ease-out-quart),filter .15s var(--ease-out-quart);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.72rem 1.4rem;font-size:.96rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-brand);color:var(--color-white)}.btn-primary:hover{background:var(--color-brand-deep)}.btn-quiet{background:var(--color-white);color:var(--color-brand);border-color:var(--color-line-strong)}.btn-quiet:hover{border-color:var(--color-brand);color:var(--color-brand-deep)}.chip{font-family:var(--font-mono);background:var(--color-mist);border:1px solid var(--color-line);border-radius:5px;padding:.08em .4em;font-size:.8em;display:inline-block}.prose{font-family:var(--font-body)}.prose>*+*{margin-top:1.15em}.prose>p:first-child{font-size:1.16rem;line-height:1.65}.prose h2,.prose h3,.article-section .section-head{scroll-margin-top:1.2rem}.prose h2{font-size:var(--text-h2);line-height:var(--text-h2--line-height);letter-spacing:var(--text-h2--letter-spacing);border-top:1px solid var(--color-line);margin-top:2.8rem;padding-top:1.6rem;font-weight:740}.prose h3{font-size:var(--text-h3);line-height:var(--text-h3--line-height);margin-top:2.1rem;font-weight:680}.prose a{color:var(--color-brand);text-underline-offset:3px;transition:color .15s var(--ease-out-quart),text-decoration-color .15s var(--ease-out-quart);-webkit-text-decoration:underline oklch(49% .14 151/.35);text-decoration:underline oklch(49% .14 151/.35)}.prose a:hover{color:var(--color-brand-deep);text-decoration-color:currentColor}.prose strong{font-weight:620}.prose ul,.prose ol{gap:.45em;padding-left:1.35rem;display:grid}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li::marker{color:var(--color-brand)}.prose code{font-family:var(--font-mono);background:var(--color-mist);border:1px solid var(--color-line);white-space:nowrap;border-radius:5px;padding:.1em .38em;font-size:.84em}.prose blockquote{border:1px solid var(--color-line);background:var(--color-mist);border-radius:var(--radius-panel);padding:1.1rem 1.35rem;font-style:italic}.pick-badge{font-family:var(--font-display);letter-spacing:.005em;color:var(--color-pine-deep);background:var(--color-lime);white-space:nowrap;vertical-align:baseline;border:1px solid #0000;border-radius:999px;align-items:center;gap:.32em;margin-inline:.2em;padding:.36em .62em .34em;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex;translate:0 -.08em}.pick-badge:before{content:"";background:currentColor;flex:none;width:.66em;height:.66em;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.pick-badge--value{color:var(--color-white);background:var(--color-brand-deep)}.pick-badge--budget{color:var(--color-brand-deep);background:var(--color-sage);border-color:var(--color-brand)}.pick-badge--runner{color:var(--color-pine-deep);background:#a2d7a8}.pick-badge--runner:before{display:none}.callout{margin-block:1.9rem}.callout-tip{border-radius:var(--radius-panel);background:var(--color-sage);border:1px solid var(--color-sage-deep);gap:.65rem;padding:1.2rem 1.35rem 1.3rem;display:grid}.callout-head{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-brand-deep);align-items:center;gap:.6rem;margin:0;font-size:1rem;font-weight:760;display:inline-flex}.callout-icon{background:var(--color-lime);width:1.75rem;height:1.75rem;color:var(--color-pine-deep);border-radius:8px;flex:none;place-items:center;display:grid}.callout-bolt{width:.95rem;height:.95rem}.callout-body{color:var(--color-ink)}.callout-body>:first-child{margin-top:0}.callout-body>*+*{margin-top:.7rem}.callout-body p{margin:0}.prose img{border-radius:var(--radius-panel);max-width:100%;height:auto;margin-block:1.8rem;display:block}.prose hr{border:0;border-top:1px solid var(--color-line);margin-block:2.5rem}.table-wrap{border:1px solid var(--color-line);border-radius:var(--radius-panel);margin-block:1.8rem;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-display);font-size:.92rem;line-height:1.45}.prose thead th{font-weight:700;font-size:var(--text-meta);text-align:left;background:var(--color-sage);border-bottom:1px solid var(--color-line-strong);white-space:nowrap;padding:.65rem .85rem}.prose tbody td{border-bottom:1px solid var(--color-line);font-variant-numeric:tabular-nums;vertical-align:top;padding:.6rem .85rem}.prose tbody tr:last-child td{border-bottom:0}.prose tbody tr:hover td{background:#e3f8e780}.prose table code{white-space:nowrap}.faq{gap:.7rem;margin-top:1.4rem;display:grid}.faq details{border:1px solid var(--color-line);border-radius:var(--radius-panel);background:var(--color-white);transition:border-color .15s var(--ease-out-quart)}.faq details[open]{border-color:var(--color-line-strong)}.faq summary{cursor:pointer;font-family:var(--font-display);justify-content:space-between;align-items:baseline;gap:1rem;padding:.95rem 1.15rem;font-size:1.02rem;font-weight:680;line-height:1.4;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-mono);color:var(--color-brand);transition:rotate .2s var(--ease-out-quart);flex:none;font-size:1.1rem}.faq details[open] summary:after{rotate:45deg}.faq details>p{color:var(--color-ink);padding:0 1.15rem 1.05rem}.tool{border:1px solid var(--color-line-strong);border-radius:var(--radius-panel);background:var(--color-white);box-shadow:var(--shadow-lift);margin-block:2rem;overflow:hidden}.tool-head{background:var(--color-sage);border-bottom:1px solid var(--color-line);font-family:var(--font-display);color:var(--color-ink);align-items:center;gap:.6rem;margin:0;padding:.8rem 1.2rem;font-size:1.02rem;font-weight:720;display:flex}.tool-head:before{content:"";background:var(--color-leaf);border-radius:2px;flex:none;width:.6rem;height:.6rem;rotate:45deg}.tool-body{gap:.7rem;padding:1.2rem;display:grid}.tool-row{flex-wrap:wrap;gap:.6rem;display:flex}.tool-input,.tool-select{font-family:var(--font-display);color:var(--color-ink);background-color:var(--color-white);border:1px solid var(--color-line-strong);border-radius:var(--radius-field);transition:border-color .15s var(--ease-out-quart);padding:.55rem .75rem;font-size:1rem}.tool-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%233f5c4a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:12px 8px;padding-right:2.5rem}.tool-input{flex:1;min-width:12rem}.tool-input::placeholder{color:var(--color-ink-soft)}.tool-input:hover,.tool-select:hover{border-color:var(--color-brand)}.tool-btn{font-family:var(--font-display);color:var(--color-white);background:var(--color-brand);border-radius:var(--radius-field);cursor:pointer;transition:background-color .15s var(--ease-out-quart);border:none;padding:.55rem 1.2rem;font-size:1rem;font-weight:700}.tool-btn:hover{background:var(--color-brand-deep)}.tool-output{font-family:var(--font-display);margin:0;font-size:.98rem;line-height:1.55}.tool-output:empty{display:none}.tool-output:not(:empty){background:var(--color-mist);border:1px solid var(--color-line);border-radius:var(--radius-field);padding:.85rem 1rem}.tool-output a{color:var(--color-brand)}.wrap-article{width:min(100% - 2.5rem,62rem);margin-inline:auto;padding-block:2.5rem 3rem}.hub-desc{color:var(--color-ink-soft);max-width:38rem;margin-top:.85rem;font-size:1.1rem;line-height:1.65}.hub-meta{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-ink-soft);margin-top:.9rem}.hub-list{max-width:46rem;margin-top:2.4rem}.hub-grid{gap:3rem;margin-top:2.4rem;display:grid}@media(min-width:64rem){.hub-grid{grid-template-columns:minmax(0,46rem) 14rem;gap:5rem}}.hub-main{min-width:0}.hub-feature{margin-bottom:2.2rem}@media(max-width:36rem){.feature-card.hub-feature img{object-fit:contain}}.hub-aside nav+nav{margin-top:1.9rem}@media(min-width:64rem){.hub-aside{align-self:start;position:sticky;top:2rem}}.hub-row-head{flex-wrap:wrap;align-items:baseline;gap:.55rem;display:flex}.tool-badge{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-brand-deep);background:var(--color-sage);border:1px solid var(--color-sage-deep);white-space:nowrap;border-radius:999px;padding:.08em .6em}.feature-body .tool-badge{align-self:flex-start}.row-date{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-ink-soft);margin-top:.4rem}.hub-others{border-top:1px solid var(--color-line);margin-top:3rem;padding-top:2rem}.footer-headish{font-family:var(--font-display);font-size:var(--text-meta);color:var(--color-ink-soft);font-weight:700}.hub-others .topic-links{margin-top:1rem}.article-head{max-width:46rem}.crumbs{font-family:var(--font-display);font-size:var(--text-meta);color:var(--color-ink-soft);flex-wrap:wrap;align-items:baseline;gap:.45rem;min-width:0;display:flex}.crumbs a{color:var(--color-ink-soft);transition:color .15s var(--ease-out-quart);text-decoration:none}.crumbs a:hover{color:var(--color-brand)}.crumb-sep{color:var(--color-line-strong)}.crumb-current{text-overflow:ellipsis;white-space:nowrap;max-width:24ch;overflow:hidden}.article-title{font-size:var(--text-title);line-height:var(--text-title--line-height);letter-spacing:var(--text-title--letter-spacing);margin-top:1rem;font-weight:780}.article-meta{font-family:var(--font-display);font-size:var(--text-small);color:var(--color-ink-soft);flex-wrap:wrap;align-items:center;gap:.35rem .55rem;margin-top:1.05rem;display:flex}.article-meta a{color:var(--color-brand);text-decoration:none}.article-meta a:hover{text-underline-offset:3px;text-decoration:underline}.meta-sep{color:var(--color-line-strong)}.updated-chip{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-ink);background:var(--color-sage);border:1px solid var(--color-sage-deep);border-radius:999px;padding:.12em .7em}.article-meta .updated-chip{margin-left:.3rem}.article-disclosure{font-family:var(--font-display);font-size:var(--text-meta);color:var(--color-ink-soft);margin-top:.7rem}.article-disclosure a{color:var(--color-brand)}.article-grid{gap:3rem;margin-top:2.4rem;display:grid}.article-body{min-width:0;max-width:40rem}@media(min-width:64rem){.article-grid.has-toc{grid-template-columns:minmax(0,40rem) 14rem;gap:5rem}}.toc-aside{display:none}@media(min-width:64rem){.toc-aside{align-self:start;max-height:calc(100vh - 4rem);display:block;position:sticky;top:2rem;overflow-y:auto}}.toc-title{font-family:var(--font-display);font-size:var(--text-meta);color:var(--color-ink);font-weight:700}.toc-list{gap:.6rem;margin-top:.85rem;padding:0;list-style:none;display:grid}.toc-list a{font-family:var(--font-display);color:var(--color-ink-soft);transition:color .15s var(--ease-out-quart);font-size:.875rem;line-height:1.4;text-decoration:none}.toc-list a:hover{color:var(--color-brand)}.toc-list a[aria-current]{color:var(--color-brand);font-weight:700}.toc-sub{padding-left:.9rem}.toc-mobile{background:var(--color-mist);border:1px solid var(--color-line);border-radius:var(--radius-panel);margin-bottom:2rem;padding:.85rem 1.1rem}.toc-mobile summary{font-family:var(--font-display);font-size:var(--text-small);cursor:pointer;font-weight:700}.toc-mobile .toc-list{margin-top:.9rem}@media(min-width:64rem){.toc-mobile{display:none}}.article-section{border-top:1px solid var(--color-line);margin-top:3.2rem;padding-top:2.2rem}.tool-fields{gap:.7rem;display:grid}.tool-est{font-family:var(--font-display);margin:0;font-size:1.22rem}.tool-output ul{gap:.3rem;margin:.7rem 0 .4rem;padding-left:1.25rem;display:grid}.tool-output li::marker{color:var(--color-brand)}.tool-note{color:var(--color-ink-soft);margin:.5rem 0 0;font-size:.88rem}.hero{isolation:isolate;background:radial-gradient(115% 130% at 88% -20%,oklch(44% .1 150) 0%,transparent 55%),linear-gradient(178deg,var(--color-pine) 0%,var(--color-pine-deep) 100%);color:var(--color-on-pine);padding-block:clamp(3.75rem,2rem + 6vw,6.25rem);position:relative;overflow:hidden}.hero-grid{align-items:center;gap:2.5rem;display:grid}@media(min-width:64rem){.hero-grid{grid-template-columns:1.05fr .95fr;align-items:stretch;gap:3.5rem}}.hero-copy{min-width:0}.hero-media{border-radius:var(--radius-panel);aspect-ratio:16/11;border:1px solid oklch(100% 0 0/.14);position:relative;overflow:hidden;box-shadow:0 26px 60px -34px oklch(10% .03 158/.95)}@media(min-width:64rem){.hero-media{aspect-ratio:auto;min-height:23rem}}.hero-img{object-fit:cover;width:100%;height:100%;display:block}.hero h1{font-size:var(--text-display);line-height:var(--text-display--line-height);letter-spacing:var(--text-display--letter-spacing);color:var(--color-white);max-width:15ch;font-weight:800}.hero-lead{color:var(--color-on-pine-soft);max-width:36rem;margin-top:1.4rem;font-size:1.2rem;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2.2rem;display:flex}.hero .btn-primary{background:var(--color-lime);color:var(--color-pine-deep)}.hero .btn-primary:hover{background:var(--color-lime);filter:brightness(1.06)}.hero .btn-quiet{color:var(--color-white);background:#ffffff0a;border-color:#ffffff52}.hero .btn-quiet:hover{color:var(--color-white);border-color:var(--color-on-pine);background:#ffffff1a}.hero-note{font-family:var(--font-display);font-size:var(--text-meta);color:var(--color-on-pine-soft);margin-top:1.3rem}.hero-note a{color:var(--color-lime);text-underline-offset:3px}@media(prefers-reduced-motion:no-preference){@keyframes hero-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.hero-copy>*{animation:hero-rise .65s var(--ease-out-quart) both}.hero-copy>*+*{animation-delay:70ms}.hero-copy>*+*+*{animation-delay:.14s}.hero-copy>*+*+*+*{animation-delay:.21s}.hero-media{animation:hero-rise .75s var(--ease-out-quart) both;animation-delay:.12s}}.section{padding-block:3.5rem}.section-tight{padding-block:2.25rem}.band{background:var(--color-sage);border-block:1px solid var(--color-sage-deep);padding-block:3.75rem}.section-head{font-size:var(--text-h2);line-height:var(--text-h2--line-height);letter-spacing:var(--text-h2--letter-spacing);font-weight:760}.section-sub{color:var(--color-ink-soft);max-width:38rem;margin-top:.5rem}.section-head+:not(.section-sub),.section-sub+*{margin-top:1.8rem}.tool-cards{gap:1.5rem;margin-top:1.8rem;display:grid}@media(min-width:48rem){.tool-cards{grid-template-columns:1fr 1fr}}.tool-card{background:var(--color-white);border:1px solid var(--color-line-strong);border-radius:var(--radius-panel);color:var(--color-ink);transition:translate .25s var(--ease-out-quart),box-shadow .25s var(--ease-out-quart),border-color .25s var(--ease-out-quart);text-decoration:none;display:block;overflow:hidden}.tool-card:hover{box-shadow:var(--shadow-lift);border-color:var(--color-brand);translate:0 -3px}.tool-card{flex-direction:column;display:flex}.tool-card .tool-head{display:flex}.tool-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:.85rem;padding:1.15rem 1.2rem 1.3rem;display:flex}.tool-card-desc{font-family:var(--font-body);color:var(--color-ink-soft);font-size:.98rem;line-height:1.6}.tool-demo{background:var(--color-mist);border:1px solid var(--color-line);border-radius:var(--radius-field);flex-wrap:wrap;align-items:center;gap:.45rem .5rem;width:100%;padding:.75rem .85rem;display:flex}.demo-pill{font-family:var(--font-display);color:var(--color-ink-soft);background:var(--color-white);border:1px solid var(--color-line-strong);white-space:nowrap;border-radius:6px;padding:.24em .6em;font-size:.78rem;font-weight:500}.demo-plate{font-family:var(--font-mono);letter-spacing:.09em;color:var(--color-ink);background:linear-gradient(170deg,var(--color-white),var(--color-mist));border:1px solid var(--color-line-strong);white-space:nowrap;border-radius:4px;align-items:center;gap:.65em;padding:.32em .75em;font-size:.82rem;display:inline-flex}.demo-screw{background:var(--color-line-strong);border-radius:999px;flex:none;width:.32em;height:.32em}.demo-arrow{font-family:var(--font-mono);color:var(--color-brand)}.demo-result{font-family:var(--font-mono);color:var(--color-brand-deep);white-space:nowrap;font-size:.88rem;font-weight:600}.tool-card-btn{margin-top:auto}.costs-grid{gap:2.5rem;display:grid}@media(min-width:64rem){.costs-grid{grid-template-columns:1.1fr .9fr}}.feature-card{border:1px solid var(--color-line-strong);border-radius:var(--radius-panel);color:var(--color-ink);background:var(--color-white);transition:box-shadow .25s var(--ease-out-quart),border-color .25s var(--ease-out-quart),translate .25s var(--ease-out-quart);text-decoration:none;display:grid;overflow:hidden}@media(min-width:36rem){.feature-card{grid-template-columns:1.1fr .9fr}}.feature-card:hover{border-color:var(--color-brand);box-shadow:var(--shadow-lift);translate:0 -3px}.feature-media{min-height:14rem;display:block;position:relative}.feature-card img{object-fit:cover;border-radius:0 0 calc(var(--radius-panel) - 1px) calc(var(--radius-panel) - 1px);width:100%;height:100%;position:absolute;inset:0}@media(min-width:36rem){.feature-card img{border-radius:0 calc(var(--radius-panel) - 1px) calc(var(--radius-panel) - 1px) 0}}.feature-card:not(:has(.feature-media)){grid-template-columns:1fr}.feature-body{flex-direction:column;gap:.75rem;padding:1.6rem 1.5rem;display:flex}.feature-title{font-family:var(--font-display);letter-spacing:-.018em;text-wrap:balance;font-size:1.4rem;font-weight:760;line-height:1.24}.feature-desc{font-family:var(--font-body);color:var(--color-ink-soft);font-size:.98rem;line-height:1.6}.feature-meta{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-ink-soft);margin-top:auto}.row-list{display:grid}.row-item{border-bottom:1px solid var(--color-line);padding:1.05rem 0}.row-item:first-child{padding-top:0}.row-item a{font-family:var(--font-display);color:var(--color-ink);transition:color .15s var(--ease-out-quart);font-size:1.08rem;font-weight:680;line-height:1.32;text-decoration:none}.row-item a:hover{color:var(--color-brand)}.row-item p{font-family:var(--font-body);color:var(--color-ink-soft);max-width:60ch;margin-top:.35rem;font-size:.95rem;line-height:1.55}.vs-board{border:1px solid var(--color-line);border-radius:var(--radius-panel);max-width:56rem;margin-top:1.8rem;overflow:hidden}.vs-head{display:none}@media(min-width:48rem){.vs-head{background:var(--color-sage);border-bottom:1px solid var(--color-line);font-family:var(--font-display);font-size:var(--text-meta);color:var(--color-ink-soft);grid-template-columns:10.5rem 8rem 1fr 2rem;gap:.5rem 1.25rem;padding:.6rem 1.4rem;font-weight:700;display:grid}}.vs-row{color:var(--color-ink);background:var(--color-white);border-bottom:1px solid var(--color-line);transition:background-color .15s var(--ease-out-quart);gap:.3rem 1.25rem;padding:1.05rem 1.4rem;text-decoration:none;display:grid}.vs-row:last-child{border-bottom:0}@media(min-width:48rem){.vs-row{grid-template-columns:10.5rem 8rem 1fr 2rem;align-items:baseline}}.vs-row:hover{background:#e3f8e78c}.vs-row:hover .vs-go{color:var(--color-brand-deep);translate:4px}.vs-rival{font-family:var(--font-display);font-size:1.06rem;font-weight:720}.vs-prefix{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-brand);margin-right:.15em;font-size:.72rem;font-weight:400}.vs-delta{font-family:var(--font-mono);color:var(--color-brand-deep);white-space:nowrap;font-size:.88rem;font-weight:600}.vs-note{font-family:var(--font-body);color:var(--color-ink-soft);font-size:.94rem;line-height:1.55}.vs-go{font-family:var(--font-mono);color:var(--color-brand);transition:translate .15s var(--ease-out-quart),color .15s var(--ease-out-quart);justify-self:end}.vs-all{background:var(--color-mist)}@media(min-width:48rem){.vs-all{grid-template-columns:10.5rem 1fr 2rem}}.home-duo{gap:3rem;display:grid}@media(min-width:64rem){.home-duo{grid-template-columns:minmax(0,46rem) 1fr;gap:5rem}}.topic-links{flex-wrap:wrap;gap:.8rem;margin-top:1.6rem;display:flex}.topic-link{font-family:var(--font-display);color:var(--color-ink);border:1px solid var(--color-line-strong);transition:border-color .15s var(--ease-out-quart),color .15s var(--ease-out-quart),background-color .15s var(--ease-out-quart);border-radius:999px;padding:.55rem 1.1rem;font-size:1rem;font-weight:680;text-decoration:none}.topic-link:hover{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-sage)}.topic-count{font-family:var(--font-mono);color:var(--color-ink-soft);margin-left:.25rem;font-size:.8rem}.updates-list{max-width:46rem;display:grid}.update-item{border-bottom:1px solid var(--color-line);grid-template-columns:6.8rem 1fr;align-items:baseline;gap:1rem;padding:.68rem 0;display:grid}.update-date{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-ink-soft);white-space:nowrap}.update-item a{font-family:var(--font-display);color:var(--color-ink);font-size:1rem;font-weight:600;text-decoration:none}.update-item a:hover{color:var(--color-brand)}.trust-panel{background:var(--color-sage);border:1px solid var(--color-sage-deep);border-radius:var(--radius-panel);gap:2rem 3.5rem;padding:2.2rem 2.2rem 2.4rem;display:grid}@media(min-width:64rem){.trust-panel{grid-template-columns:.85fr 1.15fr}}.trust-lead p{max-width:26rem;margin-top:.7rem;font-size:1.04rem;line-height:1.65}.trust-lead .btn{margin-top:1.3rem}.trust-points{align-content:center;gap:1.05rem;padding:0;list-style:none;display:grid}.trust-points li{grid-template-columns:auto 1fr;gap:.85rem;display:grid}.point-mark{background:var(--color-leaf);border-radius:2px;width:.55rem;height:.55rem;margin-top:.45em;rotate:45deg}.trust-points p{color:var(--color-ink-soft);font-size:.98rem;line-height:1.6}.trust-points strong{font-family:var(--font-display);color:var(--color-ink);font-size:.95rem;font-weight:700}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-20{top:calc(var(--spacing) * 20)}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
