@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/JetBrainsMono-Regular.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/JetBrainsMono-Italic.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/JetBrainsMono-Medium.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/JetBrainsMono-SemiBold.woff2") format("woff2")}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/JetBrainsMono-Bold.woff2") format("woff2")}@font-face{font-family:"Outfit";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/Outfit-Regular.woff2") format("woff2")}@font-face{font-family:"Outfit";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/Outfit-Medium.woff2") format("woff2")}@font-face{font-family:"Outfit";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/Outfit-SemiBold.woff2") format("woff2")}@font-face{font-family:"Outfit";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/Outfit-Bold.woff2") format("woff2")}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:2rem}html:has(nav.fixed){scroll-padding-top:6.5rem}body{background-color:#fff;color:#1a1d23;font-family:"Outfit",sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background-color:#0d7263;color:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.bg-bg{background-color:#fff}.bg-surface{background-color:#f6f7f9}.bg-surface-raised{background-color:#e8e9ec}.bg-teal{background-color:#0d7263}.bg-pink{background-color:#b23a66}.bg-yellow{background-color:#9a7b1e}.text-text{color:#1a1d23}.text-muted{color:#71767f}.text-teal{color:#0d7263}.text-pink{color:#b23a66}.text-yellow{color:#9a7b1e}.text-blue{color:#2e5eaa}.text-lavender{color:#5b51c8}.text-bg{color:#fff}.border-surface{border-color:#f6f7f9}.border-surface-raised{border-color:#e8e9ec}.border-teal{border-color:#0d7263}.font-mono{font-family:"JetBrains Mono",monospace}.font-sans{font-family:"Outfit",sans-serif}.text-hero{font-size:clamp(2.5rem,8vw,5rem);line-height:1.1}.hover\:text-teal:hover{color:#0d7263}.hover\:text-pink:hover{color:#b23a66}.hover\:bg-surface-raised:hover{background-color:#e8e9ec}.group:hover .group-hover\:text-teal{color:#0d7263}.group:hover .group-hover\:text-pink{color:#b23a66}.group:hover .group-hover\:opacity-100{opacity:1}.flex{display:flex}.grid{display:grid}.block{display:block}.inline-flex{display:inline-flex}.hidden{display:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:start}.items-end{align-items:end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-12{gap:3rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-24{padding-top:6rem;padding-bottom:6rem}.pt-20{padding-top:5rem}.pl-6{padding-left:1.5rem}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.w-4{width:1rem}.w-12{width:3rem}.w-18{width:4.5rem}.w-full{width:100%}.h-4{height:1rem}.h-px{height:1px}.min-h-screen{min-height:100vh}.max-w-lg{max-width:32rem}.max-w-5xl{max-width:64rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.text-center{text-align:center}.uppercase{text-transform:uppercase}.border{border-width:1px;border-style:solid}.border-b{border-bottom-width:1px;border-bottom-style:solid}.border-t{border-top-width:1px;border-top-style:solid}.rounded{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:0}.left-0{left:0}.right-0{right:0}.bottom-0{bottom:0}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}.transform{transform:translateX(var(--tw-translate-x, 0)) translateY(var(--tw-translate-y, 0))}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translateX(-50%)}.opacity-0{opacity:0}.overflow-hidden{overflow:hidden}.transition-colors{transition:color .2s ease,background-color .2s ease,border-color .2s ease}.transition-opacity{transition:opacity .2s ease}.transition-all{transition:all .2s ease}@media(min-width: 768px){.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2, 1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4, 1fr)}.md\:grid-cols-8{grid-template-columns:repeat(8, 1fr)}.md\:grid-cols-12{grid-template-columns:repeat(12, 1fr)}.md\:col-span-4{grid-column:span 4}.md\:col-span-5{grid-column:span 5}.md\:col-span-7{grid-column:span 7}.md\:col-span-8{grid-column:span 8}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:items-baseline{align-items:baseline}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1.1}}.idx-shell{display:grid;grid-template-columns:17rem 1fr;max-width:72rem;margin:0 auto;min-height:100vh}.idx-side{padding:3rem 2rem;border-right:1px solid #e8e9ec;position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column}.idx-side h1{font-size:1.25rem;font-weight:700}.idx-tagline{color:#71767f;margin-top:.4rem;font-size:.85rem;max-width:12rem}.idx-nav{margin-top:2.5rem;display:flex;flex-direction:column;gap:.4rem}.idx-nav a{color:#71767f;font-size:.85rem;display:flex;align-items:center;min-height:24px;transition:color .2s ease}.idx-nav a:hover{color:#0d7263}.idx-pages{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #e8e9ec}@media(min-width: 901px){@supports selector(::details-content){.idx-menu summary{display:none}.idx-menu::details-content{content-visibility:visible}}}.idx-foot{margin-top:auto;font-size:.8rem;color:#71767f}.idx-foot a{display:flex;align-items:center;min-height:24px;transition:color .2s ease}.idx-foot a:hover{color:#0d7263}.idx-avail{display:inline-block;margin-bottom:1rem;color:#0d7263;border:1px solid rgba(13,114,99,.35);border-radius:999px;padding:.2rem .7rem;font-size:.75rem;font-weight:500}.idx-main{padding:3rem 2.5rem 6rem}.idx-main>section{margin-bottom:3.5rem}.idx-lede{font-size:1.5rem;line-height:1.4;font-weight:600;letter-spacing:-0.01em;max-width:34rem}.idx-lede em{font-style:normal;color:#0d7263}.idx-sub{color:#71767f;max-width:34rem;margin-top:.9rem;font-size:1rem}.idx-sub a{color:#0d7263;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.idx-sub a:hover{color:#1a1d23}.idx-h2{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#71767f;font-weight:600;margin-bottom:.75rem}.idx-h2 em{font-style:normal;color:#0d7263}.idx-row{display:grid;grid-template-columns:6rem 15rem 1fr;gap:1.25rem;padding:.9rem 0;border-top:1px solid #e8e9ec;align-items:baseline}.idx-row:last-of-type{border-bottom:1px solid #e8e9ec}.idx-row .idx-yr{color:#71767f;font-size:.8rem;font-variant-numeric:tabular-nums}.idx-row .idx-t{font-weight:600;font-size:.95rem}.idx-row .idx-t-sub{display:block;font-size:.8rem;color:#71767f;font-weight:400;margin-top:.1rem}.idx-row .idx-d{color:#71767f;font-size:.875rem}.idx-row .idx-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-top:.35rem;font-size:.75rem;color:#71767f}.idx-row .idx-meta .idx-chip{margin-right:0}a.idx-row{transition:background-color .2s ease}a.idx-row:hover{background:#f6f7f9}a.idx-row:hover .idx-t{color:#0d7263}.idx-chip{display:inline-block;font-size:.7rem;color:#71767f;border:1px solid #e8e9ec;border-radius:3px;padding:.05rem .4rem;margin-right:.25rem}@media(max-width: 900px){.idx-shell{grid-template-columns:1fr}.idx-side{position:static;height:auto;border-right:0;border-bottom:1px solid #e8e9ec}.idx-row{grid-template-columns:4.5rem 1fr}.idx-row .idx-d{grid-column:2}.idx-nav a,.idx-foot a{display:flex;align-items:center;min-height:48px;padding:0}.idx-nav{gap:0;margin-top:0}.idx-pages{margin-top:0;padding-top:0;border-top:0}.idx-menu{margin-top:1rem;interpolate-size:allow-keywords}.idx-menu summary{list-style:none;display:flex;align-items:center;gap:.5rem;min-height:48px;color:#71767f;font-size:.85rem;cursor:pointer}.idx-menu summary::-webkit-details-marker{display:none}.idx-menu summary::after{content:"";width:.45em;height:.45em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-15%);transition:transform .2s ease}.idx-menu[open] summary::after{transform:rotate(225deg)}.idx-menu::details-content{height:0;overflow:clip;transition:height .25s ease,content-visibility .25s allow-discrete}.idx-menu[open]::details-content{height:auto}}.tag{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:4px;font-size:.8rem}.nav-brand{white-space:nowrap}.nav-toggle{display:none;background:none;border:0;color:#1a1d23;cursor:pointer;anchor-name:--nav-toggle}.nav-link{padding:.5rem 1rem;border-radius:6px;white-space:nowrap;transition:background-color .2s ease,color .2s ease}.nav-link:hover{background-color:#f6f7f9;color:#0d7263}@media(min-width: 768px){.nav-links[popover]{display:flex;align-items:center;gap:.5rem;position:static;width:auto;height:auto;margin:0;padding:0;border:0;overflow:visible;background:rgba(0,0,0,0);color:inherit}}@media(max-width: 767px){.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px}.nav-links:popover-open{display:flex;flex-direction:column;align-items:stretch;min-width:11rem;margin:0;padding:.5rem;border:1px solid #e8e9ec;border-radius:8px;background-color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.12);position-anchor:--nav-toggle;inset:auto;top:calc(anchor(bottom) + .5rem);right:anchor(right)}@supports not (anchor-name: --nav-toggle){.nav-links:popover-open{inset:auto;top:4.5rem;right:1.5rem}}.nav-link{display:flex;align-items:center;min-height:48px}}.note-item{transition:padding-left .2s ease}.note-item:last-child{border-bottom:none}.note-item:hover{padding-left:.5rem}.note-item:hover .note-date{color:#0d7263}.note-content h1,.note-content h2,.note-content h3,.note-content h4{font-family:"Outfit",sans-serif;font-weight:600;margin-top:2rem;margin-bottom:1rem}.note-content h1{font-size:2rem}.note-content h2{font-size:1.5rem}.note-content h3{font-size:1.25rem}.note-content p{margin-bottom:1rem}.note-content code{background:#e8e9ec;padding:.2em .4em;border-radius:4px;font-size:.9em}.note-content pre{background:#f6f7f9;padding:1.5rem;border-radius:8px;overflow-x:auto;margin-bottom:1.5rem}.note-content pre code{background:none;padding:0}.note-content a{color:#0d7263}.note-content a:hover{text-decoration:underline}.note-content ul,.note-content ol{margin-bottom:1rem;padding-left:1.5rem}.note-content li{margin-bottom:.5rem}.note-content blockquote{border-left:3px solid #0d7263;padding-left:1rem;margin:1.5rem 0;color:#71767f}.uses-category:not(:last-child){margin-bottom:3rem}.uses-item{display:grid;grid-template-columns:1fr 2fr;gap:1rem;padding:1rem 0;border-bottom:1px solid #e8e9ec}@media(max-width: 767px){.uses-item{grid-template-columns:1fr}}.uses-item:last-child{border-bottom:none}.uses-key{color:#71767f;font-size:.85rem}.uses-value{color:#1a1d23}.uses-value a{color:#0d7263}.uses-value a:hover{text-decoration:underline}/*# sourceMappingURL=main.css.map */