:root,.theme-dark{--bg:#121211;--surface:#1a1a18;--surface-2:#232320;--border:#2d2d2a;--border-strong:#3f3f3b;--text:#f1f0ec;--muted:#a8a69f;--brand:#ff6b2c;--brand-strong:#ff8a57;--brand-soft:#ff6b2c1f;--link:#ff8a57;--on-brand:#170a03;--code-bg:#191917;--shadow:0 1px 0 #ffffff08 inset, 0 12px 32px -16px #0009;--primary:var(--link);--primaryDark:var(--brand-strong);--accent:var(--surface-2);--background:var(--bg);--backgroundDark:var(--surface);--lighterAccent:var(--surface-2);--darker:var(--surface-2);--slate:var(--surface-2);--neutral100:var(--border-strong);--neutral120:var(--muted);--ink:var(--text);--paper:var(--bg);--white:#fff;--black:#0b0b0a;--h2:var(--text);--h3:var(--text);--headingRemaining:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-light{--bg:#faf9f6;--surface:#fff;--surface-2:#f1efea;--border:#e6e3dc;--border-strong:#d2cec5;--text:#1b1a17;--muted:#5c5951;--brand:#ff6b2c;--brand-strong:#c2410c;--brand-soft:#ff6b2c1a;--link:#b33d0a;--on-brand:#170a03;--code-bg:#1b1b19;--shadow:0 1px 2px #0000000a, 0 12px 32px -18px #0000002e;--white:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--headingFont:"Baloo 2", "Nunito", system-ui, sans-serif;--primaryFont:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--accentFont:var(--headingFont);--codeFont:"JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--radius:14px;--radius-sm:8px;--radius-pill:999px;--wide:72rem;--narrow:44rem;--gutter:clamp(1rem, 4vw, 2rem);font-size:1rem;line-height:1.65}body{font-size:1.0625rem}@media (width>=48rem){body{font-size:1.125rem}}:is(h1,h2,h3,h4,h5,h6){line-height:1.15;font-family:var(--headingFont);letter-spacing:-.01em;color:var(--text);text-wrap:balance;margin:2.2em 0 .6em;font-weight:800}h1{margin:0 0 1.25rem;font-size:clamp(2.1rem,1.4rem + 3vw,3.4rem);line-height:1.05}h2{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.1rem)}h3{font-size:clamp(1.3rem,1.15rem + .6vw,1.55rem)}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:1rem}p{margin:0 0 1.1em}a{color:var(--link);text-underline-offset:.18em;text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}strong,b{font-weight:800}ul,ol{padding-left:1.4rem}ul ::marker{color:var(--brand)}ol ::marker{color:var(--brand)}blockquote{border-left:3px solid var(--brand);background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text);margin:1.75rem 0;padding:1rem 1.25rem}blockquote>:last-child{margin-bottom:0}hr{border:0;border-top:1px solid var(--border);margin:2.5rem 0}table{border-collapse:collapse;width:100%;font-size:.95em;display:block;overflow-x:auto}table th,table td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .8rem}table th{font-weight:800}.eyebrow{font-family:var(--primaryFont);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem;font-size:.75rem;font-weight:800;display:block}.lead{color:var(--muted);max-width:40rem;font-size:1.15em}.muted{color:var(--muted)}*,:before,:after{box-sizing:border-box;font-family:inherit}img,video,iframe,svg{max-width:100%}main{width:100%;max-width:calc(var(--narrow) + 2 * var(--gutter));padding:clamp(2rem, 5vw, 3.5rem) var(--gutter) 4rem;margin:0 auto}.layout{grid-template-rows:auto 1fr auto;grid-template-columns:100%;min-height:100dvh;display:grid}.wrap{width:100%;max-width:calc(var(--wide) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.breakout{--breakout:min(var(--wide), calc(100vw - 2 * var(--gutter)));width:var(--breakout);margin-inline:calc((100% - var(--breakout)) / 2)}.narrow{max-width:calc(var(--narrow) + 2 * var(--gutter))}.section{padding-block:clamp(3rem,7vw,5.5rem)}.band{background:var(--surface);border-block:1px solid var(--border)}img{height:auto}li{margin-bottom:.35rem}.section-head{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.75rem;display:flex}.section-head h2{margin:0}.section-head a{white-space:nowrap;font-weight:700}.page-head{margin-bottom:2.5rem}.page-head h1{margin-bottom:.5rem}.page-head p{color:var(--muted);margin:0}.post .cover-image{border-radius:var(--radius);border:1px solid var(--border);object-fit:cover;background:var(--surface);width:100%;margin-bottom:2rem}.post h1{margin-bottom:1rem;font-size:clamp(2rem,1.4rem + 2.4vw,2.9rem)}.post :is(h2,h3,h4) code{font-size:.8em}.post .meta{color:var(--muted);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:2.5rem;padding-bottom:1.5rem;font-size:.9rem;display:flex}.post img{border-radius:var(--radius-sm)}:where(h1,h2,h3,h4,h5,h6){scroll-margin-top:5rem}:where(h1,h2,h3,h4,h5,h6) .icon-link{position:relative}:where(h1,h2,h3,h4,h5,h6) .icon-link:before{content:url(../../../link.svg);opacity:0;width:1rem;height:1rem;transition:opacity .2s;position:absolute;top:0;left:-1.25rem}:where(h1,h2,h3,h4,h5,h6):hover .icon-link:before{opacity:.5}.end-nav{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin:3rem 0 1rem;display:flex}.end-nav a{border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);align-items:center;gap:.5rem;max-width:100%;padding:.7rem 1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.end-nav a:hover{border-color:var(--brand);text-decoration:none}.button,a.button{border-radius:var(--radius-pill);border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);font-family:var(--primaryFont);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-size:.95rem;font-weight:800;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.button:hover,a.button:hover{background:var(--brand-strong);border-color:var(--brand-strong);text-decoration:none}.theme-light .button:hover,.theme-light a.button:hover{background:#ff874f;border-color:#ff874f}.button:active,a.button:active{transform:translateY(1px)}.button.button--ghost,.button.button--outline,.button.inverse,a.button.button--ghost,a.button.button--outline,a.button.inverse{color:var(--text);border-color:var(--border-strong);background:0 0}.button.button--ghost:hover,.button.button--outline:hover,.button.inverse:hover,a.button.button--ghost:hover,a.button.button--outline:hover,a.button.inverse:hover{border-color:var(--text);background:0 0}.button.button--sm,a.button.button--sm{padding:.45rem .9rem;font-size:.85rem}.button-row{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex-direction:column;padding:1.5rem;transition:border-color .15s,transform .15s;display:flex;position:relative}.card.card--link:hover{border-color:var(--border-strong);transform:translateY(-2px)}.card .card__link{color:inherit;text-decoration:none}.card .card__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.card .card__link:hover{text-decoration:none}.card h3{margin:0 0 .5rem;font-size:1.3rem}.card p{color:var(--muted);margin:0;font-size:.95rem}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:1.25rem;display:grid}.tag,.tags a{border-radius:var(--radius-pill);border:1px solid var(--border-strong);letter-spacing:.04em;color:var(--muted);align-items:center;padding:.2rem .65rem;font-size:.75rem;font-weight:800;line-height:1.5;text-decoration:none;display:inline-flex}.tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.tags li{margin:0}.tags a:hover{color:var(--text);border-color:var(--text);text-decoration:none}.callout{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--radius-sm);color:var(--text);margin:2rem 0;padding:1.25rem 1.5rem}.callout :is(h1,h2,h3,h4){margin-top:0}.callout>:last-child{margin-bottom:0}.pagination{margin:2.5rem 0 1rem}.pagination ul{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style-type:none;display:flex}.pagination ul li{margin:0}.pagination ul a{border-radius:var(--radius-pill);border:1px solid var(--border-strong);min-width:2.5rem;height:2.5rem;color:var(--text);justify-content:center;align-items:center;padding:0 .6rem;font-weight:800;text-decoration:none;display:flex}.pagination ul a:hover{border-color:var(--text)}.pagination ul a[aria-current=true]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}aside.toc{width:350px;position:fixed;top:6rem;right:0}aside.toc nav.toc a{display:block}.main-header{z-index:50;border-bottom:1px solid var(--border);position:sticky;top:0}.main-header:before{content:"";z-index:-1;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);position:absolute;inset:0}.main-header .inner{justify-content:space-between;align-items:center;gap:1rem;height:4rem;display:flex}.main-header .site-title{font-family:var(--headingFont);color:var(--text);align-items:center;gap:.6rem;font-size:1.3rem;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.main-header .site-title .site-logo{width:30px;height:30px}.main-header .site-title:hover{text-decoration:none}.main-header .actions{align-items:center;gap:.25rem;display:flex}.main-header .icon-button{border-radius:var(--radius-pill);width:2.5rem;height:2.5rem;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:1.15rem;display:inline-flex}.main-header .icon-button:hover{color:var(--text);background:var(--surface-2)}@media (width>=48rem){.main-header .menu-button{display:none}}.main-nav ul{align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.main-nav li{margin:0}.main-nav a{border-radius:var(--radius-pill);color:var(--muted);padding:.45rem .8rem;font-size:.95rem;font-weight:700;text-decoration:none;display:block}.main-nav a:hover{color:var(--text);text-decoration:none}.main-nav a.active{color:var(--text);background:var(--surface-2)}.main-nav .menu-button{display:none}@media (width<=47.9375rem){.main-nav{z-index:60;background:var(--bg);flex-direction:column;justify-content:center;padding:2rem;display:none;position:fixed;inset:0}.main-nav.open{animation:.2s ease-out menu_in;display:flex}.main-nav ul{flex-direction:column;align-items:stretch;gap:.25rem}.main-nav a{font-family:var(--headingFont);padding:.4rem 0;font-size:1.9rem;font-weight:800;background:0 0!important}.main-nav .menu-button{top:.75rem;right:var(--gutter);display:inline-flex;position:absolute}}.site-footer{border-top:1px solid var(--border);background:var(--bg);color:var(--muted);padding-top:3.5rem;font-size:.95rem}.site-footer .columns{grid-template-columns:1fr;gap:2.5rem;display:grid}@media (width>=48rem){.site-footer .columns{grid-template-columns:2fr 1fr 1fr 1fr}}.site-footer .brand{max-width:22rem}.site-footer .brand .name{font-family:var(--headingFont);color:var(--text);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1.2rem;font-weight:800;text-decoration:none;display:inline-flex}.site-footer .brand .name img{width:26px;height:26px}.site-footer h2{font-family:var(--primaryFont);letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin:0 0 1rem;font-size:.8rem}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer ul li{margin-bottom:.55rem}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--text)}.site-footer .bottom{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-block:1.5rem;font-size:.85rem;display:flex}.skip-to-content-link{z-index:100;border-radius:var(--radius-sm);background:var(--brand);color:var(--on-brand);padding:.6rem 1rem;font-weight:800;position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-to-content-link:focus{transform:none}form{margin:2rem 0}button{font:inherit}label,fieldset{font-weight:700;display:inline-block}fieldset{border:0;padding:0}input,select,textarea{font:inherit;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;accent-color:var(--brand);background-color:var(--surface);padding:.6rem .8rem;display:block}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px}input[type=radio],input[type=checkbox],select[type=radio],select[type=checkbox],textarea[type=radio],textarea[type=checkbox]{display:initial;width:auto}::placeholder{color:var(--muted)}@keyframes slide_in_left{0%{opacity:0;transform:translate(-2rem)}to{opacity:1;transform:translate(0)}}@keyframes menu_in{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:none}}.sr-only{opacity:0;word-wrap:normal;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);border:none;width:1px;height:1px;position:absolute;left:-100vw;overflow:hidden}.no-bullets{padding-left:0;list-style-type:none}pre,code{font-family:var(--codeFont);font-variant-ligatures:none}pre{color:#ecebe6;background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);tab-size:2;margin:1.5rem 0;padding:1.1rem 1.25rem;font-size:.85rem;line-height:1.6;overflow-x:auto}:not(pre)>code{color:var(--text);background:var(--surface-2);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:6px;padding:.12em .4em;font-size:.88em}pre code{font-size:inherit;background:0 0;padding:0}code[class*=language-],pre[class*=language-]{color:#f8f8f2;text-shadow:none;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:2;-webkit-hyphens:none;hyphens:none;background:0 0;line-height:1.6}pre[class*=language-]{border-radius:var(--radius-sm);margin:2rem 0;padding:1em;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:var(--code-bg)}:not(pre)>code[class*=language-]{border-radius:var(--radius-sm);white-space:normal;padding:.1em}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#6272a4}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#ff79c6}.token.boolean,.token.number{color:#bd93f9}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#50fa7b}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:#f1fa8c}.token.keyword{color:#8be9fd}.token.regex,.token.important{color:#ffb86c}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}@font-face{font-family:icon;font-display:swap;src:url(./icon.BJyc6ERU.eot);src:url(./icon.BJyc6ERU.eot#iefix)format("embedded-opentype"),url(./icon.CKW7_cbJ.woff2)format("woff2"),url(./icon.Cy48orcl.woff)format("woff"),url(./icon.CdJBRw3C.ttf)format("truetype"),url(./icon.ORXHICeV.svg#icon)format("svg")}[class^=icon-],[class*=\ icon-]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;font-style:normal;font-family:icon!important}:root{--icon-academic-cap:"";--icon-adjustments:"";--icon-akamai:"";--icon-algolia:"";--icon-amazon:"";--icon-android:"";--icon-angular:"";--icon-annotation:"";--icon-anonymous:"";--icon-api:"";--icon-apple:"";--icon-appwrite:"";--icon-archive:"";--icon-arrow-circle-down:"";--icon-arrow-circle-left:"";--icon-arrow-circle-right:"";--icon-arrow-circle-up:"";--icon-arrow-down:"";--icon-arrow-expand:"";--icon-arrow-left:"";--icon-arrow-narrow-down:"";--icon-arrow-narrow-left:"";--icon-arrow-narrow-right:"";--icon-arrow-narrow-up:"";--icon-arrow-right:"";--icon-arrow-sm-down:"";--icon-arrow-sm-left:"";--icon-arrow-sm-right:"";--icon-arrow-sm-up:"";--icon-arrow-up:"";--icon-astro:"";--icon-at-symbol:"";--icon-auth0:"";--icon-authentik:"";--icon-autodesk:"";--icon-azure:"";--icon-backspace:"";--icon-badge-check:"";--icon-ban:"";--icon-beaker:"";--icon-behance:"";--icon-bell:"";--icon-bitBucket:"";--icon-bitly:"";--icon-book-open:"";--icon-bookmark-alt:"";--icon-bookmark:"";--icon-box:"";--icon-briefcase:"";--icon-bun-sh:"";--icon-cake:"";--icon-calculator:"";--icon-calendar:"";--icon-camera:"";--icon-cash:"";--icon-chart-bar:"";--icon-chart-pie:"";--icon-chart-square-bar:"";--icon-chat-alt-2:"";--icon-chat-alt:"";--icon-chat:"";--icon-check-circle:"";--icon-check:"";--icon-cheveron-down:"";--icon-cheveron-left:"";--icon-cheveron-right:"";--icon-cheveron-up:"";--icon-chevron-double-down:"";--icon-chevron-double-left:"";--icon-chevron-double-right:"";--icon-chevron-double-up:"";--icon-chip:"";--icon-clipboard-arrow:"";--icon-clipboard-check:"";--icon-clipboard-copy:"";--icon-clipboard-list:"";--icon-clock:"";--icon-cloud-download:"";--icon-cloud-upload:"";--icon-cloud:"";--icon-code:"";--icon-cog:"";--icon-collection:"";--icon-color-swatch:"";--icon-cpp:"";--icon-credit-card:"";--icon-css3:"";--icon-cube-transparent:"";--icon-cube:"";--icon-currency-bangladesh:"";--icon-currency-dollar:"";--icon-currency-euro:"";--icon-currency-pound:"";--icon-currency-rupee:"";--icon-currency-yen:"";--icon-cursor-click:"";--icon-dailymotion:"";--icon-dart:"";--icon-database:"";--icon-deno:"";--icon-desktop-computer:"";--icon-device-ipad:"";--icon-device-mobile:"";--icon-discord:"";--icon-disqus:"";--icon-docker:"";--icon-document-add:"";--icon-document-download:"";--icon-document-duplicate:"";--icon-document-remove:"";--icon-document-report:"";--icon-document-search:"";--icon-document-text:"";--icon-document:"";--icon-dotnet:"";--icon-dots-circle-horizontal:"";--icon-dots-horizontal:"";--icon-dots-vertical:"";--icon-download:"";--icon-dribbble:"";--icon-dropbox:"";--icon-duplicate:"";--icon-emoji-happy:"";--icon-emoji-sad:"";--icon-etsy:"";--icon-exclamation-circle:"";--icon-exclamation:"";--icon-external-link:"";--icon-eye-off:"";--icon-eye:"";--icon-facebook:"";--icon-fast-forward:"";--icon-figma:"";--icon-film:"";--icon-filter-line:"";--icon-filter:"";--icon-finger-print:"";--icon-fire:"";--icon-firefox:"";--icon-flag:"";--icon-flutter:"";--icon-folder-add:"";--icon-folder-download:"";--icon-folder-open:"";--icon-folder-remove:"";--icon-folder:"";--icon-gift:"";--icon-git-branch:"";--icon-git-commit:"";--icon-git:"";--icon-github:"";--icon-gitlab:"";--icon-globe-alt:"";--icon-globe:"";--icon-go:"";--icon-google:"";--icon-graphql:"";--icon-hand:"";--icon-hashtag:"";--icon-heart:"";--icon-home:"";--icon-html5:"";--icon-identification:"";--icon-inbox-in:"";--icon-inbox:"";--icon-info:"";--icon-instagram:"";--icon-ionic:"";--icon-ios:"";--icon-java:"";--icon-js:"";--icon-key:"";--icon-kotlin:"";--icon-light-bulb:"";--icon-lightning-bolt:"";--icon-link:"";--icon-linkedin:"";--icon-linux:"";--icon-list:"";--icon-location-marker:"";--icon-lock-closed:"";--icon-lock-open:"";--icon-logout-left:"";--icon-logout-right:"";--icon-mail-open:"";--icon-mail:"";--icon-map:"";--icon-md-library:"";--icon-medium:"";--icon-meilisearch:"";--icon-menu-alt-1:"";--icon-menu-alt-2:"";--icon-menu-alt-3:"";--icon-menu-alt-4:"";--icon-menu:"";--icon-microphone:"";--icon-microsoft:"";--icon-microsoft_edge:"";--icon-minus-circle:"";--icon-minus-sm:"";--icon-minus:"";--icon-mode:"";--icon-mongodb:"";--icon-moon:"";--icon-ms_yammer:"";--icon-msg91:"";--icon-music-note:"";--icon-neo4j:"";--icon-neon:"";--icon-newspaper:"";--icon-nextjs:"";--icon-node_js:"";--icon-notion:"";--icon-null:"";--icon-nuxt:"";--icon-office-building:"";--icon-okta:"";--icon-open-ai:"";--icon-openid:"";--icon-opera:"";--icon-pangea:"";--icon-paper-airplane:"";--icon-paper-clip:"";--icon-pause:"";--icon-paypal:"";--icon-pencil-alt:"";--icon-pencil:"";--icon-perspective-api:"";--icon-phone-incoming:"";--icon-phone-missed-call:"";--icon-phone-outgoing:"";--icon-phone:"";--icon-photograph:"";--icon-php:"";--icon-pinterest:"";--icon-play-button:"";--icon-play:"";--icon-plus-circle:"";--icon-plus-sm:"";--icon-plus:"";--icon-podio:"";--icon-presentation-chart-1:"";--icon-presentation-chart-2:"";--icon-printer:"";--icon-product_hunt:"";--icon-puzzle:"";--icon-python:"";--icon-qrcode:"";--icon-question-mark-circle:"";--icon-qwik:"";--icon-react-native:"";--icon-react:"";--icon-receipt-refund:"";--icon-receipt-tax:"";--icon-reddit:"";--icon-redis:"";--icon-refresh:"";--icon-relation:"";--icon-relationship:"";--icon-replay:"";--icon-rewind:"";--icon-rss:"";--icon-ruby:"";--icon-safari:"";--icon-salesforce:"";--icon-save-as:"";--icon-save:"";--icon-scale:"";--icon-scissors:"";--icon-search-circle:"";--icon-search:"";--icon-selector:"";--icon-send:"";--icon-server:"";--icon-share:"";--icon-shield-check:"";--icon-shield-exclamation:"";--icon-shopping-bag:"";--icon-shopping-cart:"";--icon-skype:"";--icon-slack:"";--icon-solidjs:"";--icon-sort-ascending:"";--icon-sort-descending:"";--icon-sparkles:"";--icon-speakerphone:"";--icon-spin:"";--icon-spotify:"";--icon-star:"";--icon-status-offline:"";--icon-status-online:"";--icon-stop:"";--icon-stripe:"";--icon-sun:"";--icon-support:"";--icon-svelte:"";--icon-swift:"";--icon-switch-horizontal:"";--icon-switch-vertical:"";--icon-table:"";--icon-tag:"";--icon-telegram:"";--icon-telesign:"";--icon-template:"";--icon-terminal:"";--icon-text:"";--icon-textmagic:"";--icon-thumb-dowm:"";--icon-thumb-up:"";--icon-ticket:"";--icon-tiktok:"";--icon-toggle:"";--icon-tradeshift:"";--icon-translate:"";--icon-trash:"";--icon-trending-down:"";--icon-trending-up:"";--icon-truck:"";--icon-tumbir:"";--icon-twilio:"";--icon-twitch:"";--icon-twitter:"";--icon-typescript:"";--icon-unity:"";--icon-upload:"";--icon-upstash:"";--icon-user-add:"";--icon-user-circle:"";--icon-user-group:"";--icon-user-remove:"";--icon-user:"";--icon-users:"";--icon-variable:"";--icon-video-camera:"";--icon-video:"";--icon-view-boards:"";--icon-view-grid-add:"";--icon-view-grid:"";--icon-view-list:"";--icon-vimeo:"";--icon-vk:"";--icon-volume-off:"";--icon-volume-up:"";--icon-vonage:"";--icon-vs_code:"";--icon-vue:"";--icon-whatsapp:"";--icon-wifi:"";--icon-wordpress:"";--icon-x-circle:"";--icon-x:"";--icon-yahoo:"";--icon-yandex:"";--icon-ycombinator:"";--icon-youtube:"";--icon-zoom-in:"";--icon-zoom-out:"";--icon-zoom:""}.icon-academic-cap:before{content:var(--icon-academic-cap)}.icon-adjustments:before{content:var(--icon-adjustments)}.icon-akamai:before{content:var(--icon-akamai)}.icon-algolia:before{content:var(--icon-algolia)}.icon-amazon:before{content:var(--icon-amazon)}.icon-android:before{content:var(--icon-android)}.icon-angular:before{content:var(--icon-angular)}.icon-annotation:before{content:var(--icon-annotation)}.icon-anonymous:before{content:var(--icon-anonymous)}.icon-api:before{content:var(--icon-api)}.icon-apple:before{content:var(--icon-apple)}.icon-appwrite:before{content:var(--icon-appwrite)}.icon-archive:before{content:var(--icon-archive)}.icon-arrow-circle-down:before{content:var(--icon-arrow-circle-down)}.icon-arrow-circle-left:before{content:var(--icon-arrow-circle-left)}.icon-arrow-circle-right:before{content:var(--icon-arrow-circle-right)}.icon-arrow-circle-up:before{content:var(--icon-arrow-circle-up)}.icon-arrow-down:before{content:var(--icon-arrow-down)}.icon-arrow-expand:before{content:var(--icon-arrow-expand)}.icon-arrow-left:before{content:var(--icon-arrow-left)}.icon-arrow-narrow-down:before{content:var(--icon-arrow-narrow-down)}.icon-arrow-narrow-left:before{content:var(--icon-arrow-narrow-left)}.icon-arrow-narrow-right:before{content:var(--icon-arrow-narrow-right)}.icon-arrow-narrow-up:before{content:var(--icon-arrow-narrow-up)}.icon-arrow-right:before{content:var(--icon-arrow-right)}.icon-arrow-sm-down:before{content:var(--icon-arrow-sm-down)}.icon-arrow-sm-left:before{content:var(--icon-arrow-sm-left)}.icon-arrow-sm-right:before{content:var(--icon-arrow-sm-right)}.icon-arrow-sm-up:before{content:var(--icon-arrow-sm-up)}.icon-arrow-up:before{content:var(--icon-arrow-up)}.icon-astro:before{content:var(--icon-astro)}.icon-at-symbol:before{content:var(--icon-at-symbol)}.icon-auth0:before{content:var(--icon-auth0)}.icon-authentik:before{content:var(--icon-authentik)}.icon-autodesk:before{content:var(--icon-autodesk)}.icon-azure:before{content:var(--icon-azure)}.icon-backspace:before{content:var(--icon-backspace)}.icon-badge-check:before{content:var(--icon-badge-check)}.icon-ban:before{content:var(--icon-ban)}.icon-beaker:before{content:var(--icon-beaker)}.icon-behance:before{content:var(--icon-behance)}.icon-bell:before{content:var(--icon-bell)}.icon-bitBucket:before{content:var(--icon-bitBucket)}.icon-bitly:before{content:var(--icon-bitly)}.icon-book-open:before{content:var(--icon-book-open)}.icon-bookmark-alt:before{content:var(--icon-bookmark-alt)}.icon-bookmark:before{content:var(--icon-bookmark)}.icon-box:before{content:var(--icon-box)}.icon-briefcase:before{content:var(--icon-briefcase)}.icon-bun-sh:before{content:var(--icon-bun-sh)}.icon-cake:before{content:var(--icon-cake)}.icon-calculator:before{content:var(--icon-calculator)}.icon-calendar:before{content:var(--icon-calendar)}.icon-camera:before{content:var(--icon-camera)}.icon-cash:before{content:var(--icon-cash)}.icon-chart-bar:before{content:var(--icon-chart-bar)}.icon-chart-pie:before{content:var(--icon-chart-pie)}.icon-chart-square-bar:before{content:var(--icon-chart-square-bar)}.icon-chat-alt-2:before{content:var(--icon-chat-alt-2)}.icon-chat-alt:before{content:var(--icon-chat-alt)}.icon-chat:before{content:var(--icon-chat)}.icon-check-circle:before{content:var(--icon-check-circle)}.icon-check:before{content:var(--icon-check)}.icon-cheveron-down:before{content:var(--icon-cheveron-down)}.icon-cheveron-left:before{content:var(--icon-cheveron-left)}.icon-cheveron-right:before{content:var(--icon-cheveron-right)}.icon-cheveron-up:before{content:var(--icon-cheveron-up)}.icon-chevron-double-down:before{content:var(--icon-chevron-double-down)}.icon-chevron-double-left:before{content:var(--icon-chevron-double-left)}.icon-chevron-double-right:before{content:var(--icon-chevron-double-right)}.icon-chevron-double-up:before{content:var(--icon-chevron-double-up)}.icon-chip:before{content:var(--icon-chip)}.icon-clipboard-arrow:before{content:var(--icon-clipboard-arrow)}.icon-clipboard-check:before{content:var(--icon-clipboard-check)}.icon-clipboard-copy:before{content:var(--icon-clipboard-copy)}.icon-clipboard-list:before{content:var(--icon-clipboard-list)}.icon-clock:before{content:var(--icon-clock)}.icon-cloud-download:before{content:var(--icon-cloud-download)}.icon-cloud-upload:before{content:var(--icon-cloud-upload)}.icon-cloud:before{content:var(--icon-cloud)}.icon-code:before{content:var(--icon-code)}.icon-cog:before{content:var(--icon-cog)}.icon-collection:before{content:var(--icon-collection)}.icon-color-swatch:before{content:var(--icon-color-swatch)}.icon-cpp:before{content:var(--icon-cpp)}.icon-credit-card:before{content:var(--icon-credit-card)}.icon-css3:before{content:var(--icon-css3)}.icon-cube-transparent:before{content:var(--icon-cube-transparent)}.icon-cube:before{content:var(--icon-cube)}.icon-currency-bangladesh:before{content:var(--icon-currency-bangladesh)}.icon-currency-dollar:before{content:var(--icon-currency-dollar)}.icon-currency-euro:before{content:var(--icon-currency-euro)}.icon-currency-pound:before{content:var(--icon-currency-pound)}.icon-currency-rupee:before{content:var(--icon-currency-rupee)}.icon-currency-yen:before{content:var(--icon-currency-yen)}.icon-cursor-click:before{content:var(--icon-cursor-click)}.icon-dailymotion:before{content:var(--icon-dailymotion)}.icon-dart:before{content:var(--icon-dart)}.icon-database:before{content:var(--icon-database)}.icon-deno:before{content:var(--icon-deno)}.icon-desktop-computer:before{content:var(--icon-desktop-computer)}.icon-device-ipad:before{content:var(--icon-device-ipad)}.icon-device-mobile:before{content:var(--icon-device-mobile)}.icon-discord:before{content:var(--icon-discord)}.icon-disqus:before{content:var(--icon-disqus)}.icon-docker:before{content:var(--icon-docker)}.icon-document-add:before{content:var(--icon-document-add)}.icon-document-download:before{content:var(--icon-document-download)}.icon-document-duplicate:before{content:var(--icon-document-duplicate)}.icon-document-remove:before{content:var(--icon-document-remove)}.icon-document-report:before{content:var(--icon-document-report)}.icon-document-search:before{content:var(--icon-document-search)}.icon-document-text:before{content:var(--icon-document-text)}.icon-document:before{content:var(--icon-document)}.icon-dotnet:before{content:var(--icon-dotnet)}.icon-dots-circle-horizontal:before{content:var(--icon-dots-circle-horizontal)}.icon-dots-horizontal:before{content:var(--icon-dots-horizontal)}.icon-dots-vertical:before{content:var(--icon-dots-vertical)}.icon-download:before{content:var(--icon-download)}.icon-dribbble:before{content:var(--icon-dribbble)}.icon-dropbox:before{content:var(--icon-dropbox)}.icon-duplicate:before{content:var(--icon-duplicate)}.icon-emoji-happy:before{content:var(--icon-emoji-happy)}.icon-emoji-sad:before{content:var(--icon-emoji-sad)}.icon-etsy:before{content:var(--icon-etsy)}.icon-exclamation-circle:before{content:var(--icon-exclamation-circle)}.icon-exclamation:before{content:var(--icon-exclamation)}.icon-external-link:before{content:var(--icon-external-link)}.icon-eye-off:before{content:var(--icon-eye-off)}.icon-eye:before{content:var(--icon-eye)}.icon-facebook:before{content:var(--icon-facebook)}.icon-fast-forward:before{content:var(--icon-fast-forward)}.icon-figma:before{content:var(--icon-figma)}.icon-film:before{content:var(--icon-film)}.icon-filter-line:before{content:var(--icon-filter-line)}.icon-filter:before{content:var(--icon-filter)}.icon-finger-print:before{content:var(--icon-finger-print)}.icon-fire:before{content:var(--icon-fire)}.icon-firefox:before{content:var(--icon-firefox)}.icon-flag:before{content:var(--icon-flag)}.icon-flutter:before{content:var(--icon-flutter)}.icon-folder-add:before{content:var(--icon-folder-add)}.icon-folder-download:before{content:var(--icon-folder-download)}.icon-folder-open:before{content:var(--icon-folder-open)}.icon-folder-remove:before{content:var(--icon-folder-remove)}.icon-folder:before{content:var(--icon-folder)}.icon-gift:before{content:var(--icon-gift)}.icon-git-branch:before{content:var(--icon-git-branch)}.icon-git-commit:before{content:var(--icon-git-commit)}.icon-git:before{content:var(--icon-git)}.icon-github:before{content:var(--icon-github)}.icon-gitlab:before{content:var(--icon-gitlab)}.icon-globe-alt:before{content:var(--icon-globe-alt)}.icon-globe:before{content:var(--icon-globe)}.icon-go:before{content:var(--icon-go)}.icon-google:before{content:var(--icon-google)}.icon-graphql:before{content:var(--icon-graphql)}.icon-hand:before{content:var(--icon-hand)}.icon-hashtag:before{content:var(--icon-hashtag)}.icon-heart:before{content:var(--icon-heart)}.icon-home:before{content:var(--icon-home)}.icon-html5:before{content:var(--icon-html5)}.icon-identification:before{content:var(--icon-identification)}.icon-inbox-in:before{content:var(--icon-inbox-in)}.icon-inbox:before{content:var(--icon-inbox)}.icon-info:before{content:var(--icon-info)}.icon-instagram:before{content:var(--icon-instagram)}.icon-ionic:before{content:var(--icon-ionic)}.icon-ios:before{content:var(--icon-ios)}.icon-java:before{content:var(--icon-java)}.icon-js:before{content:var(--icon-js)}.icon-key:before{content:var(--icon-key)}.icon-kotlin:before{content:var(--icon-kotlin)}.icon-light-bulb:before{content:var(--icon-light-bulb)}.icon-lightning-bolt:before{content:var(--icon-lightning-bolt)}.icon-link:before{content:var(--icon-link)}.icon-linkedin:before{content:var(--icon-linkedin)}.icon-linux:before{content:var(--icon-linux)}.icon-list:before{content:var(--icon-list)}.icon-location-marker:before{content:var(--icon-location-marker)}.icon-lock-closed:before{content:var(--icon-lock-closed)}.icon-lock-open:before{content:var(--icon-lock-open)}.icon-logout-left:before{content:var(--icon-logout-left)}.icon-logout-right:before{content:var(--icon-logout-right)}.icon-mail-open:before{content:var(--icon-mail-open)}.icon-mail:before{content:var(--icon-mail)}.icon-map:before{content:var(--icon-map)}.icon-md-library:before{content:var(--icon-md-library)}.icon-medium:before{content:var(--icon-medium)}.icon-meilisearch:before{content:var(--icon-meilisearch)}.icon-menu-alt-1:before{content:var(--icon-menu-alt-1)}.icon-menu-alt-2:before{content:var(--icon-menu-alt-2)}.icon-menu-alt-3:before{content:var(--icon-menu-alt-3)}.icon-menu-alt-4:before{content:var(--icon-menu-alt-4)}.icon-menu:before{content:var(--icon-menu)}.icon-microphone:before{content:var(--icon-microphone)}.icon-microsoft:before{content:var(--icon-microsoft)}.icon-microsoft_edge:before{content:var(--icon-microsoft_edge)}.icon-minus-circle:before{content:var(--icon-minus-circle)}.icon-minus-sm:before{content:var(--icon-minus-sm)}.icon-minus:before{content:var(--icon-minus)}.icon-mode:before{content:var(--icon-mode)}.icon-mongodb:before{content:var(--icon-mongodb)}.icon-moon:before{content:var(--icon-moon)}.icon-ms_yammer:before{content:var(--icon-ms_yammer)}.icon-msg91:before{content:var(--icon-msg91)}.icon-music-note:before{content:var(--icon-music-note)}.icon-neo4j:before{content:var(--icon-neo4j)}.icon-neon:before{content:var(--icon-neon)}.icon-newspaper:before{content:var(--icon-newspaper)}.icon-nextjs:before{content:var(--icon-nextjs)}.icon-node_js:before{content:var(--icon-node_js)}.icon-notion:before{content:var(--icon-notion)}.icon-null:before{content:var(--icon-null)}.icon-nuxt:before{content:var(--icon-nuxt)}.icon-office-building:before{content:var(--icon-office-building)}.icon-okta:before{content:var(--icon-okta)}.icon-open-ai:before{content:var(--icon-open-ai)}.icon-openid:before{content:var(--icon-openid)}.icon-opera:before{content:var(--icon-opera)}.icon-pangea:before{content:var(--icon-pangea)}.icon-paper-airplane:before{content:var(--icon-paper-airplane)}.icon-paper-clip:before{content:var(--icon-paper-clip)}.icon-pause:before{content:var(--icon-pause)}.icon-paypal:before{content:var(--icon-paypal)}.icon-pencil-alt:before{content:var(--icon-pencil-alt)}.icon-pencil:before{content:var(--icon-pencil)}.icon-perspective-api:before{content:var(--icon-perspective-api)}.icon-phone-incoming:before{content:var(--icon-phone-incoming)}.icon-phone-missed-call:before{content:var(--icon-phone-missed-call)}.icon-phone-outgoing:before{content:var(--icon-phone-outgoing)}.icon-phone:before{content:var(--icon-phone)}.icon-photograph:before{content:var(--icon-photograph)}.icon-php:before{content:var(--icon-php)}.icon-pinterest:before{content:var(--icon-pinterest)}.icon-play-button:before{content:var(--icon-play-button)}.icon-play:before{content:var(--icon-play)}.icon-plus-circle:before{content:var(--icon-plus-circle)}.icon-plus-sm:before{content:var(--icon-plus-sm)}.icon-plus:before{content:var(--icon-plus)}.icon-podio:before{content:var(--icon-podio)}.icon-presentation-chart-1:before{content:var(--icon-presentation-chart-1)}.icon-presentation-chart-2:before{content:var(--icon-presentation-chart-2)}.icon-printer:before{content:var(--icon-printer)}.icon-product_hunt:before{content:var(--icon-product_hunt)}.icon-puzzle:before{content:var(--icon-puzzle)}.icon-python:before{content:var(--icon-python)}.icon-qrcode:before{content:var(--icon-qrcode)}.icon-question-mark-circle:before{content:var(--icon-question-mark-circle)}.icon-qwik:before{content:var(--icon-qwik)}.icon-react-native:before{content:var(--icon-react-native)}.icon-react:before{content:var(--icon-react)}.icon-receipt-refund:before{content:var(--icon-receipt-refund)}.icon-receipt-tax:before{content:var(--icon-receipt-tax)}.icon-reddit:before{content:var(--icon-reddit)}.icon-redis:before{content:var(--icon-redis)}.icon-refresh:before{content:var(--icon-refresh)}.icon-relation:before{content:var(--icon-relation)}.icon-relationship:before{content:var(--icon-relationship)}.icon-replay:before{content:var(--icon-replay)}.icon-rewind:before{content:var(--icon-rewind)}.icon-rss:before{content:var(--icon-rss)}.icon-ruby:before{content:var(--icon-ruby)}.icon-safari:before{content:var(--icon-safari)}.icon-salesforce:before{content:var(--icon-salesforce)}.icon-save-as:before{content:var(--icon-save-as)}.icon-save:before{content:var(--icon-save)}.icon-scale:before{content:var(--icon-scale)}.icon-scissors:before{content:var(--icon-scissors)}.icon-search-circle:before{content:var(--icon-search-circle)}.icon-search:before{content:var(--icon-search)}.icon-selector:before{content:var(--icon-selector)}.icon-send:before{content:var(--icon-send)}.icon-server:before{content:var(--icon-server)}.icon-share:before{content:var(--icon-share)}.icon-shield-check:before{content:var(--icon-shield-check)}.icon-shield-exclamation:before{content:var(--icon-shield-exclamation)}.icon-shopping-bag:before{content:var(--icon-shopping-bag)}.icon-shopping-cart:before{content:var(--icon-shopping-cart)}.icon-skype:before{content:var(--icon-skype)}.icon-slack:before{content:var(--icon-slack)}.icon-solidjs:before{content:var(--icon-solidjs)}.icon-sort-ascending:before{content:var(--icon-sort-ascending)}.icon-sort-descending:before{content:var(--icon-sort-descending)}.icon-sparkles:before{content:var(--icon-sparkles)}.icon-speakerphone:before{content:var(--icon-speakerphone)}.icon-spin:before{content:var(--icon-spin)}.icon-spotify:before{content:var(--icon-spotify)}.icon-star:before{content:var(--icon-star)}.icon-status-offline:before{content:var(--icon-status-offline)}.icon-status-online:before{content:var(--icon-status-online)}.icon-stop:before{content:var(--icon-stop)}.icon-stripe:before{content:var(--icon-stripe)}.icon-sun:before{content:var(--icon-sun)}.icon-support:before{content:var(--icon-support)}.icon-svelte:before{content:var(--icon-svelte)}.icon-swift:before{content:var(--icon-swift)}.icon-switch-horizontal:before{content:var(--icon-switch-horizontal)}.icon-switch-vertical:before{content:var(--icon-switch-vertical)}.icon-table:before{content:var(--icon-table)}.icon-tag:before{content:var(--icon-tag)}.icon-telegram:before{content:var(--icon-telegram)}.icon-telesign:before{content:var(--icon-telesign)}.icon-template:before{content:var(--icon-template)}.icon-terminal:before{content:var(--icon-terminal)}.icon-text:before{content:var(--icon-text)}.icon-textmagic:before{content:var(--icon-textmagic)}.icon-thumb-dowm:before{content:var(--icon-thumb-dowm)}.icon-thumb-up:before{content:var(--icon-thumb-up)}.icon-ticket:before{content:var(--icon-ticket)}.icon-tiktok:before{content:var(--icon-tiktok)}.icon-toggle:before{content:var(--icon-toggle)}.icon-tradeshift:before{content:var(--icon-tradeshift)}.icon-translate:before{content:var(--icon-translate)}.icon-trash:before{content:var(--icon-trash)}.icon-trending-down:before{content:var(--icon-trending-down)}.icon-trending-up:before{content:var(--icon-trending-up)}.icon-truck:before{content:var(--icon-truck)}.icon-tumbir:before{content:var(--icon-tumbir)}.icon-twilio:before{content:var(--icon-twilio)}.icon-twitch:before{content:var(--icon-twitch)}.icon-twitter:before{content:var(--icon-twitter)}.icon-typescript:before{content:var(--icon-typescript)}.icon-unity:before{content:var(--icon-unity)}.icon-upload:before{content:var(--icon-upload)}.icon-upstash:before{content:var(--icon-upstash)}.icon-user-add:before{content:var(--icon-user-add)}.icon-user-circle:before{content:var(--icon-user-circle)}.icon-user-group:before{content:var(--icon-user-group)}.icon-user-remove:before{content:var(--icon-user-remove)}.icon-user:before{content:var(--icon-user)}.icon-users:before{content:var(--icon-users)}.icon-variable:before{content:var(--icon-variable)}.icon-video-camera:before{content:var(--icon-video-camera)}.icon-video:before{content:var(--icon-video)}.icon-view-boards:before{content:var(--icon-view-boards)}.icon-view-grid-add:before{content:var(--icon-view-grid-add)}.icon-view-grid:before{content:var(--icon-view-grid)}.icon-view-list:before{content:var(--icon-view-list)}.icon-vimeo:before{content:var(--icon-vimeo)}.icon-vk:before{content:var(--icon-vk)}.icon-volume-off:before{content:var(--icon-volume-off)}.icon-volume-up:before{content:var(--icon-volume-up)}.icon-vonage:before{content:var(--icon-vonage)}.icon-vs_code:before{content:var(--icon-vs_code)}.icon-vue:before{content:var(--icon-vue)}.icon-whatsapp:before{content:var(--icon-whatsapp)}.icon-wifi:before{content:var(--icon-wifi)}.icon-wordpress:before{content:var(--icon-wordpress)}.icon-x-circle:before{content:var(--icon-x-circle)}.icon-x:before{content:var(--icon-x)}.icon-yahoo:before{content:var(--icon-yahoo)}.icon-yandex:before{content:var(--icon-yandex)}.icon-ycombinator:before{content:var(--icon-ycombinator)}.icon-youtube:before{content:var(--icon-youtube)}.icon-zoom-in:before{content:var(--icon-zoom-in)}.icon-zoom-out:before{content:var(--icon-zoom-out)}.icon-zoom:before{content:var(--icon-zoom)}main:focus{outline:none}html{background:var(--bg);-webkit-text-size-adjust:100%}body{min-height:100vh;color:var(--text);font-family:var(--primaryFont);background:var(--bg);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}::selection{background:var(--brand);color:var(--on-brand)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}button.svelte-1h03sh0 svg{width:1.4rem;height:1.4rem}p.svelte-jz8lnl{margin:0}
