/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;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}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@font-face{font-display:swap;font-family:Barlow;font-style:normal;font-weight:400;src:url(/fonts/barlow-v12-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Barlow;font-style:italic;font-weight:400;src:url(/fonts/barlow-v12-latin-italic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Barlow;font-style:normal;font-weight:600;src:url(/fonts/barlow-v12-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:Barlow;font-style:italic;font-weight:600;src:url(/fonts/barlow-v12-latin-600italic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Barlow;font-style:normal;font-weight:700;src:url(/fonts/barlow-v12-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:Barlow;font-style:italic;font-weight:700;src:url(/fonts/barlow-v12-latin-700italic.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/fonts/jetbrains-mono-v20-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:400;src:url(/fonts/jetbrains-mono-v20-latin-italic.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:700;src:url(/fonts/jetbrains-mono-v20-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:700;src:url(/fonts/jetbrains-mono-v20-latin-700italic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Press Start\ 2P;font-style:normal;font-weight:400;src:url(/fonts/press-start-2p-v15-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/fonts/inter-v18-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:400;src:url(/fonts/inter-v18-latin-italic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/fonts/inter-v18-latin-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:500;src:url(/fonts/inter-v18-latin-500italic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/fonts/inter-v18-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:600;src:url(/fonts/inter-v18-latin-600italic.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/fonts/inter-v18-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:700;src:url(/fonts/inter-v18-latin-700italic.woff2) format("woff2")}h1,h2,h3,h4,h5,h6{text-wrap:balance;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0;margin-inline-end:0}html{line-height:unset;-webkit-text-size-adjust:unset}body{font-family:var(--inter),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI"}h1{font-size:48px}.h1-xl,h1{font-family:var(--barlow),sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.1}.h1-xl{font-size:64px}h2{font-size:36px;letter-spacing:-.015em;-webkit-margin-before:.83em;margin-block-start:.83em;-webkit-margin-after:.83em;margin-block-end:.83em}h2,h3{font-family:var(--barlow),sans-serif;font-weight:700;line-height:1.2}h3{font-size:24px;letter-spacing:-.01em;display:block;-webkit-margin-before:1em;margin-block-start:1em;-webkit-margin-after:1em;margin-block-end:1em}h4{-webkit-margin-before:1.33em;margin-block-start:1.33em;-webkit-margin-after:1.33em;margin-block-end:1.33em;font-size:20px;letter-spacing:-.005em}.h5,h4,h5{font-family:var(--barlow),sans-serif;font-weight:700;line-height:1.3}.h5,h5{-webkit-margin-before:1.67em;margin-block-start:1.67em;-webkit-margin-after:1.67em;margin-block-end:1.67em;font-size:18px;text-transform:uppercase;letter-spacing:.1em}h6{-webkit-margin-before:2.33em;margin-block-start:2.33em;-webkit-margin-after:2.33em;margin-block-end:2.33em}.eyebrow-headline{font-family:var(--barlow),sans-serif;font-weight:700;font-size:18px;letter-spacing:.1em;line-height:100%;text-transform:uppercase}.subtitle{font-size:18px;line-height:140%}.subtitle,body{font-family:var(--inter),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-weight:400;letter-spacing:0}body{font-size:16px}.caption,body{line-height:1.5}.caption{font-family:var(--inter),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:12px;font-weight:400;font-display:swap}a{color:currentColor}@media only screen and (min-width:992px){h1{font-size:64px}.h1-xl{font-size:96px}h2{font-size:48px}h3{font-size:36px}h4{font-size:24px}.h5,h5{font-size:20px}.subtitle{font-size:24px}.eyebrow-headline{font-size:20px}body{font-size:18px}.caption{font-size:12px}}h2 .icon.icon-link:before,h3 .icon.icon-link:before,h4 .icon.icon-link:before,h5 .icon.icon-link:before,h6 .icon.icon-link:before{content:url(/blog/link-icon.png);font-weight:100;font-size:24px;visibility:hidden;position:absolute;left:-2rem;top:50%;margin-top:-1rem;padding:.5rem;text-decoration:none}h2:hover .icon.icon-link:before,h3:hover .icon.icon-link:before,h4:hover .icon.icon-link:before,h5:hover .icon.icon-link:before,h6:hover .icon.icon-link:before{visibility:visible;h1{font-size:64px}h2{font-size:48px}h3{font-size:36px}.subtitle{font-size:24px}.eyebrow-headline{font-size:20px}body{font-size:18px}}

/*!
 * Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2023 Fonticons, Inc.
 */code[class*=language-],pre,pre[class*=language-]{text-shadow:none!important}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}i.fa-brands.fa-crunchbase:before{content:url(/icons/technologies/crunchbase.svg);width:32px;height:21px}i.fa-brands.fa-prisma:before{content:url(/icons/technologies/prisma.svg);width:24px;height:29px}i.fa-brands.fa-prisma-postgres:before{content:url(/icons/technologies/prisma-postgres.svg);width:21px;height:19px}.mantine-Modal-content{border:1px solid #2d3748;color:#fff}.mantine-Modal-content ol,.mantine-Modal-content ul{color:#e2e8f0}.mantine-Modal-content a{color:#5a67d8}.mantine-Modal-content textarea{background:#090a15}.mantine-ActionIcon-root{border-color:#2d3748!important}:root{--jet-brains:"JetBrains Mono";--barlow:"Barlow";--inter:"Inter";--press-start:"Press Start 2P";--code-inner-color:#a0aec0;--code-token1-color:#d5408c;--code-token2-color:#805ad5;--code-token3-color:#319795;--code-token4-color:#dd6b21;--code-token5-color:#690;--code-token6-color:#9a6e3a;--code-token7-color:#e90;--code-linenum-color:#cbd5e0;--code-added-color:#47bb78;--code-added-bg-color:#d9f4e6;--code-deleted-color:#e53e3e;--code-deleted-bg-color:#f5e4e7;--code-highlight-color:#a0aec0;--code-highlight-bg-color:#e2e8f0;--code-edit-bg-color:#c3dafe;--code-result-bg-color:#e7edf3;--ifm-color-primary:var(--indigo-600);--ifm-color-primary-hover:var(--indigo-400)}.blog-pre .token.imports,.blog-pre .token.interpolation,.blog-pre .token.plain,.blog-pre .token.plain-text,.blog-pre .token.property-access{color:#2d3748;@media (prefers-color-scheme:dark){color:#e2e8f0}}