@font-face{font-display:swap;font-family:Archivo;font-style:normal;font-weight:400;src:url("./archivo-v24-latin-regular.9246d621d7f0.woff2") format("woff2")}@font-face{font-display:swap;font-family:Archivo;font-style:italic;font-weight:400;src:url("./archivo-v24-latin-italic.43a9413e0a9e.woff2") format("woff2")}@font-face{font-display:swap;font-family:Archivo;font-style:normal;font-weight:700;src:url("./archivo-v24-latin-700.8574a5d7eebc.woff2") format("woff2")}@font-face{font-display:swap;font-family:Archivo;font-style:italic;font-weight:700;src:url("./archivo-v24-latin-700italic.71687975c859.woff2") format("woff2")}@font-face{font-display:swap;font-family:"IBM Plex Serif";font-style:normal;font-weight:400;src:url("./ibm-plex-serif-v19-latin_latin-ext-regular.8a5e0364a573.woff2") format("woff2")}@font-face{font-display:swap;font-family:"IBM Plex Serif";font-style:italic;font-weight:400;src:url("./ibm-plex-serif-v19-latin_latin-ext-italic.6f34da150440.woff2") format("woff2")}@font-face{font-display:swap;font-family:"IBM Plex Serif";font-style:normal;font-weight:700;src:url("./ibm-plex-serif-v19-latin_latin-ext-700.9b4c88e6024c.woff2") format("woff2")}@font-face{font-display:swap;font-family:"IBM Plex Serif";font-style:italic;font-weight:700;src:url("./ibm-plex-serif-v19-latin_latin-ext-700italic.23b445735ff5.woff2") format("woff2")}*,*:before,*:after{box-sizing:border-box}*{margin:0}@media (prefers-reduced-motion: no-preference){html{interpolate-size:allow-keywords}}body{line-height:1.6;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}:root{scroll-behavior:smooth}html{--bodyPaddingInline: 1rem;--bodyTopBorderWidth: 3px;--logoColorDefault: #343A40;--brandColor: #D6336C;--headerHeight: 2rem;--headerPaddingBlock: 1rem;--borderColor: #DEE2E6;--fontHeader: Archivo, Arial, sans-serif;--fontNav: Archivo, Arial, sans-serif;--fontBody: "IBM Plex Serif", serif;--fontCode: .9em Menlo, Consolas, monospace;--fontCodeBlock: .9em Menlo, Consolas, monospace;--fontColorDefault: #242A30}body{font-family:var(--fontBody);background:#fff;color:var(--fontColorDefault);border-top:var(--bodyTopBorderWidth) solid var(--brandColor)}body.classic{display:flex;flex-direction:column;min-height:100vh}.wrapped{display:grid;grid-template-columns:[gutter-start] var(--bodyPaddingInline) [center-start] 1fr [center-end] var(--bodyPaddingInline) [gutter-end]}.wrapped>*{grid-column:2}header.site{display:grid;grid-template-columns:1fr 4rem;padding-block:var(--headerPaddingBlock);border-bottom:1px solid var(--borderColor)}footer.site{flex:1;padding:2rem 0;border-top:1px dashed #ADB5BD;background:#e9ecef;color:#343a40;font-size:.875rem;font-family:var(--fontHeader);line-height:1.3;position:relative}footer.site:before{content:" ";background:transparent url("./scissors@2x.419cfc7a108e.png") no-repeat;background-size:22px 14px;width:22px;height:14px;position:absolute;top:-7px;left:50%}footer.site .logo{height:1em;margin-block-end:.35em}footer.site address{font-style:normal}footer.site a{color:inherit}footer.site .socials{padding-block:1rem;line-height:1.5}footer.site .socials h6{font-weight:400;font-size:1rem;font-family:var(--fontBody)}footer.site .socials a{display:inline-block;margin-inline-start:.125em;text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:3px}footer.site .socials a.whatsapp,footer.site .socials a.github,footer.site .socials a.bluesky,footer.site .socials a.diwio{background-image:url("./whatsapp-mono.9c4a74315a35.svg");background-repeat:no-repeat;background-position:left center;background-size:1em 1em;padding-left:1.2em}footer.site .socials a.github{background-image:url("./github.4e9d2c9e77b1.svg")}footer.site .socials a.bluesky{background-image:url("./bluesky.6b4d4caa0b22.svg")}footer.site .socials a.diwio{background-image:url("./diwio.94342265299f.svg")}footer.site .socials img{display:inline-block;width:.875em}footer.site .legal{text-align:center;margin-block-start:1em;padding-block-start:1em}footer.site .legal p{font-size:.875em}footer.site .legal ul{list-style:none;margin:0;padding:0;display:block}footer.site .legal li{display:inline-block}footer.site .legal li:not(:last-child):after{content:"\30fb"}footer.site .legal a{color:inherit}footer.site *:not(.logo,h6)+p{margin-block-start:1em}footer.site .memberships{margin:1rem auto}#logo{padding-inline-start:var(--bodyPaddingInline);height:var(--headerHeight);display:flex;align-items:center}#menu{font-family:var(--fontNav);text-align:right}#menu ul{list-style:none;margin:0;padding:0;display:none;flex:1;justify-content:space-around;background:#fff;color:#222;position:absolute;z-index:99;top:calc(var(--headerHeight) + var(--headerPaddingBlock) + 1rem + var(--bodyTopBorderWidth) + 1px)}#menu li{flex:1}#menu a{display:block;font-weight:700;color:inherit;border-bottom:1px solid var(--borderColor);text-align:left;padding:1rem;text-decoration-color:#e64980}#menu a:not(.is-active){border-bottom-color:var(--borderColor);text-decoration:none;color:#444a50}#menu .toggle{color:var(--logoColorDefault);padding-block:0;line-height:1;background:inherit;border:0;height:var(--headerHeight);padding-inline:var(--bodyPaddingInline);transition:color .2s ease-in-out}#menu .toggle svg{height:1rem;pointer-events:all}#menu .toggle svg rect{transform:rotate(0) translateY(0) translate(0);opacity:1;transform-origin:0 0;transition:transform .15s ease-in-out,opacity .15s ease-in-out}#menu .toggle svg rect:nth-of-type(1){transform-origin:32px 0}#menu .toggle svg rect:nth-of-type(3){transform-origin:32px 32px}#menu.is-active ul{display:flex;flex-direction:column;background:#fff;left:2rem;right:0;border-left:1px solid var(--borderColor);border-bottom:1px solid var(--borderColor);box-shadow:0 1px 2px #00000014;border-bottom-left-radius:.25rem}#menu.is-active .toggle{color:var(--brandColor)}#menu.is-active .toggle svg rect:nth-of-type(1){transform:translate(-10px) rotate(-45deg)}#menu.is-active .toggle svg rect:nth-of-type(2){opacity:0}#menu.is-active .toggle svg rect:nth-of-type(3){transform:translate(-10px) rotate(45deg)}main{padding-block:1rem 2rem;grid-column:center-start / center-end}main a{color:#1864ab;text-underline-offset:3px}main a:visited{color:var(--brandColor)}main p:not(:last-child),main ul:not(:last-child),main ol:not(:last-child),main pre:not(:last-child),main .highlight:not(:last-child){margin-block-end:1rem}main p kbd,main li kbd{font-family:var(--fontHeader);background:#fcfcfc;border:1px solid var(--borderColor);display:inline-block;padding-inline:.25em;border-radius:.25em;box-shadow:0 1px 2px #00000014}main p code,main li code{font:var(--fontCode);background:#f8f8f8}main .highlight{overflow-x:auto}main p.clarification{font-size:.75rem;color:#343a40}main ul{list-style-type:square;padding-inline-start:1rem}main ul li:not(:last-child){padding-block-end:.5em}main section{margin-block-start:1rem;padding-block:1rem}main section:first-child{margin-block-start:0}main h1{line-height:1.1;margin-block-end:.5rem;color:#343a40;font-weight:400;font-size:2em;font-family:var(--fontHeader)}main h2{font-size:1.65em;line-height:1.1;letter-spacing:-1px;margin-block-end:.75rem;font-weight:700;font-family:var(--fontHeader)}main h3{font-size:1.25em;line-height:1.2;margin-block-end:.25rem;font-family:var(--fontHeader);font-weight:400}.home .home-example{padding-left:2.5ch;position:relative;font-size:.9rem;text-wrap:balance}.home .home-example:not(:last-child){padding-bottom:1rem}.home .home-example:before{counter-increment:home-example;content:counter(home-example) ".";color:var(--brandColor);position:absolute;left:0;font-weight:700;font-family:var(--fontHeader)}.home section.home-examples{counter-reset:home-example;background:#fff url("./arrow-path.06774d53cdb0.svg") no-repeat 40px top;padding-block-start:90px;margin-block-start:0}.home section.home-about{padding-block-start:60px;background:#fff url("./wander.2d9490e565a4.svg") no-repeat center 0}.home .home-contact-separator{grid-column:1 / -1;padding-block-start:140px;background-color:#fff;background-image:radial-gradient(circle at 50%,#fff0,#fff6 350px,#fff9,#fff 450px),url("./to-do@2x.0f96a1fb0733.png"),url("./grid@2x.294d6a813cd0.png");background-repeat:no-repeat,no-repeat,repeat-x;background-position:center center,center 70px,-10px 0;background-size:100% 100%,58px 26px,387px 140px}.home .home-contact-separator hr{display:none}.home a.whatsapp{--iconSize: 1.25rem;background-image:url("./whatsapp.4025a2c2826d.svg");background-repeat:no-repeat;background-size:var(--iconSize) var(--iconSize);background-position:left center;display:inline-block;padding-inline-start:calc(var(--iconSize) + 3px)}main.error h1{text-align:center}.contact section.contact-options{counter-reset:home-example;background:#fff url("./contact-options.da0e0932872c.svg") no-repeat center 20px;padding-block-start:90px;margin-block-start:0}.contact .contact-separator{grid-column:1 / -1;padding-block-start:140px;background-color:#fff;background-image:radial-gradient(circle at 50%,#fff0,#fff6 350px,#fff9,#fff 450px),url("./mario-qm@2x.9fe77d978d5e.png"),url("./grid@2x.294d6a813cd0.png");background-repeat:no-repeat,no-repeat,repeat-x;background-position:center center,center 45px,-10px 0;background-size:100% 100%,63px 56px,387px 140px}.contact .contact-separator hr{display:none}.contact .faq-list details{--border-radius: .25rem;border:1px solid var(--borderColor)}.contact .faq-list details summary{font-family:var(--fontHeader);padding:.5rem .75rem;cursor:pointer}.contact .faq-list details div{font-size:.875em;padding:0 .75rem 1rem}.contact .faq-list details:first-child{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}.contact .faq-list details:last-child{border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.contact .faq-list details:not(:first-child){border-top-width:0}main.blog-post .highlight{padding:.5em}main.blog-post .highlight pre{font:var(--fontCodeBlock)}main.blog-post .dated{font-size:.875em;background:#ffec99;color:#8a2e0a;font-family:var(--fontHeader);padding:1rem;margin-block-end:calc(1rem + 10px);border:1px solid #FFE066;rotate:1deg;max-width:15rem;margin-inline:auto;box-shadow:#ffe06666 2px 2px 5px}main.blog-post .intro{font-size:1.25em;padding-block:.5em 1em}main.blog-post .meta{list-style:none;margin:0;border-left:5px solid var(--borderColor);background:#f8f9fa;color:#495057;font-size:.875em;padding:.25em .5em}main.blog-post .meta li{padding:0}main.blog-post .meta a{color:inherit}.img-center{margin-block:1rem}.img-center img{margin-inline:auto}main.blog-index .post-list.is-empty{background:#f8f9fa;padding:1rem;margin:1rem auto;max-width:20rem;text-align:center;border-radius:.5rem;border:1px solid var(--borderColor)}main.blog-index .dated-separator{grid-column:1 / -1;padding-block-start:140px;background-color:#fff;background-image:radial-gradient(circle at 50%,#fff0,#fff6 350px,#fff9,#fff 450px),url("./hiero@2x.2e3e0c4cac21.png"),url("./grid@2x.294d6a813cd0.png");background-repeat:no-repeat,no-repeat,repeat-x;background-position:center center,center 70px,-10px 0;background-size:100% 100%,182px 23px,387px 140px}main.blog-index .dated-separator hr{display:none}main.blog-index .post-group h3{color:var(--brandColor)}main.blog-index .post-group+.post-group{border-top:3px dotted var(--borderColor);padding-block-start:1rem}main.blog-index .post-group:not(:last-child){padding-block-end:1rem}main.blog-index .post-list a{color:inherit;text-decoration:none;display:block;padding-block:.5rem}main.blog-index .post-list a:hover{background:#e7f5ff linear-gradient(150deg,#e7f5ff,#fff) repeat-y}main.blog-index .post-list .lang{font-size:.75rem;font-weight:400;background:#ffec99;color:#8a2e0a;display:inline-block;padding:0 .25em}main.blog-index .post-list .meta,main.blog-index .post-list .description{font-size:.875em;line-height:1.4}main.blog-index .post-list .meta{margin:0;color:#adb5bd}main.blog-index .post-list h4{font-size:1.1rem;line-height:1.2}main.blog-index .post-list h4,main.blog-index .post-list .meta{font-family:var(--fontHeader)}@media (min-width: 600px){:root{--bodyPaddingInline: 2rem}header.site{grid-template-columns:160px 1fr}footer.site .find-us{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}footer.site .socials{padding-block-start:0}#logo{height:3rem}#menu .toggle{display:none}#menu ul{position:static;display:inline-flex;padding-inline-end:var(--bodyPaddingInline)}#menu a{height:3rem;line-height:3rem;padding-block:0;border:0;text-decoration-thickness:2px;text-underline-offset:4px}#menu a:hover{color:#e64980}main.blog-post .dated{max-width:50%}main.blog-index .post-list a{margin-left:-.5rem;width:calc(100% + 1rem + 2px);padding-inline:.5rem;border:1px solid transparent;border-radius:.25rem}main.blog-index .post-list a:hover{border-color:#a5d8ff}}@media (min-width: 800px){.wrapped{grid-template-columns:[gutter-start] 1fr [center-start] minmax(auto,42rem) [center-end] 1fr [gutter-end]}header.site{width:42rem;margin-inline:auto}#logo{width:170px;padding-inline-start:0}#menu ul{display:inline-flex;padding-inline-end:0}}.highlight .hll{background-color:#49483e}.highlight{background:#272822;color:#f8f8f2}.highlight .c{color:#75715e}.highlight .err{color:#960050;background-color:#1e0010}.highlight .k{color:#66d9ef}.highlight .l{color:#ae81ff}.highlight .n{color:#f8f8f2}.highlight .o{color:#f92672}.highlight .p{color:#f8f8f2}.highlight .cm,.highlight .cp,.highlight .c1,.highlight .cs{color:#75715e}.highlight .ge{font-style:italic}.highlight .gs{font-weight:700}.highlight .kc,.highlight .kd{color:#66d9ef}.highlight .kn{color:#f92672}.highlight .kp,.highlight .kr,.highlight .kt{color:#66d9ef}.highlight .ld{color:#e6db74}.highlight .m{color:#ae81ff}.highlight .s{color:#e6db74}.highlight .na{color:#a6e22e}.highlight .nb{color:#f8f8f2}.highlight .nc{color:#a6e22e}.highlight .no{color:#66d9ef}.highlight .nd{color:#a6e22e}.highlight .ni{color:#f8f8f2}.highlight .ne,.highlight .nf{color:#a6e22e}.highlight .nl,.highlight .nn{color:#f8f8f2}.highlight .nx{color:#a6e22e}.highlight .py{color:#f8f8f2}.highlight .nt{color:#f92672}.highlight .nv{color:#f8f8f2}.highlight .ow{color:#f92672}.highlight .w{color:#f8f8f2}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#ae81ff}.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2{color:#e6db74}.highlight .se{color:#ae81ff}.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .s1,.highlight .ss{color:#e6db74}.highlight .bp,.highlight .vc,.highlight .vg,.highlight .vi{color:#f8f8f2}.highlight .il{color:#ae81ff}
