@font-face{font-family:Gabarito;font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/gabarito-latin-ext-DF3dG5Xb.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Gabarito;font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/gabarito-latin-DUTn1jtq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/figtree-latin-ext-C5tEHAKb.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/figtree-latin-CEHu_veL.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--fc-ink:#1a1a2e;--fc-paper:#fffbf5;--fc-muted:#55546a;--fc-muted-on-ink:#afacaf;--fc-line:#e4e0dd;--fc-coral:#ff6b4a;--fc-violet:#7c5cff;--fc-mint:#2ec4a0;--fc-butter:#ffc53d;--fc-sky:#3fa9f5;--fc-pink:#ff7ab6;--fc-violet-text:#4b3b97;--fc-font-display:"Gabarito", ui-sans-serif, system-ui, sans-serif;--fc-font-text:"Figtree", ui-sans-serif, system-ui, sans-serif;--fc-tracking-display:-.01em;--text-on-ink:#d9d6d6;--card:#fff;--tint:#1a1a2e0a;--gutter:clamp(16px, 4vw, 40px);--header:72px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header) + 16px)}body{background:var(--fc-paper);min-height:100vh;color:var(--fc-ink);font:400 17px/1.6 var(--fc-font-text);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}body>.layout,body>main{flex:1 0 auto}body.top-ink{background:var(--fc-ink)}body.top-ink>:not(.on-ink){background:var(--fc-paper)}svg{display:block}a{color:var(--fc-violet-text)}:focus-visible{outline:2px solid var(--fc-violet-text);outline-offset:3px;border-radius:4px}.on-ink :focus-visible{outline-color:var(--fc-paper)}h1,h2,h3,h4{font-family:var(--fc-font-display);font-weight:700;line-height:1.15}.muted{color:var(--fc-muted)}.on-ink{color:var(--fc-paper)}.on-ink .lede{color:var(--text-on-ink)}.wrap{width:100%;max-width:1320px;padding-inline:var(--gutter);margin-inline:auto}.skip{z-index:10;background:var(--fc-ink);color:var(--fc-paper);border-radius:10px;padding:10px 14px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.btn{min-height:44px;font:inherit;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn-ink{background:var(--fc-ink);color:var(--fc-paper)}.btn-ink:hover{background:#2c2c48}.btn-paper{background:var(--fc-paper);color:var(--fc-ink)}.btn-paper:hover{background:#fff}.more-link{font-weight:600}.lockup{font-family:var(--fc-font-display);align-items:center;gap:.26em;font-size:24px;font-weight:700;line-height:1;display:inline-flex}.lockup .mark{width:.9em;height:.9em;transform:translateY(-.015em)}.nav-home{color:inherit;border-radius:8px;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.docs-word{opacity:.8;border:1px solid;border-radius:999px;padding:3px 9px 4px;font-size:14px;font-weight:600;line-height:1}.book{color:#fffbf505;pointer-events:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(52% 46% at 50% 30%,#0000 30%,#000 80%);mask-image:radial-gradient(52% 46% at 50% 30%,#0000 30%,#000 80%)}.book svg{fill:currentColor;max-width:none;position:absolute;top:0;left:50%;transform:translate(-50%)}.top{z-index:5;position:relative}.top.on-paper{border-bottom:1px solid var(--fc-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffbf5f0;position:sticky;top:0}.top-row{min-height:var(--header);align-items:center;gap:12px 28px;display:flex}.top-row .search{flex:0 460px}.top-links{align-items:center;gap:20px;margin-left:auto;display:flex}.top-links>a:not(.btn){color:inherit;font-size:15px;font-weight:500;text-decoration:none}.top-links>a:not(.btn):hover{text-decoration:underline}.nav-menu{display:none;position:relative}.nav-menu summary{cursor:pointer;border:1px solid #7f7f8c73;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;list-style:none;display:flex}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu summary svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}.nav-menu-panel{border:1px solid var(--fc-line);background:var(--fc-paper);border-radius:16px;flex-direction:column;width:min(300px,100vw - 32px);max-height:calc(100vh - 100px);padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 24px 60px -24px #1a1a2e73}.nav-menu-panel a{color:var(--fc-ink);border-radius:10px;padding:11px 14px;font-weight:500;text-decoration:none}.nav-menu-panel a:hover{background:var(--tint)}.search{display:block}.search-form{align-items:center;display:flex;position:relative}.search input{border:1px solid var(--fc-line);background:var(--card);width:100%;min-height:44px;color:var(--fc-ink);font:inherit;border-radius:12px;padding:0 40px 0 42px;font-size:16px}.search input::placeholder{color:var(--fc-muted)}.search input:focus{outline:2px solid var(--fc-violet-text);outline-offset:0;border-color:#0000}.search-icon{fill:none;width:18px;height:18px;stroke:var(--fc-muted);stroke-width:2px;stroke-linecap:round;pointer-events:none;position:absolute;left:14px}.search-key{border:1px solid var(--fc-line);color:var(--fc-muted);font:500 13px/1.4 var(--fc-font-text);pointer-events:none;border-radius:6px;padding:1px 7px;position:absolute;right:12px}.search-big{max-width:640px}.search-big input{border-radius:16px;min-height:58px;font-size:18px}.search-big .search-icon{width:20px;height:20px;left:18px}.search-big input{padding-left:50px}.search-pop{z-index:6;border:1px solid var(--fc-line);background:var(--card);max-height:min(70vh,560px);color:var(--fc-ink);border-radius:16px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 24px 60px -24px #1a1a2e73}.search-pop[hidden]{display:none}.result{color:var(--fc-ink);border-radius:10px;padding:10px 12px;text-decoration:none;display:block}.result:hover,.result.on{background:var(--tint)}.result-title{font-weight:600;display:block}.result-where{color:var(--fc-violet-text);font-size:13px;display:block}.result-text{color:var(--fc-muted);margin-top:2px;font-size:14px;line-height:1.45;display:block}.result mark{color:inherit;background:#ffc53d73;border-radius:3px}.search-none{color:var(--fc-muted);margin:0;padding:12px}.search-more{border-top:1px solid var(--fc-line);padding:10px 12px;font-size:15px;font-weight:600;display:block}.hero{background:var(--fc-ink);position:relative}.hero-text{padding-block:clamp(48px,8vw,104px) clamp(56px,8vw,96px);position:relative}.display{letter-spacing:-.02em;margin:0;font-size:clamp(44px,7vw,84px);line-height:.98}.lede{max-width:680px;color:var(--fc-muted);margin:0;font-size:clamp(18px,1.6vw,20px)}.hero-text .lede{margin-block:20px 32px}.home-sections{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:20px;padding-block:clamp(40px,6vw,72px);display:grid}.section-card{border:1px solid var(--fc-line);background:var(--card);border-radius:20px;padding:24px 24px 22px}.section-card h2{margin:0 0 6px;font-size:22px}.section-card h2 a{color:inherit;text-decoration:none}.section-card h2 a:hover{text-decoration:underline}.section-card p{margin:0;font-size:15px}.section-card ul{margin:14px 0 12px;padding:0;list-style:none}.section-card li{border-top:1px solid var(--fc-line);padding:5px 0;font-size:15px}.section-card li a{text-decoration:none}.section-card li a:hover{text-decoration:underline}.section-card .more-link{font-size:15px}.layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:48px;display:grid}.layout.has-toc{grid-template-columns:250px minmax(0,1fr) 210px}.sidebar,.toc{top:calc(var(--header) + 24px);max-height:calc(100vh - var(--header) - 48px);padding-block:32px;font-size:15px;position:sticky;overflow-y:auto}.sidebar details{border-bottom:1px solid var(--fc-line)}.sidebar summary{cursor:pointer;padding:9px 4px;font-weight:600}.sidebar ul,.toc ul{margin:0;padding:0 0 10px;list-style:none}.sidebar li a{color:var(--fc-muted);border-radius:8px;padding:5px 10px;line-height:1.35;text-decoration:none;display:block}.sidebar li a:hover{background:var(--tint);color:var(--fc-ink)}.sidebar li a[aria-current=page]{background:var(--tint);color:var(--fc-ink);font-weight:600}.toc h2{font-family:var(--fc-font-text);letter-spacing:.04em;text-transform:uppercase;color:var(--fc-muted);margin:0 0 10px;font-size:13px;font-weight:600}.toc li a{border-left:2px solid var(--fc-line);color:var(--fc-muted);padding:4px 0 4px 12px;font-size:14px;line-height:1.35;text-decoration:none;display:block}.toc li a:hover{border-color:var(--fc-violet-text);color:var(--fc-ink)}.article{min-width:0;max-width:760px;padding-block:32px 72px}.crumbs{color:var(--fc-muted);font-size:14px}.crumbs a{color:inherit}.article h1{letter-spacing:-.01em;margin:10px 0 12px;font-size:clamp(32px,4vw,46px)}.article>.lede{margin-bottom:28px}.prose>:first-child{margin-top:0}.prose h2{border-top:1px solid var(--fc-line);margin:44px 0 12px;padding-top:20px;font-size:27px}.prose h3{margin:30px 0 8px;font-size:20px}.prose h4{margin:24px 0 6px;font-size:17px}.prose h2,.prose h3{position:relative}.anchor{color:var(--fc-muted);opacity:0;padding-right:.2em;font-weight:400;text-decoration:none;position:absolute;left:-.9em}.prose h2 .anchor{top:20px}.prose h2:hover .anchor,.prose h3:hover .anchor{opacity:1}.prose p,.prose ul,.prose ol{margin:0 0 16px}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:5px 0}.prose li>ul,.prose li>ol{margin:6px 0 0}.prose strong{font-weight:650}.prose code{background:var(--tint);border-radius:6px;padding:1px 6px;font-size:.9em}.prose kbd,.prose code kbd{border:1px solid var(--fc-line);background:var(--card);min-width:1.6em;font:600 .85em/1.6 var(--fc-font-text);text-align:center;border-bottom-width:2px;border-radius:6px;padding:0 6px;display:inline-block}.prose hr{border:0;border-top:1px solid var(--fc-line);margin:32px 0}.prose img{border:1px solid var(--fc-line);background:var(--card);border-radius:12px;max-width:100%;height:auto;margin:8px 0 24px;display:block;box-shadow:0 10px 30px -18px #1a1a2e59}.prose blockquote{border-left:3px solid var(--fc-line);color:var(--fc-muted);margin:0 0 16px;padding:2px 0 2px 18px}.callout{border:1px solid var(--fc-line);background:var(--card);border-left-width:4px;border-radius:12px;margin:0 0 18px;padding:14px 18px}.callout>:last-child{margin-bottom:0}.callout-tip{border-left-color:var(--fc-mint)}.callout-note{border-left-color:var(--fc-sky)}.callout-warning{border-left-color:var(--fc-coral)}.callout-label{margin-right:4px}.table-wrap{border:1px solid var(--fc-line);background:var(--card);border-radius:12px;margin:0 0 18px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.45}.prose th,.prose td{border-bottom:1px solid var(--fc-line);text-align:left;vertical-align:top;padding:10px 14px}.prose th{background:var(--tint);font-weight:600}.prose tr:last-child td{border-bottom:0}.pager{grid-template-columns:1fr 1fr;gap:16px;margin-top:48px;display:grid}.pager a{border:1px solid var(--fc-line);background:var(--card);border-radius:14px;flex-direction:column;gap:2px;padding:14px 18px;font-weight:600;text-decoration:none;display:flex}.pager a:hover{border-color:var(--fc-violet-text)}.pager .muted{font-size:13px;font-weight:500}.pager-next{text-align:right;grid-column:2}.stuck{background:var(--tint);border-radius:16px;margin-top:40px;padding:20px 22px}.stuck h2{margin:0 0 6px;font-size:19px}.stuck p{margin:0;font-size:15px}.guide-list{margin:0;padding:0;list-style:none}.guide-list li{border-top:1px solid var(--fc-line);padding:16px 0}.guide-list a{font-size:18px;font-weight:600;text-decoration:none}.guide-list a:hover{text-decoration:underline}.guide-list p{margin:4px 0 0;font-size:15px}.search-page{max-width:860px;padding-block:40px 80px}.search-page h1{margin:0 0 18px;font-size:clamp(32px,4vw,46px)}.search-page .lede{margin-bottom:24px}.search-results{margin-top:24px}.search-results .result{border-top:1px solid var(--fc-line);border-radius:0;padding:14px 4px}.search-results .result-title{font-size:18px}.topic-list{flex-wrap:wrap;gap:8px;margin:40px 0 0;padding:0;list-style:none;display:flex}.topic-list a{border:1px solid var(--fc-line);background:var(--card);border-radius:999px;padding:8px 14px;font-size:15px;text-decoration:none;display:inline-block}.footer{background:var(--fc-ink)}.footer-row{flex-wrap:wrap;justify-content:space-between;gap:36px 48px;padding-block:40px 48px;display:flex}.footer-brand{flex:260px}.footer-brand p{max-width:300px;color:var(--fc-muted-on-ink);margin:14px 0 0;font-size:15px}.footer-links{flex-wrap:wrap;gap:32px 64px;font-size:15px;display:flex}.footer-links div{flex-direction:column;gap:10px;display:flex}.footer-links h2{font-family:var(--fc-font-text);margin:0;font-size:15px;font-weight:600}.footer-links a{color:var(--fc-muted-on-ink);text-decoration:none}.footer-links a:hover{color:var(--fc-paper);text-decoration:underline}@media (width<=1100px){.layout.has-toc{grid-template-columns:230px minmax(0,1fr)}.toc{display:none}}@media (width<=760px){:root{--header:64px}.top-row{gap:10px}.top-row .search{flex:auto}.lockup{font-size:21px}.on-paper .lockup-word,.on-paper .docs-word,.top-links>a{display:none}.nav-menu{display:block}.search-key{display:none}.layout,.layout.has-toc{display:block}.sidebar{display:none}.article{padding-top:20px}.anchor{display:none}.pager{grid-template-columns:1fr}.pager-next{grid-column:1}}
