@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/jetbrains-mono-latin-700-normal.BYuf6tUa.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-700-normal.D3wTyLJW.woff) format("woff")}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/bungee-latin-400-normal.Dfnurram.woff2) format("woff2"),url(/_astro/bungee-latin-400-normal.DA8IEVW_.woff) format("woff")}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-400-normal.BFBkh4jY.woff2) format("woff2"),url(/_astro/newsreader-latin-400-normal.gRTjlS2D.woff) format("woff")}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/newsreader-latin-400-italic.CEihAR-f.woff2) format("woff2"),url(/_astro/newsreader-latin-400-italic.CNZoH1hn.woff) format("woff")}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/newsreader-latin-600-normal.30OJ_TG_.woff2) format("woff2"),url(/_astro/newsreader-latin-600-normal.DUnT2r2g.woff) format("woff")}:root{--bg: #0a0a0a;--fg: #f5f5f0;--bg-2: #161614;--bg-3: #1f1f1c;--fg-2: #c8c6be;--fg-3: #8a8884;--hot: #ff2d55;--cyan: #00f0ff;--acid: #c4ff00;--ylw: #ffe600;--orng: #ff6a00;--vio: #b83dff;--accent: var(--fg);--accent-ink: #000;--zap: var(--ylw);--zap-ink: #000;--hair: 1.5px;--edge: 2px;--loud: 3px;--display: "Bungee", Impact, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--serif: "Newsreader", Georgia, "Times New Roman", serif;--bungee: var(--display);--t-meta: 12px;--t-ui: 14px;--t-body: 16px;--t-read: 19px;--t-item: clamp(18px, 1.7vw, 22px);--t-display: clamp(44px, 8vw, 76px);--track: .08em;--header-h: 54px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0;overflow-x:clip}html{scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:var(--t-ui);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}a{color:inherit;text-decoration:none;transition:background .05s linear,color .05s linear,border-color .05s linear}a:hover{color:var(--accent)}.zap:hover,.prose a:hover{background:var(--zap);color:var(--zap-ink);border-color:#000}img{display:block;max-width:100%}button{font:inherit}:focus-visible{outline:var(--loud) solid var(--zap);outline-offset:2px}::selection{background:var(--accent);color:var(--accent-ink)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.page{position:relative;min-height:100vh;display:flex;flex-direction:column}.page-inner{padding:32px 28px 72px;max-width:1280px;width:100%;margin:0 auto;flex:1}.site-header{position:sticky;top:0;z-index:35;background:var(--bg);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:var(--header-h);padding:8px 28px;border-bottom:var(--edge) solid var(--fg)}.site-header .brand{display:flex;align-items:center;gap:12px;min-width:0}.site-header .brand-back{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:var(--track);text-transform:uppercase}.site-header .brand-back:hover{background:var(--zap);color:var(--zap-ink)}.site-header .brand-tag{font-family:var(--display);background:var(--hot);color:#000;padding:2px 8px;font-size:18px;letter-spacing:-.04em;white-space:nowrap}.site-header .nav-aux{display:flex;align-items:center;gap:6px;justify-self:end}.menu-toggle{display:none;background:none;border:var(--edge) solid var(--fg);font-family:var(--mono);font-size:var(--t-meta);letter-spacing:var(--track);color:var(--fg);text-transform:uppercase;cursor:pointer;padding:5px 9px}.menu-toggle:hover{background:var(--zap);color:var(--zap-ink)}.site-nav{display:flex;flex-wrap:wrap;gap:0;align-items:center;justify-self:center}.site-nav a{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:var(--track);text-transform:uppercase;padding:6px 10px;border-right:var(--hair) solid var(--fg);color:inherit;cursor:pointer;white-space:nowrap}.site-nav a:last-child{border-right:none}.site-nav a .num{color:var(--sec-c, var(--fg-3));margin-right:6px}.site-nav a.active .num,.site-nav a:hover .num{color:inherit}.site-nav a.active{background:var(--accent);color:var(--accent-ink)}.site-nav a:hover{background:var(--zap);color:var(--zap-ink)}.site-footer{border-top:var(--edge) solid var(--fg);padding:22px 28px 26px;font-family:var(--mono);font-size:var(--t-meta);letter-spacing:var(--track);text-transform:uppercase;color:var(--fg-2);display:grid;gap:16px}.footer-nav{display:flex;flex-wrap:wrap;gap:4px 18px}.footer-nav a{display:inline-flex;align-items:center;gap:7px;color:var(--fg);padding:2px 0}.footer-nav a .num{color:var(--sec-c)}.footer-nav a .glyph{color:var(--sec-c);width:10px;height:10px}.footer-nav a:hover,.footer-nav a[aria-current]{color:var(--sec-c)}.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;color:var(--fg-3)}.footer-base a{color:var(--fg);border-bottom:var(--hair) solid currentColor}.footer-base a:hover{background:var(--zap);color:var(--zap-ink);border-color:#000}.ed-mono{font-family:var(--mono)}.ed-bungee{font-family:var(--display);font-weight:400}.ed-serif{font-family:var(--serif)}.tape{display:inline-block;font-family:var(--mono);font-size:var(--t-meta);font-weight:700;letter-spacing:var(--track);text-transform:uppercase;background:var(--accent);color:var(--accent-ink);padding:3px 8px;line-height:1.4}.label,.ed-kicker{font-family:var(--mono);font-size:var(--t-meta);letter-spacing:var(--track);text-transform:uppercase;color:var(--accent)}.label.muted{color:var(--fg-3)}.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:var(--t-item);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;padding-bottom:8px;border-bottom:var(--edge) solid var(--accent)}.sec-h .sec-h-text{flex:1;min-width:0}.sec-h .sec-h-text:before{content:">> ";white-space:pre}.sec-h .sec-h-aside{font-size:var(--t-meta);font-weight:400;letter-spacing:var(--track);white-space:nowrap}.sec-h .sec-h-aside:hover{background:var(--zap);color:var(--zap-ink)}.ed-tag{display:inline-block;font-family:var(--mono);font-size:var(--t-meta);letter-spacing:var(--track);text-transform:uppercase;padding:4px 9px;border:var(--hair) solid currentColor;background:transparent;color:inherit;line-height:1.4}button.ed-tag{cursor:pointer}button.ed-tag:hover{background:var(--zap);color:var(--zap-ink);border-color:var(--zap-ink)}.ed-tag.active,.ed-tag.is-active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.ed-tag .n{opacity:.6;margin-left:6px}.ed-tag.is-active .n{opacity:1}.ed-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:var(--t-ui);text-transform:uppercase;letter-spacing:var(--track);padding:10px 16px;border:var(--edge) solid currentColor;background:transparent;color:inherit;cursor:pointer;text-decoration:none;position:relative;transition:transform .08s linear,box-shadow .08s linear}.ed-btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 currentColor;background:transparent;color:inherit}.ed-btn:active{transform:translate(0);box-shadow:0 0 0 currentColor}.ed-btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.ed-btn.primary:hover{background:var(--accent);color:var(--accent-ink);box-shadow:4px 4px 0 var(--fg)}.ed-btn.ghost{color:var(--accent)}.ed-mark{background:var(--accent);color:var(--accent-ink);padding:0 4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.ed-rule{border:none;border-top:var(--edge) solid var(--fg);margin:0}.ed-rule-dashed{border:none;border-top:var(--edge) dashed var(--fg);margin:0}.ed-rule-accent{border:none;height:8px;margin:0;background:var(--accent)}.ed-blink{animation:ed-blink 1.05s steps(2) infinite}@keyframes ed-blink{50%{opacity:0}}.ed-imgframe{position:relative;background:repeating-linear-gradient(-45deg,transparent 0,transparent 8px,currentColor 8px,currentColor 9px);overflow:hidden;color:var(--fg-2)}.ed-imgframe>.ph{position:absolute;inset:6px;display:flex;align-items:center;justify-content:center;background:var(--bg);font-family:var(--mono);font-size:var(--t-meta);letter-spacing:var(--track);text-transform:uppercase;color:var(--fg-3)}.ed-imgframe>img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:cover;z-index:2}.ed-imgframe>img+.ph{display:none}.ed-input{font-family:var(--mono);font-size:var(--t-ui);background:transparent;color:inherit;border:var(--edge) solid currentColor;padding:9px 10px;outline:none;width:100%}.ed-input:focus{background:var(--zap);color:var(--zap-ink);border-color:var(--zap-ink)}.ed-input::placeholder{color:var(--fg-3)}.theme-home{--accent: var(--fg);--accent-ink: #000}.theme-sobre{--accent: var(--cyan);--accent-ink: #000}.theme-cv{--accent: var(--ylw);--accent-ink: #000}.theme-academ{--accent: var(--acid);--accent-ink: #000}.theme-blog{--accent: var(--vio);--accent-ink: #000;--zap: var(--vio)}.theme-projetos{--accent: var(--orng);--accent-ink: #000}.theme-contato{--accent: var(--hot);--accent-ink: #000}@media(max-width:960px){.site-header{grid-template-columns:1fr auto auto;row-gap:10px;gap:10px}.site-header .brand{grid-column:1;grid-row:1}.site-header .nav-aux{grid-column:2;grid-row:1}.menu-toggle{grid-column:3;grid-row:1;display:inline-block}.site-nav{grid-column:1 / -1;grid-row:2;justify-self:stretch;display:none}.site-header.is-open .site-nav{display:flex;flex-direction:column;align-items:stretch;border-top:var(--edge) dashed var(--fg);padding-top:8px;max-height:calc(100vh - var(--header-h) - 16px);overflow-y:auto}.site-header.is-open .site-nav a{border-right:none;border-bottom:1px solid var(--fg);padding:12px 10px;font-size:var(--t-ui)}}@media(max-width:720px){.page-inner{padding:24px 16px 56px}.site-header{padding:8px 16px}.site-footer{padding:18px 16px 22px}}.skip-link{position:absolute;left:8px;top:-100px;z-index:100;background:var(--acid);color:#000;border:var(--edge) solid #000;font-family:var(--mono);font-size:var(--t-ui);text-transform:uppercase;letter-spacing:var(--track);padding:10px 14px}.skip-link:focus{top:8px;color:#000;background:var(--acid)}.read-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:40;pointer-events:none}.to-top{position:fixed;right:16px;bottom:16px;z-index:31;font-family:var(--mono);font-size:var(--t-meta);letter-spacing:var(--track);text-transform:uppercase;background:var(--bg);color:var(--fg);border:var(--edge) solid var(--fg);padding:8px 10px;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .15s linear,visibility .15s linear}.to-top.is-on{opacity:1;visibility:visible}.to-top:hover{background:var(--zap);color:var(--zap-ink);border-color:var(--zap-ink)}.filters{display:flex;gap:6px;margin-bottom:28px;flex-wrap:wrap;align-items:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.empty-state{padding:36px 0 8px;font-family:var(--mono);border-top:var(--hair) solid var(--fg)}.empty-state .es-code{font-family:var(--display);font-size:var(--t-item);color:var(--accent);line-height:1}.empty-state .es-body{font-size:var(--t-ui);color:var(--fg-2);margin:10px 0 16px}.lang-toggle[data-astro-cid-bvxdwma5]{display:inline-flex;gap:4px}.lang[data-astro-cid-bvxdwma5]{font-size:var(--t-meta);padding:3px 8px}.lang[data-astro-cid-bvxdwma5].on{cursor:default}.lang[data-astro-cid-bvxdwma5].on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.lang[data-astro-cid-bvxdwma5].off{color:var(--fg-3)}.lang[data-astro-cid-bvxdwma5].off:hover{color:var(--fg);border-color:var(--fg)}.brand-link[data-astro-cid-dmqpwcec]{display:inline-flex;text-decoration:none}.brand-link[data-astro-cid-dmqpwcec]:hover,.brand-back[data-astro-cid-dmqpwcec]{background:transparent}@media(max-width:720px){.brand-label[data-astro-cid-dmqpwcec]{display:none}}.glyph[data-astro-cid-ztaziqsp]{display:inline-block;width:1em;height:1em;fill:currentColor;flex:none;overflow:visible}
