:root{--bg:#111;--fg:#ddd;--muted:#8a8a8a;--rule:#333;--link:#9db4ff;--link-visited:#c4a7e7;--mark:#2a2a2a;--code-bg:#171717;--article-font-size:18px;--measure:65ch;--gutter:16px;--serif:Charter, "Bitstream Charter", Georgia, "Times New Roman", Times, serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;color-scheme:dark}html[data-theme=light]{--bg:#fff;--fg:#111;--muted:#666;--rule:#ccc;--link:#00e;--link-visited:#551a8b;--mark:#f2f2f2;--code-bg:#f6f6f6;color-scheme:light}@media (prefers-color-scheme:light){html:not([data-theme]){--bg:#fff;--fg:#111;--muted:#666;--rule:#ccc;--link:#00e;--link-visited:#551a8b;--mark:#f2f2f2;--code-bg:#f6f6f6;color-scheme:light}}*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);font-family:var(--serif);-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:100%;line-height:1.55}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);grid-template-columns:[bleed-start] minmax(var(--gutter), 1fr) [main-start] minmax(0, var(--measure)) [main-end] minmax(var(--gutter), 1fr) [bleed-end];row-gap:2rem;min-height:100dvh;margin:0;padding-block:1.5rem 3rem;display:grid}body>*{grid-column:main}a{color:var(--link);text-underline-offset:2px;text-decoration:underline}a:visited{color:var(--link-visited)}a:hover{text-decoration-thickness:2px}a[aria-current=page]{color:var(--fg);text-decoration:none}h1,h2,h3,h4{margin:0 0 .5em;font-weight:700;line-height:1.2}h1{font-size:1.75rem}h2{margin-top:2rem;font-size:1.25rem}h3{margin-top:1.5rem;font-size:1.05rem}p{margin:0 0 1em}hr{border:0;border-top:1px solid var(--rule);margin:2rem 0}img,iframe,video{max-width:100%;height:auto}code,kbd,pre,time,.mono{font-family:var(--mono);font-size:.875em}button,select,input{font:inherit;color:inherit}html[data-lang=en] [data-lang=pt],html[data-lang=pt] [data-lang=en]{display:none!important}html[data-theme=dark] [data-theme-label=dark],html[data-theme=light] [data-theme-label=light],html:not([data-theme]) [data-theme-label=light]{display:none}html[data-author] [data-author-only]{display:revert!important}html[data-author] a[data-author-only]{display:inline!important}.skip{position:absolute;left:-999px}.skip:focus{left:var(--gutter);background:var(--bg);padding:.25rem;top:.5rem}.tool{cursor:pointer;color:var(--link);font-family:var(--mono);background:0 0;border:0;margin:0;padding:0;font-size:.875em;text-decoration:none}.tool:hover{text-decoration:underline}.tool[aria-pressed=true]{color:var(--fg);font-weight:700}a.tool{color:var(--link)}select{background:var(--bg);border:1px solid var(--rule);font-family:var(--mono);padding:.1em .3em;font-size:.875em}input[type=search]{background:var(--bg);border:1px solid var(--rule);width:100%;font-family:var(--mono);padding:.4em .6em}.muted{color:var(--muted)}.plain-list{margin:0 0 1em;padding:0;list-style:none}.plain-list li{margin:.25em 0}.site-header{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;padding-bottom:.75rem;display:flex}.site-name{color:var(--fg);margin-right:auto;font-weight:700;text-decoration:none}.site-name:visited{color:var(--fg)}.site-nav,.site-tools{flex-wrap:wrap;gap:.25rem .9rem;display:flex}.site-tools{width:100%;font-family:var(--mono)}@media (width>=640px){.site-tools{width:auto}}.saved-count{color:var(--muted)}.site-footer{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--muted);padding-top:1rem;font-size:.875rem}.footer-links{margin:0 0 .5em}.footer-links a{margin-right:.35em}.footer-colophon{margin:.5em 0}.ascii-mark{color:var(--muted);margin:1.5rem 0 0;font-size:.7rem;line-height:1.1}.intro{font-size:1.15rem}.home-section h2{margin-top:1.5rem}.rows{margin:0 0 1em;padding:0;list-style:none}.row{grid-template-columns:max-content 1fr;align-items:baseline;column-gap:1rem;margin:.4em 0;display:grid}.row-date{color:var(--muted);white-space:nowrap}.row-body{min-width:0}.row-meta{font-family:var(--mono);white-space:nowrap;font-size:.8rem}.row-summary{margin-top:.1em;font-size:.95rem;display:block}.row-actions{font-family:var(--mono);margin-top:.15em;font-size:.8rem;display:block}.row-actions .tool{margin-right:.5em}@media (width<=480px){.row{grid-template-columns:1fr;row-gap:.1em}.row-date{font-size:.8rem}}.list-controls{font-family:var(--mono);font-size:.875rem}.year-heading,.day-heading{color:var(--muted);margin-top:1.75rem;font-size:1rem;font-weight:700}.more{font-family:var(--mono)}.note{border-left:1px solid var(--rule);margin:1.25rem 0;padding-left:.9rem}.note-title{margin:0 0 .35em;font-size:1.05rem}.note-title a{color:var(--fg);text-decoration:none}.note-title a:hover{text-decoration:underline}.note-image{margin:0 0 .75em}.note-image img{max-width:100%;display:block}.note-body p:last-child{margin-bottom:.5em}.note-meta{font-family:var(--mono);margin:0;font-size:.8rem}.note-meta>*{margin-right:.6em}.tags a{margin-right:.4em}.tag-index{columns:2;column-gap:2rem;padding:0;list-style:none}.tag-index li{break-inside:avoid;margin:.25em 0}@media (width<=480px){.tag-index{columns:1}}.article-header h1{margin-bottom:.35em;font-size:2rem}.article-meta{margin:0 0 .75em;font-size:.85rem}.article-summary{color:var(--muted);font-size:1.1rem;font-style:italic}.reading-tools,.article-actions{font-family:var(--mono);font-size:.875rem}.reading-tools .tool,.article-actions .tool{margin-right:.75em}.toc{font-family:var(--mono);margin:1rem 0 0;font-size:.875rem}.toc summary{cursor:pointer;color:var(--link);list-style:none}.toc summary::-webkit-details-marker{display:none}.toc ol{font-family:var(--serif);margin:.5em 0 0;padding-left:1.5em;font-size:1rem}.article-tags{font-family:var(--mono);margin-bottom:1.5rem;font-size:.875rem;display:block}.article-nav{border-top:1px solid var(--rule);margin-top:2rem;padding-top:1rem}.article-nav p{margin:.25em 0}.comments{border-top:1px solid var(--rule);margin-top:2.5rem;padding-top:1.5rem}.video{aspect-ratio:16/9;border:1px solid var(--rule);margin:1.5rem 0}.video iframe{border:0;width:100%;height:100%;display:block}.article-body{font-size:var(--article-font-size);line-height:1.7}.prose h2{margin-top:2em;scroll-margin-top:1rem;font-size:1.4em}.prose h3{margin-top:1.6em;scroll-margin-top:1rem;font-size:1.15em}.prose p,.prose ul,.prose ol{margin:0 0 1.2em}.prose li{margin:.3em 0}.prose blockquote{border-left:3px solid var(--rule);color:var(--muted);margin:1.5em 0;padding-left:1em}.prose img{max-width:100%;margin:0 auto;display:block}.prose figure{margin:1.5em 0}.prose figcaption{font-family:var(--mono);color:var(--muted);text-align:center;margin-top:.5em;font-size:.8rem}.prose table{border-collapse:collapse;width:100%;margin:1.5em 0;font-size:.95em}.prose th,.prose td{border:1px solid var(--rule);text-align:left;vertical-align:top;padding:.35em .6em}.prose th{font-family:var(--mono);font-size:.85em}.prose code{background:var(--mark);padding:.1em .3em}.prose pre{background:var(--code-bg);border:1px solid var(--rule);margin:0;padding:.9em 1em;line-height:1.5;overflow-x:auto}.prose pre code{background:0 0;padding:0;font-size:.85rem}.heading-anchor{color:var(--muted);opacity:0;text-decoration:none}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.heading-anchor:focus{opacity:1}.prose .section-divider{border-top:1px solid var(--rule)}.prose .full-bleed,.prose figure.full-bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.prose .full-bleed img{width:100%;max-width:none}.prose .image-pair{grid-template-columns:1fr;gap:.75rem;margin:1.5em 0;display:grid}@media (width>=640px){.prose .image-pair{grid-template-columns:1fr 1fr}}.prose .image-pair figure{margin:0}.prose .image-pair img{object-fit:cover;width:100%;height:100%}.prose .image-center img{margin:0 auto}.astro-code,.astro-code span{color:var(--shiki-light);background-color:#0000!important}html[data-theme=dark] .astro-code,html[data-theme=dark] .astro-code span{color:var(--shiki-dark)}@media (prefers-color-scheme:dark){html:not([data-theme]) .astro-code,html:not([data-theme]) .astro-code span{color:var(--shiki-dark)}}.code-block{margin:1.5em 0;position:relative}.code-block.is-collapsed pre{max-height:190px;overflow:hidden}.code-block.is-collapsed:after{content:"";background:linear-gradient(transparent, var(--code-bg));height:3rem;position:absolute;bottom:1.6rem;left:1px;right:1px}.code-bar{text-align:right;margin:.25em 0 0;font-size:.8rem}.code-bar .tool{margin-left:.5em}html[data-focus] .article-body .focus-section{opacity:.35;transition:opacity .2s}html[data-focus] .article-body .focus-section.is-focused{opacity:1}@media (prefers-reduced-motion:reduce){html[data-focus] .article-body .focus-section{transition:none}}.dialog{background:var(--bg);color:var(--fg);border:1px solid var(--fg);width:min(36rem, calc(100vw - 2 * var(--gutter)));max-height:80dvh;margin:10vh auto;padding:1rem 1.25rem}.dialog::backdrop{background:#0009}.dialog-head{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}#search-results li,#saved-list li{margin:.5em 0}.share-actions{font-family:var(--mono);flex-wrap:wrap;gap:.5em 1em;margin:0;font-size:.875rem;display:flex}.cookie-notice{left:var(--gutter);right:var(--gutter);background:var(--bg);border:1px solid var(--fg);max-width:28rem;font-family:var(--mono);z-index:10;padding:.6rem .8rem;font-size:.8rem;position:fixed;bottom:1rem}.cookie-notice .tool{margin-left:.5em}.calendar-nav{font-family:var(--mono);justify-content:space-between;align-items:baseline;display:flex}.calendar{border:1px solid var(--rule);background:var(--rule);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-head{background:var(--bg);text-align:center;text-transform:uppercase;padding:.3em;font-size:.7rem}.cal-cell{background:var(--bg);min-width:0;min-height:5rem;padding:.3em;font-size:.75rem}.cal-cell.is-empty{opacity:.5}.cal-cell.is-today .cal-day{background:var(--fg);color:var(--bg)}.cal-cell.is-selected{outline:1px solid var(--link);outline-offset:-1px}.cal-cell.is-past .cal-day{color:var(--muted)}.cal-day{text-align:center;min-width:1.5em;color:var(--link);cursor:pointer;background:0 0;border:0;padding:.1em .3em;text-decoration:none;display:inline-block}.cal-items{margin:.3em 0 0;padding:0;list-style:none}.cal-items li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule section{margin-top:1.5rem}
