@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;--navColor: #E64980;--headerHeight: 2rem;--headerPaddingBlock: 1rem;--borderColor: #DEE2E6;--borderColorDarker: #CED4DA;--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)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}body.notes-style{--brandColor: #F59F00;--navColor: #F59F00}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,footer.site .socials a.rss{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 a.rss{background-image:url("./rss.08decf5e896a.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:var(--navColor);text-wrap:nowrap}#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),main .text-wrap:not(:last-child),main blockquote: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}main blockquote{background:#e9ecef;padding:.75em 1em;border-left:5px solid #d9dcdf}.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-examples .start{margin-block-end:1.5rem}.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{padding-block-end:3rem}main.blog-post>header{padding-top:1rem}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;color:#868e96;font-size:.875em;padding:.15em 0 .5em;font-family:var(--fontHeader);display:block}main.blog-post .meta li{padding:0;display:inline-block}main.blog-post .meta li:not(:last-child):after{content:"\30fb"}main.blog-post .meta a{text-decoration:none}.img-center{margin-block:1rem 2rem}.img-center img{margin-inline:auto}.img-right{margin-block:1rem 1rem}.img-right img{margin-inline:auto}figcaption{padding-block-start:.25em;font-family:var(--fontHeader);font-style:italic;color:#868e96;text-align:center;font-size:.75em}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)}.note{max-width:calc(100vw - 2 * var(--bodyPaddingInline))}.note+.note{margin-block-start:.5em}.note .highlight{padding:.5em}.note .highlight pre{font:var(--fontCodeBlock)}.note a{color:#1864ab;text-underline-offset:3px}.note a:visited{color:#08448b}.note h3{font-size:1.1rem;font-weight:700;margin-block-end:.5em}.note h3 .marker{color:var(--brandColor)}.note h3 a{text-decoration:none}.note h3 a:hover{text-decoration:underline}.note .meta{color:#868e96;font-size:.85rem;list-style:none;margin:.5em 0 0;padding:0;font-family:var(--fontHeader);display:flex;gap:.25em}.note .meta>li{display:flex;gap:.25em}.note .meta ul{list-style:none;margin:0;padding:0;display:flex;gap:.25em}.note .meta ul li{display:inline-block}.note .meta>li.tags ul{display:inline}.note .meta>li.tags ul li:not(:last-child):after{content:", "}.note .meta>li:not(:first-child):before{content:"\2012";display:inline-flex}.note .meta a{text-decoration:none}section.note-group+section.note-group{margin-block-start:0;padding-block-start:1.5rem;border-top:1px solid #e9ecef}section.note-group>header{margin-block-end:1em}section.note-group>header h2{margin:0}section.note-group>header .date-clarification{color:var(--brandColor);font-family:var(--fontHeader);font-weight:700;font-style:italic;font-size:.875rem}main.note-index h1{font-size:.875rem;text-transform:uppercase;letter-spacing:.25ch;margin:.5rem 0 0;padding:0}main.note-index h2{font-size:1.125rem;letter-spacing:0}main.note-index section.by-month{margin-block-start:0;font-family:var(--fontHeader)}main.note-index section.by-month ol{list-style:none;margin:0;padding:0}main.note-index section.by-month ol a{text-decoration:none}main.note-index section.by-month ol a:visited{color:#08448b}main.note-index section.by-month ol a:hover{text-decoration:underline}main.note-index section.tags{font-family:var(--fontHeader)}main.note-index section.tags ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5em}main.note-index section.tags li a{--br: .25em;border-radius:var(--br);display:inline-flex;align-items:center;padding:.25em;text-decoration:none;gap:.125em}main.note-index section.tags li a:hover{text-decoration:underline}main.note-index section.tags li a .tag-count{font-size:.85rem;background:#e9ecef;color:var(--fontColorDefault);opacity:.5;padding:0 .5em;border-radius:var(--br)}main.note-index section.tags li a:visited{color:#08448b}main.note a.target-link{font-family:var(--fontHeader);background:#e9ecef;border-radius:.25em;padding:.5rem;margin:.5rem 0;text-decoration:none;position:relative;max-width:100%;overflow:hidden}main.note a.target-link span{display:inline-flex;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}main.note a.target-link:after{content:"\bb";display:inline-flex;align-items:center;justify-content:center;position:absolute;right:.5rem;width:1.5rem;height:1.5rem;border-radius:50%;background:#fff}main.note a.target-link:visited{color:var(--fontColorDefault)}main.note a.target-link:hover{background:var(--brandColor);color:#fff}main.note a.target-link:hover:after{color:var(--brandColor)}main.legal .version{font-size:.875em;color:#868e96;font-family:var(--fontHeader)}main.legal .terms{margin-block:1rem}main.legal .terms h2{font-size:1rem;margin-block:.5rem 0;position:sticky;top:0;background:#fff;padding-block:1rem}main.legal .terms dl{display:grid;grid-template-columns:min-content 1fr;font-size:.875em;row-gap:1rem;column-gap:.5rem}main.legal .terms>div{font-size:.875em}main.legal .terms dt{text-align:right}@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:var(--navColor)}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}.img-right{margin:0 0 1rem 1rem;float:right}}@media (min-width: 800px){.wrapped{grid-template-columns:[gutter-start] 1fr [center-start] minmax(auto,42rem) [center-end] 1fr [gutter-end]}.note{max-width:initial}header.site{width:42rem;margin-inline:auto}#logo{width:170px;padding-inline-start:0}#menu ul{display:inline-flex;padding-inline-end:0}}@media (min-width: 1200px){.home section.home-examples{grid-column:-1 / 1;background-position:calc(50% - 21rem + 100px) top}.home section.home-examples .start{max-width:42rem;margin-inline:auto}.home section.home-examples .home-example-list{display:grid;gap:1rem;max-width:60rem;margin-inline:auto;margin-block-start:2rem;grid-template-columns:repeat(3,1fr)}.home section.home-examples .mark{background:#fff9db;transition:background .2s ease-in-out}.home section.home-examples .home-example{border:1px solid var(--borderColor);border-radius:.25rem;padding:1rem;box-shadow:#dee2e622 0 2px 2px;transition:border-color,box-shadow .2s ease-in-out}.home section.home-examples .home-example:nth-child(1){rotate:-.5deg}.home section.home-examples .home-example:nth-child(3){rotate:1deg}.home section.home-examples .home-example:nth-child(4){rotate:-1deg;translate:0 -.5rem}.home section.home-examples .home-example:nth-child(5){rotate:.5deg;translate:0 -.25rem}.home section.home-examples .home-example:nth-child(7){grid-column:2}.home section.home-examples .home-example:before{content:counter(home-example);background:var(--brandColor);color:#fff;margin-inline-start:1rem;font-size:1.25rem;line-height:2rem;text-align:center;font-weight:400;position:static;display:block;float:right;width:2rem;height:2rem;border-radius:50%;transition:background .2s ease-in-out}.home section.home-examples .home-example:hover{box-shadow:#dee2e666 0 2px 5px;border-color:var(--borderColorDarker)}.home section.home-examples .home-example:hover .mark{background:#fff0f6;text-decoration-color:#fff}.home section.home-examples .home-example:hover:before{background:#c2255c}}pre{line-height:125%}td.linenos .normal,span.linenos{color:#3c4354;background-color:transparent;padding-left:5px;padding-right:5px}td.linenos .special,span.linenos.special{color:#3c4354;background-color:#ffffc0;padding-left:5px;padding-right:5px}.highlight .hll{background-color:#6e7681}.highlight{background:#1d2331;color:#d4d2c8}.highlight .c{color:#7e8aa1}.highlight .err{color:#f88f7f}.highlight .esc,.highlight .g{color:#d4d2c8}.highlight .k{color:#ffad66}.highlight .l{color:#d5ff80}.highlight .n{color:#d4d2c8}.highlight .o{color:#ffad66}.highlight .x,.highlight .p{color:#d4d2c8}.highlight .ch{color:#f88f7f;font-style:italic}.highlight .cm{color:#7e8aa1}.highlight .cp{color:#ffad66;font-weight:700}.highlight .cpf,.highlight .c1{color:#7e8aa1}.highlight .cs{color:#7e8aa1;font-style:italic}.highlight .gd{color:#f88f7f;background-color:#3d1e20}.highlight .ge{color:#d4d2c8;font-style:italic}.highlight .ges{color:#d4d2c8}.highlight .gr{color:#f88f7f}.highlight .gh{color:#d4d2c8}.highlight .gi{color:#6ad4af;background-color:#19362c}.highlight .go{color:#7e8aa1}.highlight .gp{color:#d4d2c8}.highlight .gs{color:#d4d2c8;font-weight:700}.highlight .gu{color:#d4d2c8}.highlight .gt{color:#f88f7f}.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:#ffad66}.highlight .kt{color:#73d0ff}.highlight .ld{color:#d5ff80}.highlight .m{color:#dfbfff}.highlight .s{color:#d5ff80}.highlight .na,.highlight .nb{color:#ffd173}.highlight .nc{color:#73d0ff}.highlight .no{color:#ffd173}.highlight .nd{color:#7e8aa1;font-weight:700;font-style:italic}.highlight .ni{color:#95e6cb}.highlight .ne{color:#73d0ff}.highlight .nf{color:#ffd173}.highlight .nl,.highlight .nn,.highlight .nx{color:#d4d2c8}.highlight .py{color:#ffd173}.highlight .nt{color:#5ccfe6}.highlight .nv{color:#d4d2c8}.highlight .ow{color:#ffad66}.highlight .pm,.highlight .w{color:#d4d2c8}.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#dfbfff}.highlight .sa{color:#f29e74}.highlight .sb,.highlight .sc,.highlight .dl{color:#d5ff80}.highlight .sd{color:#7e8aa1}.highlight .s2{color:#d5ff80}.highlight .se{color:#95e6cb}.highlight .sh{color:#d5ff80}.highlight .si,.highlight .sx,.highlight .sr{color:#95e6cb}.highlight .s1{color:#d5ff80}.highlight .ss{color:#dfbfff}.highlight .bp{color:#5ccfe6}.highlight .fm{color:#ffd173}.highlight .vc,.highlight .vg,.highlight .vi,.highlight .vm{color:#d4d2c8}.highlight .il{color:#dfbfff}
