@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/a2947afc6a06879b-s.138s14ivx2xer.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/651aaf1801011892-s.3b2emle-7szv-.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/75affa71d1e2f6a7-s.p.13rul5q9jl2r0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_c50fddcf-module__xTJHDW__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_c50fddcf-module__xTJHDW__variable{--font-archivo:"Archivo", "Archivo Fallback"}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/da8a9dd0d68e512b-s.22-vvcrakukp_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/94b4a5dc1fe84361-s.2231v6bqe0i5w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/ff5be760267bb4bc-s.3qloo4qyhp26g.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/99596c30eb072d3c-s.2nm8vsxf84ypi.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e5864b32625b6bc3-s.2xh5j9ig7blp7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e285ad1a914469f0-s.3ohuq16_8-qtv.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/47df9ba1c7236d3b-s.p.3__uj2j3k64hq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Fallback";src:local(Arial);ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.0%;size-adjust:93.76%}.source_sans_3_71916a2c-module__5x7SKq__className{font-family:"Source Sans 3","Source Sans 3 Fallback";font-style:normal}.source_sans_3_71916a2c-module__5x7SKq__variable{--font-source-sans:"Source Sans 3", "Source Sans 3 Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.40kcwrf1wub16.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.200l3jur7oygh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.269kn9uafm0ti.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_80bdd358-module__UtJNba__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_80bdd358-module__UtJNba__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
@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-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:var(--font-source-sans), "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:var(--font-jetbrains), "SFMono-Regular", Menlo, Consolas, monospace;--spacing:.25rem;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-source-sans), "Segoe UI", Helvetica, Arial, sans-serif;--default-mono-font-family:var(--font-jetbrains), "SFMono-Regular", Menlo, Consolas, monospace;--font-display:var(--font-archivo), "Helvetica Neue", Arial, sans-serif}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.m-0{margin:0}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.h-full{height:100%}.min-h-full{min-height:100%}.max-w-\[620px\]{max-width:620px}.max-w-\[640px\]{max-width:640px}.max-w-\[720px\]{max-width:720px}.max-w-\[1120px\]{max-width:1120px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.rounded-card{border-radius:12px}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-rule{border-color:var(--rule)}.bg-bg{background-color:var(--bg)}.bg-surface{background-color:var(--surface)}.bg-teal-soft{background-color:var(--teal-soft)}.fill-rule{fill:var(--rule)}.p-0{padding:0}.p-6{padding:calc(var(--spacing) * 6)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-9{padding-top:calc(var(--spacing) * 9)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.font-display{font-family:var(--font-archivo), "Helvetica Neue", Arial, sans-serif}.font-mono{font-family:var(--font-jetbrains), "SFMono-Regular", Menlo, Consolas, monospace}.text-\[12\.5px\]{font-size:12.5px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[26px\]{font-size:26px}.text-\[36px\]{font-size:36px}.text-\[clamp\(30px\,5vw\,42px\)\]{font-size:clamp(30px,5vw,42px)}.text-\[clamp\(32px\,5vw\,44px\)\]{font-size:clamp(32px,5vw,44px)}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.08\]{--tw-leading:1.08;line-height:1.08}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.015em\]{--tw-tracking:-.015em;letter-spacing:-.015em}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-coral{color:var(--coral)}.text-inherit{color:inherit}.text-ink{color:var(--ink)}.text-ink-2{color:var(--ink-2)}.text-ink-3{color:var(--ink-3)}.text-teal{color:var(--teal)}.text-white{color:#fff}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-\[0_1px_2px_rgba\(20\,26\,34\,0\.04\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#141a220a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:border-teal\/60:hover{border-color:var(--teal)}@supports (color:color-mix(in lab, red, red)){.hover\:border-teal\/60:hover{border-color:color-mix(in oklab, var(--teal) 60%, transparent)}}.hover\:text-teal:hover{color:var(--teal)}}}:root{--bg:#fbfbfd;--surface:#fff;--ink:#141a22;--ink-2:#3e4a57;--ink-3:#6b7784;--rule:#e3e7ec;--teal:#0f7b7b;--teal-soft:#dff3f1;--indigo:#4551c9;--indigo-soft:#e6e8fb;--coral:#d9513c;--coral-soft:#fbe6e1;--amber:#c98a12;--amber-soft:#fdf0d2;--good:#1f8a4c;--good-soft:#def5e6;--bad:#c62f22;--bad-soft:#fbe3e0;--warn:#b7791f;--warn-soft:#fcefd3;--code-bg:#eef1f5;--canvas:#fff;--hero-a:#0f7b7b;--hero-b:#4551c9;--hero-ink:#fff;--dg-node-fill:#e9f5f3;--dg-node-stroke:#6fb3b1;--dg-text:#141a22;--dg-edge:#5b6775;--dg-edge-label:#3e4a57;--dg-cluster-fill:#f3f5f9;--dg-cluster-stroke:#c3cbd6;--dg-cluster-label:#4551c9;--dg-actor-fill:#e6e8fb;--dg-actor-stroke:#4551c9;--dg-note-fill:#fdf0d2;--dg-note-stroke:#c98a12;--dg-note-text:#5a3d05;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1218;--surface:#161c25;--ink:#e8ecf1;--ink-2:#b6bfca;--ink-3:#8491a0;--rule:#28313d;--teal:#4fc3c0;--teal-soft:#113335;--indigo:#9ba4ff;--indigo-soft:#23274a;--coral:#ff8a73;--coral-soft:#42241f;--amber:#f2b94a;--amber-soft:#3d2f12;--good:#5fcf8a;--good-soft:#163626;--bad:#ff7b6e;--bad-soft:#43201c;--warn:#e9b654;--warn-soft:#3e2f11;--code-bg:#1d2530;--canvas:#121821;--hero-a:#0b5f61;--hero-b:#2f3a9e;--dg-node-fill:#15393a;--dg-node-stroke:#3f8f8d;--dg-text:#e8ecf1;--dg-edge:#9aa6b4;--dg-edge-label:#b6bfca;--dg-cluster-fill:#1a222d;--dg-cluster-stroke:#3a4654;--dg-cluster-label:#9ba4ff;--dg-actor-fill:#23274a;--dg-actor-stroke:#9ba4ff;--dg-note-fill:#3d2f12;--dg-note-stroke:#f2b94a;--dg-note-text:#f2d9a0}}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.6}a{color:var(--teal);text-underline-offset:3px;text-decoration-thickness:1px}::selection{background:var(--teal-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--indigo);outline-offset:3px;border-radius:4px}.eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:12px}.tag{border-radius:999px;padding:3px 10px}.hero{background:linear-gradient(118deg, var(--hero-a) 0%, var(--hero-b) 100%);color:var(--hero-ink);padding:64px 20px 60px;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:radial-gradient(1200px 400px at 85% 110%,#ffffff2e,#0000 60%),radial-gradient(700px 300px at 10% -20%,#ffffff24,#0000 60%);position:absolute;inset:0}.hero .inner{z-index:1;max-width:720px;margin:0 auto;position:relative}.hero .eyebrow{opacity:.88;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero .tag{background:#ffffff29;border:1px solid #ffffff59}.hero h1{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:20px 0 22px;font-size:clamp(36px,6.6vw,60px);font-weight:700;line-height:1.02}.hero .lede{opacity:.94;text-wrap:pretty;max-width:720px;margin:0 0 24px;font-size:clamp(19px,2.4vw,23px);line-height:1.45}.hero .byline{font-family:var(--font-mono);opacity:.88;flex-wrap:wrap;gap:18px;margin:0;font-size:13px;display:flex}.hero a{color:inherit}nav.toc{background:var(--surface);border:1px solid var(--rule);border-radius:12px;max-width:720px;margin:0 auto 10px;padding:18px 22px;box-shadow:0 1px 2px #141a220a}nav.toc .label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;font-size:11px}nav.toc ol{columns:2;font-family:var(--font-display);column-gap:28px;margin:0;padding:0;font-size:15px;line-height:1.5;list-style:none}nav.toc li{break-inside:avoid;margin:0 0 7px;padding-left:16px;position:relative}nav.toc li:before{content:"";background:var(--teal);border-radius:50%;width:8px;height:8px;position:absolute;top:.55em;left:0}nav.toc li:nth-child(2n):before{background:var(--indigo)}nav.toc a{color:var(--ink-2);text-decoration:none}nav.toc a:hover{color:var(--teal)}@media (max-width:560px){nav.toc ol{columns:1}}.article{font-size:19px;line-height:1.68}.article h2{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:64px 0 16px;padding-top:14px;font-size:30px;font-weight:700;line-height:1.15;position:relative}.article h2:before{content:"";background:var(--teal);border-radius:2px;width:48px;height:3px;position:absolute;top:0;left:0}.article h2:nth-of-type(2n):before{background:var(--indigo)}.article h2 a{color:inherit;text-decoration:none}.article h2 a:hover:after{content:" #";color:var(--teal);font-weight:500}.article h3{font-family:var(--font-display);color:var(--ink);margin:32px 0 8px;font-size:19px;font-weight:600}.article p{text-wrap:pretty;margin:0 0 20px}.article ul,.article ol{margin:0 0 20px;padding-left:24px}.article ul{list-style:outside}.article ol{list-style:decimal}.article li{margin-bottom:9px;padding-left:2px}.article li::marker{color:var(--teal);font-weight:700}.article strong{color:var(--ink);font-weight:650}.article code{font-family:var(--font-mono);background:var(--code-bg);color:var(--indigo);border-radius:5px;padding:2px 6px;font-size:.8em}.article pre{background:var(--code-bg);border:1px solid var(--rule);border-radius:12px;margin:0 0 24px;padding:16px 18px;font-size:15px;line-height:1.55;overflow-x:auto}.article pre code{color:var(--ink);font-size:inherit;background:0 0;padding:0}.article hr{border:0;border-top:1px solid var(--rule);margin:48px 0}.article img{border-radius:12px;max-width:100%;height:auto}.article blockquote{background:var(--indigo-soft);color:var(--indigo);font-family:var(--font-display);text-wrap:balance;border:0;border-radius:12px;margin:8px 0 28px;padding:18px 22px;font-size:22px;font-weight:600;line-height:1.35}.article blockquote p{margin:0}.cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:14px;margin:6px 0 28px;display:grid}.card{background:var(--surface);border:1px solid var(--rule);border-top:3px solid var(--teal);border-radius:12px;padding:16px 18px 14px}@supports (color:color-mix(in lab, red, red)){.card{border-top:3px solid color-mix(in srgb, var(--teal) 80%, var(--surface))}}.card{box-shadow:0 1px 2px #141a220a}.card:nth-child(2n){border-top-color:var(--indigo)}@supports (color:color-mix(in lab, red, red)){.card:nth-child(2n){border-top-color:color-mix(in srgb, var(--indigo) 80%, var(--surface))}}.card h4{font-family:var(--font-display);margin:0 0 8px;font-size:17px;font-weight:650;line-height:1.3}.card p,.card .body{color:var(--ink-2);margin:0;font-size:16.5px;line-height:1.55}.tablewrap{background:var(--surface);border:1px solid var(--rule);border-radius:12px;margin:0 0 24px;overflow-x:auto}.article table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:16px}.article th{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--ink-3);background:var(--code-bg);padding:11px 14px;font-size:12.5px;font-weight:700}.article td{border-top:1px solid var(--rule);vertical-align:top;padding:11px 14px}.article tbody tr:nth-child(2n) td{background:var(--code-bg)}@supports (color:color-mix(in lab, red, red)){.article tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--code-bg) 40%, transparent)}}.callout{background:var(--teal-soft);border-left:6px solid var(--teal);border-radius:12px;margin:0 0 24px;padding:16px 20px;font-size:17.5px}.callout p:last-child{margin-bottom:0}.outcome{font-family:var(--font-mono);background:var(--code-bg);color:var(--ink-2);white-space:nowrap;vertical-align:1px;border:0;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:500;line-height:1.6;display:inline-block}.outcome.good{background:var(--good-soft);color:var(--good)}.outcome.bad{background:var(--bad-soft);color:var(--bad)}.outcome.warn{background:var(--warn-soft);color:var(--warn)}.stack{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px;margin:6px 0 28px;display:grid}.layer{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:16px 18px 12px;box-shadow:0 1px 2px #141a220a}.layer h4{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--teal);background:var(--teal-soft);border-radius:999px;margin:0 0 10px;padding:3px 9px;font-size:11.5px;font-weight:500;display:inline-block}.layer:nth-child(2n) h4{color:var(--indigo);background:var(--indigo-soft)}.layer ul{color:var(--ink-2);margin:0;padding-left:18px;font-size:16px;line-height:1.5}.layer li{margin-bottom:6px}.numbers{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:6px 0 26px;display:grid}.num{background:var(--teal-soft);color:var(--teal);border-radius:12px;padding:16px 16px 14px}.num:nth-child(2n){background:var(--indigo-soft);color:var(--indigo)}.num .v{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:30px;font-weight:700;line-height:1.05}.num .k{font-family:var(--font-sans);color:var(--ink-2);margin-top:8px;font-size:14px;line-height:1.35}.fin{font-family:var(--font-mono);color:var(--ink-3);font-size:13px}figure.diagram{max-width:720px;margin:28px auto 34px}figure.diagram .canvas-wrap{position:relative}figure.diagram .canvas{background:var(--canvas);border:1px solid var(--rule);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-radius:14px;padding:20px;overflow-x:auto;box-shadow:0 2px 8px #141a220f}figure.diagram svg{width:100%;height:auto;max-width:var(--nat-w,none);margin-inline:auto;display:block}figure.diagram .canvas-portrait{display:none}figure.diagram figcaption{font-family:var(--font-display);color:var(--ink-3);max-width:720px;margin:12px auto 0;padding:0 4px;font-size:14px;line-height:1.45}figure.diagram .fignum{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--teal);background:var(--teal-soft);vertical-align:1px;border-radius:999px;margin-right:10px;padding:2px 9px;font-size:11px;display:inline-block}figure.diagram .figtools{align-items:center;gap:12px;margin-top:8px;display:flex}figure.diagram .scrollhint{font-family:var(--font-mono);color:var(--ink-3);font-size:11.5px}figure.diagram .scrollhint:before{content:"↔";color:var(--teal);margin-right:6px}figure.diagram.is-scrollable .canvas-wrap:after{content:"";background:linear-gradient(to right, transparent, var(--canvas));border-radius:0 13px 13px 0;width:44px;position:absolute;top:1px;bottom:1px;right:1px}@supports (color:color-mix(in lab, red, red)){figure.diagram.is-scrollable .canvas-wrap:after{background:linear-gradient(to right, transparent, color-mix(in srgb, var(--canvas) 92%, transparent))}}figure.diagram.is-scrollable .canvas-wrap:after{pointer-events:none}figure.diagram .expand{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-2);background:var(--surface);border:1px solid var(--rule);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;display:inline-flex}figure.diagram .expand:hover{color:var(--teal);border-color:var(--teal)}@media (max-width:900px){figure.diagram.has-portrait .canvas-landscape{display:none}figure.diagram.has-portrait .canvas-portrait{display:block}}@media (max-width:560px){figure.diagram{margin-inline:-4px}figure.diagram .canvas{border-radius:12px;padding:12px}}dialog.diagram-viewer{background:var(--canvas);width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);border:0;flex-direction:column;margin:0;padding:0;display:none}dialog.diagram-viewer[open]{display:flex}dialog.diagram-viewer::backdrop{background:#0e1218b3}dialog.diagram-viewer .viewer-bar{border-bottom:1px solid var(--rule);background:var(--surface);font-family:var(--font-display);color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex}dialog.diagram-viewer .viewer-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}dialog.diagram-viewer .viewer-controls{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}dialog.diagram-viewer .viewer-controls button{font:inherit;border:1px solid var(--rule);background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:10px;font-size:18px;line-height:1}dialog.diagram-viewer .viewer-controls button:disabled{opacity:.35;cursor:default}dialog.diagram-viewer .viewer-controls .viewer-fit{width:auto;font-family:var(--font-mono);padding:0 12px;font-size:12px}dialog.diagram-viewer .viewer-controls .viewer-close{margin-left:6px;font-size:15px}dialog.diagram-viewer .zoom-level{font-family:var(--font-mono);text-align:center;font-variant-numeric:tabular-nums;min-width:44px;font-size:12px}dialog.diagram-viewer .viewer-stage{touch-action:pan-x pan-y pinch-zoom;flex:1;align-items:flex-start;padding:24px;display:flex;overflow:auto}dialog.diagram-viewer .viewer-stage svg{flex:none;height:auto;margin-inline:auto;display:block}figure.diagram dialog .fignum{margin-right:8px}figure.diagram svg{color:var(--dg-text)}figure.diagram svg .node rect,figure.diagram svg .node polygon,figure.diagram svg .node circle,figure.diagram svg .node path,figure.diagram svg .node .label-container{fill:var(--dg-node-fill)!important;stroke:var(--dg-node-stroke)!important;stroke-width:1px!important}figure.diagram svg .node.default>rect,figure.diagram svg .node.default>polygon{rx:6px;ry:6px}figure.diagram svg .cluster rect{stroke-dasharray:4 3;rx:10px;ry:10px;fill:var(--dg-cluster-fill)!important;stroke:var(--dg-cluster-stroke)!important}figure.diagram svg .cluster-label text,figure.diagram svg .cluster-label tspan,figure.diagram svg .cluster-label span{letter-spacing:.04em;font-weight:700;fill:var(--dg-cluster-label)!important;color:var(--dg-cluster-label)!important;font-family:var(--font-mono)!important;font-size:12px!important}figure.diagram svg .nodeLabel,figure.diagram svg .node text,figure.diagram svg .node tspan,figure.diagram svg .label text,figure.diagram svg .label tspan{fill:var(--dg-text)!important;color:var(--dg-text)!important;font-family:var(--font-sans)!important;font-size:15px!important}figure.diagram svg .edgeLabel text,figure.diagram svg .edgeLabel tspan,figure.diagram svg .edgeLabel span{fill:var(--dg-edge-label)!important;color:var(--dg-edge-label)!important;font-family:var(--font-mono)!important;font-size:11.5px!important}figure.diagram svg .edgeLabel rect,figure.diagram svg .edgeLabel .label-container,figure.diagram svg rect.background{rx:3px;ry:3px;fill:var(--canvas)!important;stroke:var(--canvas)!important;stroke-width:4px!important;stroke-linejoin:round!important}figure.diagram svg .flowchart-link,figure.diagram svg .edgePath path,figure.diagram svg .edge-thickness-normal{stroke:var(--dg-edge)!important;stroke-width:1.6px!important}figure.diagram svg marker path,figure.diagram svg .arrowMarkerPath{fill:var(--dg-edge)!important;stroke:var(--dg-edge)!important}figure.diagram svg .actor,figure.diagram svg rect.actor-box{fill:var(--dg-actor-fill)!important;stroke:var(--dg-actor-stroke)!important}figure.diagram svg text.actor,figure.diagram svg text.actor>tspan{fill:var(--dg-text)!important;font-family:var(--font-sans)!important}figure.diagram svg .actor-line{stroke:var(--dg-cluster-stroke)!important}figure.diagram svg .messageLine0,figure.diagram svg .messageLine1{stroke:var(--dg-edge)!important}figure.diagram svg .messageText,figure.diagram svg .messageText tspan{fill:var(--dg-text)!important;font-family:var(--font-sans)!important;font-size:14px!important}figure.diagram svg .note{fill:var(--dg-note-fill)!important;stroke:var(--dg-note-stroke)!important}figure.diagram svg .noteText,figure.diagram svg .noteText tspan{fill:var(--dg-note-text)!important;font-size:13px!important}figure.diagram svg #arrowhead path,figure.diagram svg #crosshead path,figure.diagram svg #filled-head path,figure.diagram svg #sequencenumber{fill:var(--dg-edge)!important;stroke:var(--dg-edge)!important}figure.screens{outline:none;max-width:720px;margin:28px auto 34px}figure.screens:focus-visible .screens-frame{outline:2px solid var(--indigo);outline-offset:3px}figure.screens .screens-frame{background:var(--surface);border:1px solid var(--rule);border-radius:14px;position:relative;overflow:hidden;box-shadow:0 2px 8px #141a220f}figure.screens .screens-open{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}figure.screens .screens-open img{width:100%;height:auto;display:block}figure.screens .screens-arrow{border:1px solid var(--rule);background:var(--surface);border-radius:50%;width:40px;height:40px;position:absolute;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){figure.screens .screens-arrow{background:color-mix(in srgb, var(--surface) 88%, transparent)}}figure.screens .screens-arrow{color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:26px;line-height:1;box-shadow:0 1px 3px #141a221f}figure.screens .screens-arrow:hover{color:var(--teal);border-color:var(--teal)}figure.screens .screens-arrow.prev{left:10px}figure.screens .screens-arrow.next{right:10px}figure.screens figcaption{font-family:var(--font-display);color:var(--ink-3);max-width:720px;margin:12px auto 0;padding:0 4px;font-size:14px;line-height:1.45}figure.screens .fignum{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--indigo);background:var(--indigo-soft);vertical-align:1px;border-radius:999px;margin-right:10px;padding:2px 9px;font-size:11px;display:inline-block}figure.screens .screens-count{font-family:var(--font-mono);color:var(--ink-3);font-variant-numeric:tabular-nums;margin-right:10px;font-size:11.5px}figure.screens .screens-dots{justify-content:center;gap:6px;margin-top:10px;display:flex}figure.screens .screens-dots button{background:var(--rule);cursor:pointer;border:0;border-radius:50%;width:8px;height:8px;padding:0;transition:transform .12s,background .12s}figure.screens .screens-dots button:hover{transform:scale(1.3)}figure.screens .screens-dots button.on{background:var(--indigo)}@media (max-width:560px){figure.screens{margin-inline:-4px}figure.screens .screens-arrow{width:34px;height:34px;font-size:22px}}dialog.screens-viewer{background:var(--bg);width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);border:0;flex-direction:column;margin:0;padding:0;display:none}dialog.screens-viewer[open]{display:flex}dialog.screens-viewer::backdrop{background:#0e1218b3}dialog.screens-viewer .viewer-bar{border-bottom:1px solid var(--rule);background:var(--surface);font-family:var(--font-display);color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex}dialog.screens-viewer .viewer-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}dialog.screens-viewer .viewer-controls button{font:inherit;border:1px solid var(--rule);background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:10px;font-size:15px;line-height:1}dialog.screens-viewer .viewer-stage{touch-action:pan-x pan-y pinch-zoom;flex:1;padding:16px;position:relative;overflow:auto}dialog.screens-viewer .viewer-stage img{border:1px solid var(--rule);background:var(--surface);border-radius:10px;width:100%;max-width:1600px;height:auto;margin:0 auto;display:block}dialog.screens-viewer .screens-arrow{border:1px solid var(--rule);background:var(--surface);border-radius:50%;width:44px;height:44px;position:fixed;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){dialog.screens-viewer .screens-arrow{background:color-mix(in srgb, var(--surface) 90%, transparent)}}dialog.screens-viewer .screens-arrow{color:var(--ink);cursor:pointer;font-size:28px;line-height:1;box-shadow:0 1px 3px #141a221f}dialog.screens-viewer .screens-arrow.prev{left:12px}dialog.screens-viewer .screens-arrow.next{right:12px}.back-to-top{z-index:20;border:1px solid var(--rule);background:var(--surface);border-radius:50%;width:42px;height:42px;position:fixed;bottom:18px;right:18px}@supports (color:color-mix(in lab, red, red)){.back-to-top{background:color-mix(in srgb, var(--surface) 92%, transparent)}}.back-to-top{color:var(--ink-2);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;place-items:center;transition:opacity .18s,transform .18s,color .12s,border-color .12s;display:grid;transform:translateY(12px);box-shadow:0 2px 8px #141a2224}.back-to-top.show{opacity:1;pointer-events:auto;transform:none}.back-to-top:hover{color:var(--teal);border-color:var(--teal)}@media (prefers-reduced-motion:reduce){.back-to-top{transition:none;transform:none}}@media (max-width:560px){.back-to-top{width:40px;height:40px;bottom:14px;right:14px}}@media print{body{color:#000;background:#fff;font-size:11.5pt}.hero{color:#000;background:#fff;padding:0 0 12pt}.hero:after,nav.toc,.site-header,.site-footer,.author-card,.screens-arrow,.screens-dots,.back-to-top{display:none}figure.diagram .canvas{box-shadow:none;border:1px solid #bbb;overflow:visible}figure.diagram svg{min-width:0}figure.diagram .figtools{display:none}.article h2{break-after:avoid}figure,.callout,.tablewrap,.card{break-inside:avoid}}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
