﻿:root{--text-font: "Jetbrains Mono", "Helvetica", sans-serif;--header-font: "Space Grotesk", "Helvetica", sans-serif;--code-font: "Ubuntu Mono", monospace}:root{--text-muted: #999;--text-quote: #737373;--text-time: grey;--image-border: #ececec;--table-border: #dfe2e5}a{border-bottom:3px solid var(--primary-color);color:inherit;text-decoration:none;position:relative;z-index:1}a:hover{background-color:var(--primary-color);color:var(--hover-color)}a.zola-anchor{border-bottom:none}hr{border:0;border-top:3px solid var(--border-color);margin:1em 0}blockquote{border-left:3px solid var(--primary-color);color:var(--text-quote);margin:0;padding-left:1em}time{color:var(--text-time)}del{text-decoration-color:var(--primary-color);text-decoration-thickness:3px}::-moz-selection{background:var(--primary-color);color:var(--hover-color);text-shadow:none}::selection{background:var(--primary-color);color:var(--hover-color)}.primary-color{color:var(--primary-color)}.draft-label{color:var(--hover-color);text-decoration:none;padding:2px 4px;border-radius:4px;margin-left:6px;background-color:var(--primary-color)}h1,h2,h3,h4,h5,h6{font-size:1.2rem;margin-top:2em}h1::before{color:var(--primary-color);content:"# "}h2::before{color:var(--primary-color);content:"## "}h3::before{color:var(--primary-color);content:"### "}h4::before{color:var(--primary-color);content:"#### "}h5::before{color:var(--primary-color);content:"##### "}h6::before{color:var(--primary-color);content:"###### "}p{line-height:1.5}.page-header{font-size:2.5em;line-height:100%;font-family:var(--header-font);margin:4rem 0px 1rem 0px}.trailing-dot{font-size:1.6em}.centered-header{font-family:var(--header-font);position:absolute;top:40%;left:50%;transform:translate(-50%, -50%);text-align:center;font-size:4em}.centered-header span{line-height:100%}html{background-color:var(--bg-0);color:var(--text-0);font-family:var(--text-font);line-height:1.6em;overflow-y:scroll}@media all and (min-width: 640px){html{font-size:14px}}@media all and (min-width: 720px){html{font-size:16px}}.content{max-width:1000px;margin:0 auto;padding:0 24px;word-wrap:break-word}.list>ul{margin:0;padding:1rem 0 0 0}.list-item{margin-bottom:30px;list-style-type:none}.post-header{display:grid}.post-header h1 a{border-bottom:none}@media all and (max-width: 640px){.post-header{grid-template-rows:auto 1fr}.post-header h1{margin-top:0}}@media all and (min-width: 640px){.post-header{gap:1rem;grid-row-gap:1.5rem;grid-template-columns:auto 1fr}.post-header h1{margin:0;font-size:130%}}header{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:1em 0}header .main{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;font-size:1.5rem;margin-bottom:5px}#nav-menu a{margin-left:.5em}.logo{border-bottom:unset;background-image:unset}.logo>img{border:unset;width:auto;height:24px;vertical-align:middle}.logo:hover{background-color:rgba(0,0,0,0)}.hamburger{display:none;flex-direction:column;justify-content:space-around;width:30px;height:25px;background:rgba(0,0,0,0);border:none;cursor:pointer;padding:0;margin-right:1em;z-index:10}.hamburger span{width:30px;height:3px;background-color:var(--primary-color);transition:all .3s ease}.meta{color:var(--text-muted)}@media all and (max-width: 800px){header{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:1em;position:relative}.hamburger{display:flex}#nav-menu{display:none;width:100%;background-color:var(--bg-0);padding:1em;margin-top:1em}#nav-menu.active{display:flex;flex-direction:column;align-items:center;gap:1em;position:relative;z-index:100}#nav-menu a{width:100%;text-align:center;padding:.5em}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px, 5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px, -7px)}}.footer{margin-top:2rem;padding:1rem 0;border-top:1px solid var(--border-color);font-family:var(--header-font);font-size:.85em}.footer .footer-content{display:flex;justify-content:space-between;align-items:center}@media all and (max-width: 640px){.footer .footer-content{flex-direction:column;gap:.5rem;text-align:center}}.footer a{color:var(--text-0);text-decoration:none}.footer a:hover{text-decoration:none}.cards{display:grid;grid-template-rows:auto;gap:24px;padding:12px 0}@media all and (min-width: 640px){.cards{grid-template-columns:repeat(auto-fill, minmax(400px, 1fr))}}@media all and (max-width: 640px){.cards{grid-template-columns:repeat(auto-fill, 1fr)}}@media all and (max-width: 720px){.cards{gap:18px}}.card{min-height:100px;background:var(--bg-1);border:2px solid var(--border-color);border-radius:10px;overflow:hidden}.card-info{padding:0 24px 24px 24px}.card-title{margin-top:.7em}.card-image{border:unset;width:100%}.card-image-placeholder{height:12px;width:100%}.card-description{margin-top:.5em;overflow:hidden}:root{--bg-primary: var(--bg-1);--text-color: var(--text-0);--label-color: #f0f0f0;--highlight-color: #f0f0f0}:root.dark{--highlight-color: #204e8a}.code-label{background:#333;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-js{background:#f7df1e;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-resultado{background:#333;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-regex{background:#777bb4;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-yaml{background:#f71e6a;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-shell{background:#4eaa25;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-json{background:#1e90ff;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-python{background:#ef5350;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-css{background:#264de4;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-go{background:#00add8;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-markdown{background:blue;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-rust{background:#ff4647;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-java{background:#f89820;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-csharp{background:#178600;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-ruby{background:#701516;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-swift{background:#f05138;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-php{background:#777bb4;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-typescript{background:#3178c6;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-scala{background:#c22d40;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-kotlin{background:#f18e33;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-lua{background:navy;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-perl{background:#0298c3;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-haskell{background:#5e5086;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-r{background:#198ce7;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-dart{background:#00d2b8;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-elixir{background:#6e4a7e;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-clojure{background:#5881d8;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-bash{background:#4eaa25;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}.label-default{background:#333;color:var(--label-color);border-radius:0px;font-size:12px;letter-spacing:.025rem;padding:.1rem .5rem;text-align:right;text-transform:uppercase;position:absolute;right:0;top:0;margin-top:0rem}code{background-color:var(--bg-primary);padding:.1em .2em;border-radius:0px;border:1px solid var(--border-color);font-family:var(--code-font);font-variant-ligatures:none}pre:not(.mermaid){background-color:var(--bg-primary) !important;border-radius:0px;border:1px solid var(--border-color);line-height:1.4;overflow-x:auto;padding:1em;position:relative}pre:not(.mermaid) mark{background-color:var(--highlight-color) !important;padding:0;border-radius:0px}pre:not(.mermaid) span[style*="background-color:#fff"]{background-color:rgba(0,0,0,0) !important;color:inherit !important}pre:not(.mermaid) code{background-color:rgba(0,0,0,0) !important;color:var(--text-color);font-size:95%;padding:0;border:none;font-family:var(--code-font)}pre:not(.mermaid) code table{margin:0;border-collapse:collapse;font-family:var(--code-font)}pre:not(.mermaid) code table mark{display:block;color:unset;padding:0;background-color:var(--highlight-color) !important;filter:brightness(1.2)}pre:not(.mermaid) code td,pre:not(.mermaid) code th,pre:not(.mermaid) code tr{padding:0;border-bottom:none;border:none}pre:not(.mermaid) code tbody td:first-child{text-align:center;user-select:none;min-width:60px;border-right:none}pre:not(.mermaid) code tbody tr:nth-child(even),pre:not(.mermaid) code thead tr{background-color:unset}img{border:3px solid var(--image-border);max-width:100%}figure{box-sizing:border-box;display:inline-block;margin:0;max-width:100%}figure img{max-height:100%}@media all and (min-width: 600px){figure{padding:0 40px}}figure h4{font-size:1rem;margin:0;margin-bottom:1em}figure h4::before{content:"↳ "}:root{--note-header-bg: var(--bg-2);--note-header-color: var(--text-0);--note-content-bg: var(--bg-1)}.note-container{border-radius:4px;overflow:hidden;margin:1em 0;position:relative;border-left:3px solid var(--primary-color);font-family:var(--text-font)}.note-toggle,.note-header{font-family:var(--text-font);color:var(--note-header-color);background-color:var(--note-header-bg);padding:10px 25px;text-align:left;border:none;width:100%;position:relative;outline:none;font-size:1.2em;transition:background-color .3s ease}.note-toggle p,.note-header p{margin:0}.note-toggle .note-center,.note-header .note-center{text-align:center;padding-right:50px}.note-toggle{cursor:pointer;position:relative}.note-toggle::before{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);}.note-toggle:hover,.note-toggle:focus{color:var(--note-header-color);background-color:var(--note-header-bg);outline:none}.note-content{padding:10px 20px;background-color:var(--note-content-bg)}summary:hover,summary:focus{color:var(--primary-color);background-color:var(--note-header-bg);outline:none;padding:10px}table{border-spacing:0;border-collapse:collapse}table th,table td{padding:6px 13px;border:1px solid var(--table-border)}table th{font-size:large}.tags ul{margin-left:0;padding-left:0}.tags li{list-style-type:none}.tags a{font-family:var(--text-font)}.mermaid{display:flex;align-items:center;justify-content:center;text-align:center;margin-top:1em;margin-bottom:1em;min-height:1px}.mermaid strong{font-weight:bold}.mermaid svg{display:block;margin:0 auto}.d3js{width:100%;max-width:800px;margin:0 auto;padding:20px;background-color:var(--bg-0);font-family:var(--text-font)}.d3js svg{display:block;width:100%;height:auto;font-family:inherit}.d3js g,.d3js .axis text{font-family:inherit}