.site-header[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--line);background:var(--bg);z-index:10;position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:12px 16px;max-width:1320px;margin-inline:auto;padding:12px 24px;display:flex}.brand[data-astro-cid-nen7h5rs]{white-space:nowrap;min-height:44px;color:var(--violet);flex-shrink:0;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-logo[data-astro-cid-nen7h5rs]{width:34px;height:34px;image-rendering:pixelated;flex:none;display:block}.brand-name[data-astro-cid-nen7h5rs]{font-family:var(--font-display);color:var(--ink-strong);letter-spacing:-.01em;flex-direction:column;font-size:21px;font-weight:800;line-height:1.1;display:flex}.brand-name[data-astro-cid-nen7h5rs] small[data-astro-cid-nen7h5rs]{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.2em;color:var(--violet);font-size:10.5px;font-weight:600}.nav[data-astro-cid-nen7h5rs]{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{min-height:44px;font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;border-radius:10px;align-items:center;padding:0 11px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--ink-strong);background:var(--surface-2)}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs].active{color:var(--ink-strong);background:color-mix(in srgb, var(--violet) 18%, var(--bg))}.right-controls[data-astro-cid-nen7h5rs]{align-items:center;gap:8px;display:flex}.menu-toggle[data-astro-cid-nen7h5rs],.search-toggle[data-astro-cid-nen7h5rs],.theme-toggle[data-astro-cid-nen7h5rs]{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.menu-toggle[data-astro-cid-nen7h5rs]{display:none}.menu-toggle[data-astro-cid-nen7h5rs]:hover,.search-toggle[data-astro-cid-nen7h5rs]:hover,.theme-toggle[data-astro-cid-nen7h5rs]:hover{color:var(--ink-strong);background:var(--surface-2);border-color:var(--line-hover)}.search-wrap[data-astro-cid-nen7h5rs]{align-items:center;gap:8px;display:flex}.search-form[data-astro-cid-nen7h5rs]{border:1px solid var(--line-strong);background:var(--surface);opacity:0;visibility:hidden;z-index:20;border-radius:14px;gap:8px;width:min(440px,100% - 24px);margin-top:12px;padding:10px;transition:opacity .18s,transform .18s,visibility 0s linear .18s;display:flex;position:absolute;top:100%;right:max(12px,50% - 636px);transform:translateY(-6px);box-shadow:0 14px 36px #00000059}.search-form[data-astro-cid-nen7h5rs]:before{content:"";background:var(--surface);border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);border-top-left-radius:3px;width:14px;height:14px;position:absolute;top:-8px;right:14px;transform:rotate(45deg)}.search-wrap[data-astro-cid-nen7h5rs].open .search-form[data-astro-cid-nen7h5rs]{opacity:1;visibility:visible;transition-delay:0s;transform:none}.search-form[data-astro-cid-nen7h5rs] input[data-astro-cid-nen7h5rs]{border:1px solid var(--line-strong);min-width:0;min-height:46px;font-family:var(--font-body);background:var(--bg);color:var(--ink);border-radius:10px;flex:1;padding:8px 14px;font-size:1rem}.search-form[data-astro-cid-nen7h5rs] input[data-astro-cid-nen7h5rs]:focus{border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb, var(--violet) 25%, transparent);outline:none}.search-submit[data-astro-cid-nen7h5rs]{background:var(--cta);min-height:46px;color:var(--cta-ink);font-family:var(--font-display);cursor:pointer;border:none;border-radius:10px;padding:0 18px;font-size:.9375rem;font-weight:800}.search-submit[data-astro-cid-nen7h5rs]:hover{filter:brightness(1.08)}.theme-toggle[data-astro-cid-nen7h5rs] .icon-moon[data-astro-cid-nen7h5rs],:root:not([data-theme=light]) .theme-toggle[data-astro-cid-nen7h5rs] .icon-sun[data-astro-cid-nen7h5rs]{display:none}:root:not([data-theme=light]) .theme-toggle[data-astro-cid-nen7h5rs] .icon-moon[data-astro-cid-nen7h5rs]{display:block}.mobile-nav[data-astro-cid-nen7h5rs]{border-top:1px solid #0000;flex-direction:column;max-height:0;transition:max-height .25s;display:none;overflow:hidden}.mobile-nav[data-astro-cid-nen7h5rs].open{border-top-color:var(--line);max-height:min(80vh,800px);overflow-y:auto}.mobile-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{font-family:var(--font-body);color:var(--ink-soft);border-bottom:1px solid var(--line);padding:14px 24px;font-size:.9rem;font-weight:600;text-decoration:none}.mobile-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs].active{color:var(--ink-strong);background:color-mix(in srgb, var(--violet) 14%, var(--bg))}@media (width<=1260px){.nav[data-astro-cid-nen7h5rs]{display:none}.menu-toggle[data-astro-cid-nen7h5rs],.mobile-nav[data-astro-cid-nen7h5rs]{display:flex}.bar[data-astro-cid-nen7h5rs]{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding-inline:12px;display:grid}.brand[data-astro-cid-nen7h5rs]{gap:8px}.menu-toggle[data-astro-cid-nen7h5rs]{justify-self:start}.brand[data-astro-cid-nen7h5rs]{justify-self:center;min-width:0}.theme-toggle[data-astro-cid-nen7h5rs],.search-toggle[data-astro-cid-nen7h5rs],.menu-toggle[data-astro-cid-nen7h5rs]{width:40px;height:40px}.right-controls[data-astro-cid-nen7h5rs]{justify-self:end;gap:6px}}@media (width<=400px){.brand-name[data-astro-cid-nen7h5rs]{font-size:17px}.brand-name[data-astro-cid-nen7h5rs] small[data-astro-cid-nen7h5rs]{letter-spacing:.14em;font-size:9px}.brand-logo[data-astro-cid-nen7h5rs]{width:26px;height:26px}}.site-footer[data-astro-cid-jo6i4kqk]{--ink-soft:#a9b4c9;--ink-strong:#fff;--violet:#a5b4fc;--teal:#2dd4bf;border-top:1px solid var(--line);background:#080b11;margin-top:56px}.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1.6fr 1fr 1.5fr;gap:32px;padding-block:36px 28px;display:grid}.brand[data-astro-cid-jo6i4kqk]{align-items:center;gap:8px;margin:0 0 16px;text-decoration:none;display:flex}.brand-logo[data-astro-cid-jo6i4kqk]{width:28px;height:28px;image-rendering:pixelated;flex:none;display:block}.brand-name[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);color:var(--ink-strong);letter-spacing:-.01em;flex-direction:column;gap:3px;font-size:21px;font-weight:700;line-height:1;display:flex}.brand-name[data-astro-cid-jo6i4kqk] small[data-astro-cid-jo6i4kqk]{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--violet);font-size:9px;font-weight:700}.tagline[data-astro-cid-jo6i4kqk]{color:var(--ink-soft);max-width:38ch;margin:0 0 20px;font-size:.9rem}.col-title[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);color:var(--ink-strong);margin:0 0 14px;padding-bottom:0;font-size:.95rem;font-weight:700;position:relative}ul[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}ul[data-astro-cid-jo6i4kqk].cats{grid-template-rows:repeat(5,auto);grid-auto-flow:column;gap:9px 32px;display:grid}ul[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:32px;color:var(--ink-soft);align-items:center;font-size:.9rem;text-decoration:none;display:inline-flex}ul[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--teal)}.bottom[data-astro-cid-jo6i4kqk]{background:var(--ink-deep)}.bottom-inner[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block:20px;display:flex}.bottom-inner[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{color:#ffffffbf;margin:0;font-size:.85rem}.legal-links[data-astro-cid-jo6i4kqk]{gap:24px;display:flex}.legal-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:#ffffffbf;font-size:.85rem;text-decoration:none}.legal-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:#fff}@media (width<=860px){.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}}@media (width<=560px){.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}.bottom-inner[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-start}}.cookie-banner[data-astro-cid-hq3mgpmn]{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;max-width:720px;margin-inline:auto;padding:16px 20px;display:flex;position:fixed;inset:auto 16px 16px;box-shadow:0 8px 30px #00000040}.cookie-banner[data-astro-cid-hq3mgpmn][hidden]{display:none}p[data-astro-cid-hq3mgpmn]{color:var(--ink);margin:0;font-size:.88rem;line-height:1.5}p[data-astro-cid-hq3mgpmn] a[data-astro-cid-hq3mgpmn]{color:var(--link)}.actions[data-astro-cid-hq3mgpmn]{flex-shrink:0;gap:8px;display:flex}.btn[data-astro-cid-hq3mgpmn]{font-family:var(--font-body);border:1px solid var(--violet);cursor:pointer;border-radius:8px;padding:9px 18px;font-size:.85rem;font-weight:600}.btn-solid[data-astro-cid-hq3mgpmn]{background:var(--violet);color:var(--bg)}.btn-ghost[data-astro-cid-hq3mgpmn]{color:var(--violet);background:0 0}@media (width<=560px){.cookie-banner[data-astro-cid-hq3mgpmn]{flex-direction:column;align-items:stretch}.actions[data-astro-cid-hq3mgpmn]{justify-content:flex-end}}.back-to-top[data-astro-cid-vy5be4ad]{z-index:40;border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--violet);cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,transform .2s,background-color .15s,color .15s,border-color .15s;display:flex;position:fixed;bottom:20px;right:20px;transform:translateY(12px);box-shadow:0 6px 18px #0000002e}.back-to-top[data-astro-cid-vy5be4ad][hidden]{display:none}.back-to-top[data-astro-cid-vy5be4ad].is-visible{opacity:1;transform:translateY(0)}.back-to-top[data-astro-cid-vy5be4ad]:hover,.back-to-top[data-astro-cid-vy5be4ad]:focus-visible{background:var(--violet);border-color:var(--violet);color:var(--bg)}body:has(#cookie-banner:not([hidden])) .back-to-top[data-astro-cid-vy5be4ad]{bottom:200px}@media (width>=561px){body:has(#cookie-banner:not([hidden])) .back-to-top[data-astro-cid-vy5be4ad]{bottom:110px}}@media (prefers-reduced-motion:reduce){.back-to-top[data-astro-cid-vy5be4ad]{transition:none;transform:none}}:root{color-scheme:dark;--bg:#0b0e14;--surface:#121826;--surface-2:#1b2438;--ink-strong:#fff;--ink-deep:#06080d;--ink:#d5dcec;--ink-soft:#a9b4c9;--line:#243049;--line-strong:#2f3d5c;--line-hover:#4a5d8a;--violet:#a5b4fc;--violet-soft:#a5b4fc;--violet-deep:#7c8cff;--rose:#60a5fa;--rose-soft:#93c5fd;--teal:#2dd4bf;--teal-soft:#5eead4;--cta:#2dd4bf;--cta-ink:#04201d;--ok:#34d399;--bad:#fb923c;--gradient:linear-gradient(135deg, var(--rose-soft), var(--rose));--font-display:var(--f-archivo);--font-body:var(--f-inter);--font-mono:var(--f-jetbrains-mono);--font-read:var(--f-inter);--link:#a5b4fc;--link-line:#a5b4fc38;--code-bg:#1b2438;--code-ink:#fcd34d;--chip-bg:#facc151f;--chip-line:#facc1547;--chip-ink:#fcd34d;--marker:#ff0;--marker-ink:#1a1a00;--measure:72ch}:root[data-theme=light]{color-scheme:light;--bg:#f5f8ff;--surface:#fff;--surface-2:#e6eeff;--ink-strong:#101a3d;--ink-deep:#0b1230;--ink:#1c2747;--ink-soft:#5a6788;--line:#d9e4fa;--line-strong:#c3d1f0;--line-hover:#8aa0d8;--violet:#2a14b4;--violet-soft:#a5b4fc;--violet-deep:#1b0d82;--rose:#2563eb;--rose-soft:#60a5fa;--teal:#0d9488;--teal-soft:#5eead4;--cta:#0d9488;--cta-ink:#fff;--ok:#15803d;--bad:#c2410c;--link:#0a6bd0;--link-line:#0b6fcc21;--code-bg:#e6eeff;--code-ink:#1a2f8f;--chip-bg:#ff0;--chip-line:transparent;--chip-ink:#1a1a00}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink-strong);margin:0;font-weight:700;line-height:1.15}a{color:inherit}img{max-width:100%;display:block}.container{max-width:1080px;margin-inline:auto;padding-inline:24px}.prose{max-width:var(--measure)}.prose p,.prose ul,.prose ol{font-family:var(--font-read);color:var(--ink);font-size:1.125rem;font-weight:400;line-height:1.8}.prose li{font-family:var(--font-read)}.prose strong,.prose b{color:var(--ink-strong);font-weight:600}.prose a{overflow-wrap:anywhere;color:var(--link);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--link-line);transition:color .15s,text-decoration-color .15s}.prose a:hover{color:var(--ink-strong);text-decoration-color:currentColor}.prose .cai-prova{--cai-line:#ff0;background-image:linear-gradient(var(--cai-line), var(--cai-line));-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:0 92%;background-repeat:no-repeat;background-size:100% .5em;transition:background-size .2s}.prose .cai-prova:hover{background-size:100% 100%}:root:not([data-theme=light]) .prose .cai-prova{--cai-line:#ffff0073}.prose .cai-prova.lima,:root:not([data-theme=light]) .prose .cai-prova.lima{--cai-line:#fe0;background-size:100% .42em}.prose .cai-prova code{background:0 0;padding:0 2px}.prose .post-cta{border:1px solid var(--line-strong);border-left:3px solid var(--cta);background:var(--surface);border-radius:12px;margin:32px 0 8px;padding:14px 18px}.prose .post-cta .post-cta-title{color:var(--ink-strong);margin:0 0 4px;font-weight:600}.prose .post-cta .post-cta-text{color:var(--ink-soft);margin:0;font-size:.95em}.prose h2{letter-spacing:-.015em;margin-top:2.5em;font-size:clamp(1.625rem,3vw,2rem);font-weight:800;line-height:1.2}.prose h2,.prose h3{scroll-margin-top:88px}.prose h3{color:var(--ink-strong);margin-top:2em;font-size:1.25rem}.prose img{border:1px solid var(--line);border-radius:12px;height:auto;margin:32px 0}.prose table{border-collapse:collapse;width:100%;color:var(--ink);margin:32px 0;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--ink);font-size:inherit;padding:12px 14px}.prose th{border-bottom-color:var(--line-strong);color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;background:0 0;font-size:.75rem;font-weight:600}.prose table{border:1px solid var(--line);background:var(--bg);border-radius:12px}.prose pre{background:var(--bg);border:1px solid var(--line);color:var(--ink);line-height:1.9;font-family:var(--font-mono);border-radius:12px;padding:20px 24px;font-size:.9rem;overflow-x:auto}.prose code{font-family:var(--font-mono);background:var(--code-bg);color:var(--code-ink);border-radius:6px;padding:2px 7px;font-size:.9em}.prose pre code{color:inherit;background:0 0;padding:0}.button{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:12px 22px;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .15s,opacity .15s;display:inline-flex}.button:active{transform:scale(.98)}.button-primary{background:var(--gradient);color:#fff}.button-primary:hover{opacity:.92}.button-ghost{border-color:var(--line);color:var(--ink-strong);background:0 0}.button-ghost:hover{border-color:var(--teal);color:var(--teal)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.prose .copy-btn{min-height:32px;font-family:var(--font-body);white-space:nowrap;color:#fff;background:var(--violet-deep);border:1px solid var(--violet-deep);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.prose .copy-btn:hover{background:var(--violet);border-color:var(--violet)}.prose .copy-btn:active{transform:translateY(1px)}.prose .copy-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.prose .copy-btn.copied{background:var(--teal);border-color:var(--teal);color:#04211d}.prose .copy-btn.copy-error{background:var(--rose);border-color:var(--rose);color:#fff}:root:not([data-theme=light]) .prose .copy-btn{color:#0b1230;background:var(--violet);border-color:var(--violet)}:root:not([data-theme=light]) .prose .copy-btn:hover{background:var(--violet-soft);border-color:var(--violet-soft)}.prose p>.copy-btn{margin:8px 0}
