.logo-houssem[data-astro-cid-4g6ndoe5]{display:block;width:auto;overflow:visible;color:var(--logo-letters)}[data-astro-cid-4g6ndoe5][data-logo-o]{transform-box:fill-box;transform-origin:50% 100%}.hb-btn[data-astro-cid-mb2vhhm6]{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius-pill);border:1px solid transparent;font-family:var(--font-sans);font-weight:600;line-height:20px;text-decoration:none;cursor:pointer;transition:filter .15s ease,background-color .15s ease}.hb-btn--sm[data-astro-cid-mb2vhhm6]{min-height:44px;padding:0 20px;font-size:14px}.hb-btn--md[data-astro-cid-mb2vhhm6]{min-height:48px;padding:0 24px;font-size:15px}.hb-btn--lg[data-astro-cid-mb2vhhm6]{min-height:52px;padding:0 28px;font-size:16px}.hb-btn--primary[data-astro-cid-mb2vhhm6]{background:var(--accent);color:var(--on-accent)}.hb-btn--ghost[data-astro-cid-mb2vhhm6]{background:transparent;color:var(--ink);border-color:var(--line)}.hb-btn--ghost[data-astro-cid-mb2vhhm6]:hover{background:var(--surface)}.hb-btn--inverse[data-astro-cid-mb2vhhm6]{background:var(--on-teal);color:#eef0ff}.hb-btn--primary[data-astro-cid-mb2vhhm6]:hover,.hb-btn--inverse[data-astro-cid-mb2vhhm6]:hover{filter:brightness(1.08)}.hb-btn[data-astro-cid-mb2vhhm6]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.hb-btn[data-astro-cid-mb2vhhm6]:disabled{cursor:not-allowed;opacity:.6}.chev[data-astro-cid-mb2vhhm6]{font-family:var(--font-mono);font-weight:700}.theme-toggle[data-astro-cid-os57qjcb]{position:relative;display:block;width:36px;height:36px;overflow:hidden;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--accent);cursor:pointer}.theme-toggle[data-astro-cid-os57qjcb][hidden]{display:none}.theme-toggle__icon[data-astro-cid-os57qjcb]{position:absolute;top:50%;left:50%;width:20px;height:20px;transform:translate(-50%,-50%);transition:transform .3s ease,opacity .3s ease}.theme-toggle__sun[data-astro-cid-os57qjcb]{opacity:0;transform:translate(-50%,-150%)}[data-theme=light] .theme-toggle__sun[data-astro-cid-os57qjcb]{opacity:1;transform:translate(-50%,-50%)}[data-theme=light] .theme-toggle__moon[data-astro-cid-os57qjcb]{opacity:0;transform:translate(-50%,-150%)}.site-header[data-astro-cid-mwoppcd7]{position:relative;z-index:50;background:var(--ground);color:var(--ink);border-bottom:1px solid var(--line-soft);padding:0 clamp(16px,5vw,80px)}.site-header__inner[data-astro-cid-mwoppcd7]{max-width:1280px;margin:0 auto;min-height:96px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;padding:16px 0}.site-header__logo[data-astro-cid-mwoppcd7]{display:flex;align-items:center;padding:6px 0}.site-nav[data-astro-cid-mwoppcd7]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;font:600 14px/20px var(--font-sans)}.site-nav__links[data-astro-cid-mwoppcd7],.site-nav__lang[data-astro-cid-mwoppcd7]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;margin:0;padding:0;list-style:none}.site-nav__tools[data-astro-cid-mwoppcd7]{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.site-nav__link[data-astro-cid-mwoppcd7]{display:flex;flex-direction:column;gap:6px;padding-top:10px;color:var(--ink-muted);text-decoration:none}.site-nav__link[data-astro-cid-mwoppcd7]:hover,.site-nav__link[data-astro-cid-mwoppcd7].is-active{color:var(--ink)}.site-nav__bar[data-astro-cid-mwoppcd7]{display:flex;gap:3px;align-items:center;visibility:hidden}.site-nav__bar[data-astro-cid-mwoppcd7] i[data-astro-cid-mwoppcd7]{width:22px;height:4px;border-radius:var(--radius-pill);background:var(--accent)}.site-nav__bar[data-astro-cid-mwoppcd7] b[data-astro-cid-mwoppcd7]{width:4px;height:4px;border-radius:50%;background:var(--accent)}.site-nav__link[data-astro-cid-mwoppcd7].is-active .site-nav__bar[data-astro-cid-mwoppcd7]{visibility:visible}.site-nav__lang[data-astro-cid-mwoppcd7]{gap:6px;font:500 13px/20px var(--font-mono)}.site-nav__lang[data-astro-cid-mwoppcd7] li[data-astro-cid-mwoppcd7]{display:flex;align-items:center;gap:6px}.site-nav__lang-sep[data-astro-cid-mwoppcd7]{color:var(--line)}.site-nav__lang-link[data-astro-cid-mwoppcd7]{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--ink-muted);text-decoration:none}.site-nav__lang-link[data-astro-cid-mwoppcd7].is-current{color:var(--ink)}.site-header__toggle[data-astro-cid-mwoppcd7]{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:var(--radius-pill);background:transparent;color:var(--ink);font:600 14px/20px var(--font-sans);cursor:pointer}.site-header__toggle[data-astro-cid-mwoppcd7][hidden]{display:none}.site-header__toggle-bars[data-astro-cid-mwoppcd7]{display:grid;gap:3px}.site-header__toggle-bars[data-astro-cid-mwoppcd7] i[data-astro-cid-mwoppcd7]{display:block;height:3px;border-radius:var(--radius-pill);background:var(--accent)}.site-header__toggle-bars[data-astro-cid-mwoppcd7] i[data-astro-cid-mwoppcd7]:nth-child(1),.site-header__toggle-bars[data-astro-cid-mwoppcd7] i[data-astro-cid-mwoppcd7]:nth-child(3){width:16px}.site-header__toggle-bars[data-astro-cid-mwoppcd7] i[data-astro-cid-mwoppcd7]:nth-child(2){width:10px}@media (min-width: 960px){.site-header__toggle[data-astro-cid-mwoppcd7]{display:none!important}}@media (max-width: 959px){.site-header[data-astro-cid-mwoppcd7][data-js] .site-nav[data-astro-cid-mwoppcd7]{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:24px;padding:8px 0 16px}.site-header[data-astro-cid-mwoppcd7][data-js].is-open .site-nav[data-astro-cid-mwoppcd7]{display:flex}.site-header[data-astro-cid-mwoppcd7][data-js] .site-nav__links[data-astro-cid-mwoppcd7]{flex-direction:column;align-items:stretch;gap:0}.site-header[data-astro-cid-mwoppcd7][data-js] .site-nav__link[data-astro-cid-mwoppcd7]{flex-direction:row;align-items:center;justify-content:space-between;min-height:48px;padding:0;border-bottom:1px solid var(--line-soft);font-size:16px}.site-header[data-astro-cid-mwoppcd7]:not([data-js]) .site-nav__link[data-astro-cid-mwoppcd7]{min-height:44px;justify-content:center}}.site-footer[data-astro-cid-zizlwfnu]{background:var(--ground-deep);color:var(--ink);padding:64px clamp(16px,5vw,80px) 32px;border-top:1px solid var(--line-soft)}.site-footer__inner[data-astro-cid-zizlwfnu]{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:48px}.site-footer__cols[data-astro-cid-zizlwfnu]{display:flex;flex-wrap:wrap;gap:40px 64px}.site-footer__brand[data-astro-cid-zizlwfnu]{flex:2 1 320px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.site-footer__pitch[data-astro-cid-zizlwfnu]{margin:0;max-width:38ch;font:400 15px/24px var(--font-sans);color:var(--ink-muted)}.site-footer__status[data-astro-cid-zizlwfnu]{display:inline-flex;align-items:center;gap:8px;margin:0;font:600 13px/18px var(--font-sans)}.site-footer__dot[data-astro-cid-zizlwfnu]{width:8px;height:8px;border-radius:50%;background:var(--accent)}.site-footer__col[data-astro-cid-zizlwfnu]{flex:1 1 160px;display:flex;flex-direction:column;gap:10px;font:400 15px/22px var(--font-sans)}.site-footer__col--wide[data-astro-cid-zizlwfnu]{flex-basis:220px}.site-footer__col[data-astro-cid-zizlwfnu] ul[data-astro-cid-zizlwfnu]{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.site-footer[data-astro-cid-zizlwfnu] a[data-astro-cid-zizlwfnu]{color:var(--ink);text-decoration:none}.site-footer[data-astro-cid-zizlwfnu] a[data-astro-cid-zizlwfnu]:hover{text-decoration:underline;text-underline-offset:3px}.site-footer__mail[data-astro-cid-zizlwfnu]{font:500 14px/22px var(--font-mono);overflow-wrap:anywhere}.site-footer__bottom[data-astro-cid-zizlwfnu]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:24px;border-top:1px solid var(--line-soft);font:400 13px/20px var(--font-sans);color:var(--ink-muted)}.site-footer__legal[data-astro-cid-zizlwfnu]{display:flex;gap:20px}.site-footer__legal[data-astro-cid-zizlwfnu] a[data-astro-cid-zizlwfnu]{color:var(--ink-muted)}@font-face{font-family:Source Code Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/source-code-pro-latin-500-normal.DrRT_DWv.woff2) format("woff2"),url(/_astro/source-code-pro-latin-500-normal.DwGdNAND.woff) format("woff")}@font-face{font-family:Source Code Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-code-pro-latin-700-normal.DKwZGtZT.woff2) format("woff2"),url(/_astro/source-code-pro-latin-700-normal.DQXC5bpC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/manrope-latin-400-normal.PaqtzbVb.woff2) format("woff2"),url(/_astro/manrope-latin-400-normal.8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/manrope-latin-600-normal.4f0koTD-.woff2) format("woff2"),url(/_astro/manrope-latin-600-normal.BqgrALkZ.woff) format("woff")}:root,[data-theme=dark]{color-scheme:dark;--ground: #12132e;--ground-rgb: 18 19 46;--surface: #1a1b3f;--surface-rgb: 26 27 63;--surface-raised: #22245a;--surface-raised-rgb: 34 36 90;--line: #2a2d63;--line-rgb: 42 45 99;--ink: #eef0ff;--ink-rgb: 238 240 255;--ink-muted: #a6a9d6;--ink-muted-rgb: 166 169 214;--navy: #1a1b3f;--navy-rgb: 26 27 63;--teal-700: #0d9488;--teal-700-rgb: 13 148 136;--teal-500: #10c6b6;--teal-500-rgb: 16 198 182;--teal-300: #13dfcd;--teal-300-rgb: 19 223 205;--accent: #13dfcd;--accent-rgb: 19 223 205;--on-accent: #12132e;--on-accent-rgb: 18 19 46;--focus: #13dfcd;--focus-rgb: 19 223 205;--spark: #ffc857;--spark-rgb: 255 200 87}[data-theme=light]{color-scheme:light;--ground: #f4f6fb;--ground-rgb: 244 246 251;--surface: #ffffff;--surface-rgb: 255 255 255;--surface-raised: #eef1f8;--surface-raised-rgb: 238 241 248;--line: #d6daea;--line-rgb: 214 218 234;--ink: #12132e;--ink-rgb: 18 19 46;--ink-muted: #4a4e7a;--ink-muted-rgb: 74 78 122;--navy: #1a1b3f;--navy-rgb: 26 27 63;--teal-700: #0d9488;--teal-700-rgb: 13 148 136;--teal-500: #10c6b6;--teal-500-rgb: 16 198 182;--teal-300: #13dfcd;--teal-300-rgb: 19 223 205;--accent: #0b7a6f;--accent-rgb: 11 122 111;--on-accent: #ffffff;--on-accent-rgb: 255 255 255;--focus: #0b7a6f;--focus-rgb: 11 122 111;--spark: #b7791f;--spark-rgb: 183 121 31}:root{--font-mono: "Source Code Pro", ui-monospace, Menlo, Consolas, monospace;--font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--cut-angle: 6deg;--cut-gap: 6px;--bar-height: 10px;--text-display-xl: 56px/60px;--text-display-l: 40px/46px;--text-title: 24px/30px;--text-eyebrow: 12px/16px;--text-code: 14px/22px;--text-body-l: 18px/28px;--text-body: 16px/26px;--text-label: 14px/20px;--text-caption: 13px/20px}[tooltip]{position:relative}[tooltip]:before,[tooltip]:after{text-transform:none;font-size:.9em;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;position:absolute;display:none;opacity:0}[tooltip]:before{content:"";border:5px solid transparent;z-index:1001}[tooltip]:after{content:attr(tooltip);font-family:Helvetica,sans-serif;text-align:center;--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity));font-family:var(--font-sans);font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(30 41 59 / .2);--tw-shadow: var(--tw-shadow-colored)}:is(.dark [tooltip]):after{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity));--tw-shadow-color: rgb(51 65 85 / .1);--tw-shadow: var(--tw-shadow-colored)}[tooltip]:after{min-width:3em;max-width:21em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1ch 1.5ch;border-radius:.5ch;z-index:1000}[tooltip]:hover:before,[tooltip]:hover:after,[tooltip]:focus:before,[tooltip]:focus:after,[tooltip]:focus-within:before,[tooltip]:focus-within:after{display:block}[tooltip=""]:before,[tooltip=""]:after{display:none!important}[tooltip]:not([flow]):before,[tooltip][flow^=up]:before{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}:is(.dark [tooltip]:not([flow])):before,:is(.dark [tooltip][flow^=up]):before{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}[tooltip]:not([flow]):before,[tooltip][flow^=up]:before{bottom:calc(100% + 10px);border-bottom-width:0;border-top-color:currentColor}[tooltip]:not([flow]):after,[tooltip][flow^=up]:after{bottom:calc(100% + 15px)}[tooltip]:not([flow]):before,[tooltip]:not([flow]):after,[tooltip][flow^=up]:before,[tooltip][flow^=up]:after{left:50%;transform:translate(-50%,-.5em)}[tooltip][flow^=down]:before{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}:is(.dark [tooltip][flow^=down]):before{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}[tooltip][flow^=down]:before{top:100%;border-top-width:0;border-bottom-color:currentColor}[tooltip][flow^=down]:after{top:calc(100% + 5px)}[tooltip][flow^=down]:before,[tooltip][flow^=down]:after{left:50%;transform:translate(-50%,.5em)}[tooltip][flow^=left]:before{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}:is(.dark [tooltip][flow^=left]):before{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}[tooltip][flow^=left]:before{top:50%;border-right-width:0;border-left-color:currentColor;left:calc(0em - 5px);transform:translate(-.5em,-50%)}[tooltip][flow^=left]:after{top:50%;right:calc(100% + 5px);transform:translate(-.5em,-50%)}[tooltip][flow^=right]:before{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}:is(.dark [tooltip][flow^=right]):before{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}[tooltip][flow^=right]:before{top:50%;border-left-width:0;border-right-color:currentColor;right:calc(0em - 5px);transform:translate(.5em,-50%)}[tooltip][flow^=right]:after{top:50%;left:calc(100% + 5px);transform:translate(.5em,-50%)}@keyframes tooltips-vert{to{opacity:.9;transform:translate(-50%)}}@keyframes tooltips-horz{to{opacity:.9;transform:translateY(-50%)}}[tooltip]:not([flow]):hover:before,[tooltip]:not([flow]):hover:after,[tooltip][flow^=up]:hover:before,[tooltip][flow^=up]:hover:after,[tooltip][flow^=down]:hover:before,[tooltip][flow^=down]:hover:after,[tooltip]:not([flow]):focus:before,[tooltip]:not([flow]):focus:after,[tooltip][flow^=up]:focus:before,[tooltip][flow^=up]:focus:after,[tooltip][flow^=down]:focus:before,[tooltip][flow^=down]:focus:after,[tooltip]:not([flow]):focus-within:before,[tooltip]:not([flow]):focus-within:after,[tooltip][flow^=up]:focus-within:before,[tooltip][flow^=up]:focus-within:after,[tooltip][flow^=down]:focus-within:before,[tooltip][flow^=down]:focus-within:after{animation:tooltips-vert .3s ease-out forwards}[tooltip][flow^=left]:hover:before,[tooltip][flow^=left]:hover:after,[tooltip][flow^=right]:hover:before,[tooltip][flow^=right]:hover:after,[tooltip][flow^=left]:focus:before,[tooltip][flow^=left]:focus:after,[tooltip][flow^=right]:focus:before,[tooltip][flow^=right]:focus:after,[tooltip][flow^=left]:focus-within:before,[tooltip][flow^=left]:focus-within:after,[tooltip][flow^=right]:focus-within:before,[tooltip][flow^=right]:focus-within:after{animation:tooltips-horz .3s ease-out forwards}.hb-prose{display:flex;flex-direction:column;gap:22px;max-width:720px;font:400 18px/30px var(--font-sans);color:var(--ink-soft);overflow-wrap:break-word}.hb-prose>*{margin:0}.hb-prose--lead>p:first-child{font-size:20px;line-height:32px;color:var(--ink)}.hb-prose h2,.hb-prose h3,.hb-prose h4{margin-top:16px;color:var(--ink);font-family:var(--font-mono);font-weight:700;scroll-margin-top:24px}.hb-prose h2{font-size:26px;line-height:34px}.hb-prose h3{font-size:21px;line-height:28px}.hb-prose h4{font-size:18px;line-height:26px}.hb-prose strong{color:var(--ink);font-weight:600}.hb-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.hb-prose ul,.hb-prose ol{display:flex;flex-direction:column;gap:8px;padding-left:1.4em}.hb-prose ul{list-style:none;padding-left:0}.hb-prose ul>li{position:relative;padding-left:30px}.hb-prose ul>li:before{content:"";position:absolute;left:0;top:12px;width:18px;height:6px;border-radius:var(--radius-pill);background:var(--teal-500)}.hb-prose ol>li::marker{color:var(--accent);font-family:var(--font-mono);font-weight:700}.hb-prose :not(pre)>code{padding:2px 6px;border-radius:var(--radius-sm);background:var(--surface);color:var(--accent);font:500 .85em/1 var(--font-mono)}.hb-prose pre{padding:18px 20px;overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--ground-deep);color:var(--ink);font:500 14px/24px var(--font-mono)}.hb-prose pre code{font:inherit;background:none;color:inherit}.hb-prose blockquote{position:relative;padding:22px 24px 22px 70px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:16px;line-height:26px}.hb-prose blockquote:before{content:"";position:absolute;left:24px;top:28px;width:30px;height:25px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='25' viewBox='0 0 30 25'%3E%3Crect width='22' height='5' rx='2.5' fill='%230d9488'/%3E%3Ccircle cx='27.5' cy='2.5' r='2.5' fill='%230d9488'/%3E%3Crect y='10' width='14' height='5' rx='2.5' fill='%2310c6b6'/%3E%3Ccircle cx='19.5' cy='12.5' r='2.5' fill='%2310c6b6'/%3E%3Crect y='20' width='22' height='5' rx='2.5' fill='%2313dfcd'/%3E%3Ccircle cx='27.5' cy='22.5' r='2.5' fill='%2313dfcd'/%3E%3C/svg%3E") no-repeat}.hb-prose blockquote>*{margin:0}.hb-prose blockquote>*+*{margin-top:8px}.hb-prose img,.hb-prose video{max-width:100%;height:auto;border-radius:var(--radius-md)}.hb-prose figure figcaption{margin-top:8px;font:400 13px/20px var(--font-sans);color:var(--ink-muted)}.hb-prose hr{border:0;height:4px;border-radius:var(--radius-pill);background:var(--line)}.hb-prose table{display:block;overflow-x:auto;border-collapse:collapse;font-size:16px;line-height:24px}.hb-prose th,.hb-prose td{padding:10px 14px;border:1px solid var(--line);text-align:left;vertical-align:top}.hb-prose th{background:var(--surface);color:var(--ink);font-weight:600}[data-theme=dark] .hb-prose .astro-code span{color:var(--shiki-dark)}[data-theme=light] .hb-prose .astro-code span{color:var(--shiki-light)}.hb-prose .term{position:relative;display:inline}.hb-prose .term__link{color:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px;cursor:help}.hb-prose .term__link:hover,.hb-prose .term__link:focus-visible{text-decoration-style:solid}.hb-prose .term__tip{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:20;width:-moz-max-content;width:max-content;max-width:min(320px,80vw);padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);font:400 14px/21px var(--font-sans);text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease,visibility .12s}.hb-prose .term__tip strong{display:block;margin-bottom:4px;font:700 13px/18px var(--font-mono);color:var(--accent)}.hb-prose .term:hover .term__tip,.hb-prose .term:focus-within .term__tip{opacity:1;visibility:visible;transform:translate(-50%)}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--color-inherit: inherit;--color-current: currentColor;--color-transparent: transparent;--color-black: #000;--color-white: #fff;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-slate-950: #020617;--color-slate-1000: #0a101f;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-gray-950: #030712;--color-gray-1000: #080c14;--color-zinc-50: #fafafa;--color-zinc-100: #f4f4f5;--color-zinc-200: #e4e4e7;--color-zinc-300: #d4d4d8;--color-zinc-400: #a1a1aa;--color-zinc-500: #71717a;--color-zinc-600: #52525b;--color-zinc-700: #3f3f46;--color-zinc-800: #27272a;--color-zinc-900: #18181b;--color-zinc-950: #09090b;--color-zinc-1000: #101012;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--color-neutral-950: #0a0a0a;--color-neutral-1000: #080808;--color-stone-50: #fafaf9;--color-stone-100: #f5f5f4;--color-stone-200: #e7e5e4;--color-stone-300: #d6d3d1;--color-stone-400: #a8a29e;--color-stone-500: #78716c;--color-stone-600: #57534e;--color-stone-700: #44403c;--color-stone-800: #292524;--color-stone-900: #1c1917;--color-stone-950: #0c0a09;--color-stone-1000: #0f0d0c;--color-red-50: #fef2f2;--color-red-100: #fee2e2;--color-red-200: #fecaca;--color-red-300: #fca5a5;--color-red-400: #f87171;--color-red-500: #ef4444;--color-red-600: #dc2626;--color-red-700: #b91c1c;--color-red-800: #991b1b;--color-red-900: #7f1d1d;--color-red-950: #450a0a;--color-orange-50: #fff7ed;--color-orange-100: #ffedd5;--color-orange-200: #fed7aa;--color-orange-300: #fdba74;--color-orange-400: #fb923c;--color-orange-500: #f97316;--color-orange-600: #ea580c;--color-orange-700: #c2410c;--color-orange-800: #9a3412;--color-orange-900: #7c2d12;--color-orange-950: #431407;--color-amber-50: #fffbeb;--color-amber-100: #fef3c7;--color-amber-200: #fde68a;--color-amber-300: #fcd34d;--color-amber-400: #fbbf24;--color-amber-500: #f59e0b;--color-amber-600: #d97706;--color-amber-700: #b45309;--color-amber-800: #92400e;--color-amber-900: #78350f;--color-amber-950: #451a03;--color-yellow-50: #fefce8;--color-yellow-100: #fef9c3;--color-yellow-200: #fef08a;--color-yellow-300: #fde047;--color-yellow-400: #facc15;--color-yellow-500: #eab308;--color-yellow-600: #ca8a04;--color-yellow-700: #a16207;--color-yellow-800: #854d0e;--color-yellow-900: #713f12;--color-yellow-950: #422006;--color-lime-50: #f7fee7;--color-lime-100: #ecfccb;--color-lime-200: #d9f99d;--color-lime-300: #bef264;--color-lime-400: #a3e635;--color-lime-500: #84cc16;--color-lime-600: #65a30d;--color-lime-700: #4d7c0f;--color-lime-800: #3f6212;--color-lime-900: #365314;--color-lime-950: #1a2e05;--color-green-50: #f0fdf4;--color-green-100: #dcfce7;--color-green-200: #bbf7d0;--color-green-300: #86efac;--color-green-400: #4ade80;--color-green-500: #22c55e;--color-green-600: #16a34a;--color-green-700: #15803d;--color-green-800: #166534;--color-green-900: #14532d;--color-green-950: #052e16;--color-emerald-50: #ecfdf5;--color-emerald-100: #d1fae5;--color-emerald-200: #a7f3d0;--color-emerald-300: #6ee7b7;--color-emerald-400: #34d399;--color-emerald-500: #10b981;--color-emerald-600: #059669;--color-emerald-700: #047857;--color-emerald-800: #065f46;--color-emerald-900: #064e3b;--color-emerald-950: #022c22;--color-teal-50: #f0fdfa;--color-teal-100: #ccfbf1;--color-teal-200: #99f6e4;--color-teal-300: #5eead4;--color-teal-400: #2dd4bf;--color-teal-500: #14b8a6;--color-teal-600: #0d9488;--color-teal-700: #0f766e;--color-teal-800: #115e59;--color-teal-900: #134e4a;--color-teal-950: #042f2e;--color-cyan-50: #ecfeff;--color-cyan-100: #cffafe;--color-cyan-200: #a5f3fc;--color-cyan-300: #67e8f9;--color-cyan-400: #22d3ee;--color-cyan-500: #06b6d4;--color-cyan-600: #0891b2;--color-cyan-700: #0e7490;--color-cyan-800: #155e75;--color-cyan-900: #164e63;--color-cyan-950: #083344;--color-sky-50: #f0f9ff;--color-sky-100: #e0f2fe;--color-sky-200: #bae6fd;--color-sky-300: #7dd3fc;--color-sky-400: #38bdf8;--color-sky-500: #0ea5e9;--color-sky-600: #0284c7;--color-sky-700: #0369a1;--color-sky-800: #075985;--color-sky-900: #0c4a6e;--color-sky-950: #082f49;--color-blue-50: #eff6ff;--color-blue-100: #dbeafe;--color-blue-200: #bfdbfe;--color-blue-300: #93c5fd;--color-blue-400: #60a5fa;--color-blue-500: #3b82f6;--color-blue-600: #2563eb;--color-blue-700: #1d4ed8;--color-blue-800: #1e40af;--color-blue-900: #1e3a8a;--color-blue-950: #172554;--color-indigo-50: #eef2ff;--color-indigo-100: #e0e7ff;--color-indigo-200: #c7d2fe;--color-indigo-300: #a5b4fc;--color-indigo-400: #818cf8;--color-indigo-500: #6366f1;--color-indigo-600: #4f46e5;--color-indigo-700: #4338ca;--color-indigo-800: #3730a3;--color-indigo-900: #312e81;--color-indigo-950: #1e1b4b;--color-violet-50: #f5f3ff;--color-violet-100: #ede9fe;--color-violet-200: #ddd6fe;--color-violet-300: #c4b5fd;--color-violet-400: #a78bfa;--color-violet-500: #8b5cf6;--color-violet-600: #7c3aed;--color-violet-700: #6d28d9;--color-violet-800: #5b21b6;--color-violet-900: #4c1d95;--color-violet-950: #2e1065;--color-purple-50: #faf5ff;--color-purple-100: #f3e8ff;--color-purple-200: #e9d5ff;--color-purple-300: #d8b4fe;--color-purple-400: #c084fc;--color-purple-500: #a855f7;--color-purple-600: #9333ea;--color-purple-700: #7e22ce;--color-purple-800: #6b21a8;--color-purple-900: #581c87;--color-purple-950: #3b0764;--color-fuchsia-50: #fdf4ff;--color-fuchsia-100: #fae8ff;--color-fuchsia-200: #f5d0fe;--color-fuchsia-300: #f0abfc;--color-fuchsia-400: #e879f9;--color-fuchsia-500: #d946ef;--color-fuchsia-600: #c026d3;--color-fuchsia-700: #a21caf;--color-fuchsia-800: #86198f;--color-fuchsia-900: #701a75;--color-fuchsia-950: #4a044e;--color-pink-50: #fdf2f8;--color-pink-100: #fce7f3;--color-pink-200: #fbcfe8;--color-pink-300: #f9a8d4;--color-pink-400: #f472b6;--color-pink-500: #ec4899;--color-pink-600: #db2777;--color-pink-700: #be185d;--color-pink-800: #9d174d;--color-pink-900: #831843;--color-pink-950: #500724;--color-rose-50: #fff1f2;--color-rose-100: #ffe4e6;--color-rose-200: #fecdd3;--color-rose-300: #fda4af;--color-rose-400: #fb7185;--color-rose-500: #f43f5e;--color-rose-600: #e11d48;--color-rose-700: #be123c;--color-rose-800: #9f1239;--color-rose-900: #881337;--color-rose-950: #4c0519;--color-ground: rgb(var(--ground-rgb) / <alpha-value>);--color-surface: rgb(var(--surface-rgb) / <alpha-value>);--color-surface-raised: rgb(var(--surface-raised-rgb) / <alpha-value>);--color-line: rgb(var(--line-rgb) / <alpha-value>);--color-ink: rgb(var(--ink-rgb) / <alpha-value>);--color-ink-muted: rgb(var(--ink-muted-rgb) / <alpha-value>);--color-navy: rgb(var(--navy-rgb) / <alpha-value>);--color-accent: rgb(var(--accent-rgb) / <alpha-value>);--color-on-accent: rgb(var(--on-accent-rgb) / <alpha-value>);--color-focus: rgb(var(--focus-rgb) / <alpha-value>);--color-spark: rgb(var(--spark-rgb) / <alpha-value>);--color-brand-300: rgb(var(--teal-300-rgb) / <alpha-value>);--color-brand-500: rgb(var(--teal-500-rgb) / <alpha-value>);--color-brand-700: rgb(var(--teal-700-rgb) / <alpha-value>);--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-200: #c7d2fe;--color-primary-300: #a5b4fc;--color-primary-400: #818cf8;--color-primary-500: #6366f1;--color-primary-600: #4f46e5;--color-primary-700: #4338ca;--color-primary-800: #3730a3;--color-primary-900: #312e81;--color-primary-950: #1e1b4b;--color-info-50: #f0f9ff;--color-info-100: #e0f2fe;--color-info-200: #bae6fd;--color-info-300: #7dd3fc;--color-info-400: #38bdf8;--color-info-500: #0ea5e9;--color-info-600: #0284c7;--color-info-700: #0369a1;--color-info-800: #075985;--color-info-900: #0c4a6e;--color-info-950: #082f49;--color-success-50: #f0fdfa;--color-success-100: #ccfbf1;--color-success-200: #99f6e4;--color-success-300: #5eead4;--color-success-400: #2dd4bf;--color-success-500: #14b8a6;--color-success-600: #0d9488;--color-success-700: #0f766e;--color-success-800: #115e59;--color-success-900: #134e4a;--color-success-950: #042f2e;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-200: #fde68a;--color-warning-300: #fcd34d;--color-warning-400: #fbbf24;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-warning-800: #92400e;--color-warning-900: #78350f;--color-warning-950: #451a03;--color-danger-50: #fff1f2;--color-danger-100: #ffe4e6;--color-danger-200: #fecdd3;--color-danger-300: #fda4af;--color-danger-400: #fb7185;--color-danger-500: #f43f5e;--color-danger-600: #e11d48;--color-danger-700: #be123c;--color-danger-800: #9f1239;--color-danger-900: #881337;--color-danger-950: #4c0519;--color-muted-50: #f8fafc;--color-muted-100: #f1f5f9;--color-muted-200: #e2e8f0;--color-muted-300: #cbd5e1;--color-muted-400: #94a3b8;--color-muted-500: #64748b;--color-muted-600: #475569;--color-muted-700: #334155;--color-muted-800: #1e293b;--color-muted-900: #0f172a;--color-muted-950: #020617;--color-muted-1000: #0a101f}:root,[data-theme=dark]{--logo-letters: #ffffff;--on-teal: #12132e;--line-soft: #1f2150;--ground-deep: #0e0f26;--ink-soft: #c9cbe8}[data-theme=light]{--logo-letters: #12132e;--line-soft: #e3e7f1;--ground-deep: #ffffff;--ink-soft: #2b2f5a}[data-theme]{color:var(--ink)}html{background-color:var(--ground);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:26px;-webkit-text-size-adjust:100%}body{background-color:var(--ground);color:var(--ink)}h1,h2,h3,h4,h5,h6,code,kbd,pre,samp{font-family:var(--font-mono)}::-moz-selection{background-color:var(--teal-300);color:var(--navy)}::selection{background-color:var(--teal-300);color:var(--navy)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}main a:not([class]){color:var(--accent);text-decoration:underline;text-underline-offset:3px}main a:not([class]):hover{text-decoration-thickness:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.measure,.article-content p,.article-content li,.prose p,.prose li{max-width:65ch}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.m-0{margin:0}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.overflow-x-clip{overflow-x:clip}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-width:1px}.bg-ground{--tw-bg-opacity: 1;background-color:rgb(var(--ground-rgb) / var(--tw-bg-opacity))}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-body-l{font-size:18px;line-height:28px;font-weight:400}.text-caption{font-size:13px;line-height:20px;font-weight:400}.text-code{font-size:14px;line-height:22px;font-weight:500}.text-display-l{font-size:40px;line-height:46px;font-weight:700}.text-display-xl{font-size:56px;line-height:60px;letter-spacing:-.01em;font-weight:700}.text-title{font-size:24px;line-height:30px;font-weight:700}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.text-ink{--tw-text-opacity: 1;color:rgb(var(--ink-rgb) / var(--tw-text-opacity))}.text-ink-muted{--tw-text-opacity: 1;color:rgb(var(--ink-muted-rgb) / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.outline{outline-style:solid}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}[x-cloak]{display:none!important}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:left-4:focus{left:1rem}.focus\:top-4:focus{top:1rem}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded-pill:focus{border-radius:var(--radius-pill)}.focus\:bg-accent:focus{--tw-bg-opacity: 1;background-color:rgb(var(--accent-rgb) / var(--tw-bg-opacity))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-label:focus{font-size:14px;line-height:20px;font-weight:600}.focus\:text-on-accent:focus{--tw-text-opacity: 1;color:rgb(var(--on-accent-rgb) / var(--tw-text-opacity))}
