.arch{--arch-line:var(--color\.text\.muted);flex-direction:column;gap:12px;min-width:0;margin:0;display:flex;container:arch/inline-size}.arch:not(.arch--flat) .arch__canvas{background:var(--color\.surface);border:1px solid var(--color\.border);border-radius:var(--radius\.md);padding:clamp(16px,3vw,32px)}.arch__grid{gap:0;display:grid}.arch__caption{font-family:var(--font-mono);color:var(--color\.text\.muted);margin:0;font-size:13px;line-height:20px}.arch__node{box-sizing:border-box;background:var(--color\.bg);min-width:0;color:var(--color\.text\.default);border:1px solid var(--color\.border\.strong);border-radius:var(--radius\.sm);flex-direction:column;justify-content:center;gap:2px;padding:10px 12px;display:flex;position:relative}.arch--flat .arch__node{background:var(--color\.bg)}.arch__node--core{border:2px solid var(--color\.text\.default)}.arch__node--end{background:var(--color\.text\.default);color:var(--color\.bg);border-color:var(--color\.text\.default)}.arch--flat .arch__node--end{background:var(--color\.text\.default)}.arch__node--muted{background:var(--color\.container);border-style:dashed}.arch--flat .arch__node--muted{background:var(--color\.container)}.arch__t{overflow-wrap:anywhere;hyphens:auto;font-size:15px;font-weight:700;line-height:20px}.arch__s{font-family:var(--font-mono);color:var(--color\.text\.muted);font-size:12px;font-weight:500;line-height:16px}.arch__node--end .arch__s{color:var(--areia)}.arch__arrow,.arch__fan{min-width:0;display:block;position:relative}.arch__arrow:before,.arch__fan>i{content:"";background:var(--arch-line);display:block;position:absolute}.arch__arrow:before{left:calc(var(--s,50%) - 1px);width:2px;top:0;bottom:0}.arch__arrow:after,.arch__fan--out .fan-leg:after,.arch__fan--in .fan-stub:after,.arch__link:before,.arch__link:after{content:"";border:6px solid #0000;width:0;height:0;position:absolute}.arch__arrow:after{left:calc(var(--s,50%) - 6px);border-top:8px solid var(--arch-line);border-bottom-width:0;bottom:-4px}.arch__fan .fan-bus{height:2px;top:calc(50% - 1px);left:calc(var(--a) - 1px);right:calc(100% - var(--b) - 1px);width:auto;bottom:auto}.arch__fan .fan-stub{left:calc(var(--s) - 1px);width:2px;right:auto}.arch__fan .fan-leg{left:calc(var(--p) - 1px);width:2px;right:auto}.arch__fan--out .fan-stub,.arch__fan--in .fan-leg{height:auto;top:0;bottom:50%}.arch__fan--out .fan-leg,.arch__fan--in .fan-stub{height:auto;top:50%;bottom:0}.arch__fan--out .fan-leg:after,.arch__fan--in .fan-stub:after{border-top:8px solid var(--arch-line);border-bottom-width:0;bottom:-4px;left:-5px}.arch__link{background:var(--arch-line);width:28px;height:2px;display:block;position:absolute;top:calc(50% - 1px);left:100%}.arch__node--core .arch__link{left:calc(100% + 1px)}.arch__link:before{border-right:8px solid var(--arch-line);border-left-width:0;top:-5px;left:-1px}.arch__link:after{border-left:8px solid var(--arch-line);border-right-width:0;top:-5px;right:-1px}.arch--notif .arch__grid{grid-template-rows:auto 32px auto 32px auto 40px auto 40px auto auto;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"ev ev ev ev ev ev""a1 a1 a1 a1 a1 a1""in in in in in in""a2 a2 a2 a2 a2 a2""orq orq orq pf pf pf""fo fo fo fo fo fo""p1 p1 p2 p2 p3 p3""fi fi fi fi fi fi""cli cli cli cli cli cli""nt nt nt nt nt nt"}.arch__note{font-family:var(--font-mono);color:var(--color\.text\.muted);border:1px dashed var(--color\.border\.strong);border-radius:var(--radius\.sm);text-align:center;place-self:start center;margin-top:12px;padding:4px 10px;font-size:12px;font-weight:500;line-height:16px}.arch--notif .arch__pf{margin-left:28px}.arch--notif .arch__node--prov{margin:0 4px;padding:10px 8px}.arch--notif .arch__node--prov .arch__t{font-size:14px}.arch--router .arch__grid{grid-template-rows:auto 32px auto 40px auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"api api""a1 a1""rt rt""fo fo""core mocks"}.arch--router .arch__node--prov{margin:0 6px}@container arch (width>=760px){.arch--notif .arch__grid{grid-template-rows:repeat(3,1fr) auto;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 44px minmax(0,1.1fr) 56px minmax(0,.9fr) 56px minmax(0,.8fr);grid-template-areas:". . . . .fo p1 fi.""ev a1 in a2 orq fo p2 fi cli"". . . .pf fo p3 fi."". . . . .nt nt nt."}.arch--notif .arch__note{white-space:nowrap;margin-top:0}.arch--notif .arch__node{margin:12px 0}.arch--notif .arch__pf{margin-left:0}.arch--notif .arch__node--prov{margin:12px 0;padding:10px 12px}.arch--notif .arch__node--prov .arch__t{font-size:15px}.arch--notif .arch__link{width:2px;height:24px;top:100%;left:calc(50% - 1px)}.arch--notif .arch__node--core .arch__link{top:calc(100% + 1px)}.arch--notif .arch__link:before{border:6px solid #0000;border-bottom:8px solid var(--arch-line);border-top-width:0;top:-1px;left:-5px}.arch--notif .arch__link:after{border:6px solid #0000;border-top:8px solid var(--arch-line);border-bottom-width:0;inset:auto auto -1px -5px}}@container arch (width>=560px){.arch--router .arch__grid{grid-template-rows:repeat(2,1fr);grid-template-columns:minmax(0,1fr) 56px minmax(0,1.1fr) 72px minmax(0,1.1fr);grid-template-areas:"api a1 rt fo core""api a1 rt fo mocks"}.arch--router .arch__mid{align-self:center}.arch--router .arch__node--prov{margin:8px 0}}@container arch (width>=760px){.arch--notif .arch__arrow:before{width:auto;height:2px;inset:calc(50% - 1px) 0 auto}.arch--notif .arch__arrow:after{border:6px solid #0000;border-left:8px solid var(--arch-line);border-right-width:0;inset:calc(50% - 6px) -4px auto auto}.arch--notif .arch__fan .fan-bus{width:2px;left:calc(50% - 1px);right:auto;top:calc(var(--a) - 1px);bottom:calc(100% - var(--b) - 1px);height:auto}.arch--notif .arch__fan .fan-stub,.arch--notif .arch__fan .fan-leg{width:auto;height:2px;bottom:auto}.arch--notif .arch__fan .fan-stub{top:calc(50% - 1px)}.arch--notif .arch__fan .fan-leg{top:calc(var(--p) - 1px)}.arch--notif .arch__fan--out .fan-stub,.arch--notif .arch__fan--in .fan-leg{left:0;right:50%}.arch--notif .arch__fan--out .fan-leg,.arch--notif .arch__fan--in .fan-stub{left:50%;right:0}.arch--notif .arch__fan--out .fan-leg:after,.arch--notif .arch__fan--in .fan-stub:after{border:6px solid #0000;border-left:8px solid var(--arch-line);border-right-width:0;inset:-5px -4px auto auto}}@container arch (width>=560px){.arch--router .arch__arrow:before{width:auto;height:2px;inset:calc(50% - 1px) 0 auto}.arch--router .arch__arrow:after{border:6px solid #0000;border-left:8px solid var(--arch-line);border-right-width:0;inset:calc(50% - 6px) -4px auto auto}.arch--router .arch__fan .fan-bus{width:2px;left:calc(50% - 1px);right:auto;top:calc(var(--a) - 1px);bottom:calc(100% - var(--b) - 1px);height:auto}.arch--router .arch__fan .fan-stub,.arch--router .arch__fan .fan-leg{width:auto;height:2px;bottom:auto}.arch--router .arch__fan .fan-stub{top:calc(50% - 1px)}.arch--router .arch__fan .fan-leg{top:calc(var(--p) - 1px)}.arch--router .arch__fan--out .fan-stub{left:0;right:50%}.arch--router .arch__fan--out .fan-leg{left:50%;right:0}.arch--router .arch__fan--out .fan-leg:after{border:6px solid #0000;border-left:8px solid var(--arch-line);border-right-width:0;inset:-5px -4px auto auto}}@container arch (width<=300px){.arch--notif .arch__node--prov{margin:0 2px;padding:8px 4px}.arch--notif .arch__node--prov .arch__t{font-size:13px}}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-opsz-normal.D9N6E8K1.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-opsz-normal.IcJDqblK.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-opsz-normal.Cre6nC2_.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-ext-wght-normal.EocZY2iu.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");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{--preto:#14121c;--breu:#0d0b12;--noite:#1e1b28;--noite\.clara:#2a2634;--carvao:#3b3445;--ardosia:#5c5466;--fumaca:#9a90a3;--nevoa:#b3a9b8;--areia:#e8d6c8;--areia\.clara:#f6e4d8;--creme:#fff1e8;--papel:#fffaf6;--branco:#fff;--vinho:#8e1b2a;--vermelho:#d1202f;--vermelho\.luz:#f25a4a;--vermelho\.claro:#ff7a6b;--pessego:#f0a98f;--font-sans:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--space\.1:4px;--space\.2:8px;--space\.3:12px;--space\.4:16px;--space\.6:24px;--space\.8:32px;--space\.12:48px;--space\.16:64px;--radius\.sm:4px;--radius\.md:8px;--radius\.lg:16px;--radius\.tile:22%;--radius\.full:9999px;--border\.default:1px;--border\.strong:2px;--color\.brand\.ground:var(--preto);--color\.brand\.ink:var(--creme);--color\.brand\.muted:var(--nevoa);--color\.brand\.cursor:var(--vermelho);--code\.text:var(--creme);--code\.keyword:var(--vermelho\.luz);--code\.string:var(--pessego);--code\.comment:var(--fumaca)}:root,[data-theme=light]{--color\.bg:var(--creme);--color\.surface:var(--papel);--color\.container:var(--areia\.clara);--color\.border:var(--areia);--color\.border\.strong:var(--ardosia);--color\.text\.default:var(--preto);--color\.text\.muted:var(--ardosia);--color\.primary:var(--vermelho);--color\.primary\.pressed:var(--vinho);--color\.on\.primary:var(--branco);--color\.focus:var(--vermelho);--code\.bg:var(--preto);--shadow\.hard:4px 4px 0 0 #14121c}[data-theme=dark]{--color\.bg:var(--preto);--color\.surface:var(--noite);--color\.container:var(--noite\.clara);--color\.border:var(--carvao);--color\.border\.strong:var(--nevoa);--color\.text\.default:var(--creme);--color\.text\.muted:var(--nevoa);--color\.primary:var(--vermelho\.luz);--color\.primary\.pressed:var(--vermelho\.claro);--color\.on\.primary:var(--preto);--color\.focus:var(--vermelho\.luz);--code\.bg:var(--breu);--shadow\.hard:4px 4px 0 0 #3b3445}.rl-icon{vertical-align:middle;flex-shrink:0;display:inline-block}.rl-logo{align-items:center;line-height:0;display:inline-flex}.rl-logo-symbol{display:block}.rl-logo .rl-logo-t{fill:var(--rl-t)}.rl-logo .rl-logo-i{fill:var(--rl-i)}.rl-logo .rl-logo-c{fill:var(--rl-c)}.rl-logo--auto,.rl-logo--dark{--rl-t:var(--preto);--rl-i:var(--creme);--rl-c:var(--vermelho);--rl-name:var(--preto);--rl-desc:var(--ardosia)}[data-theme=dark] .rl-logo--auto,.rl-logo--light{--rl-t:var(--creme);--rl-i:var(--preto);--rl-c:var(--vermelho);--rl-name:var(--creme);--rl-desc:var(--nevoa)}.rl-logo--red{--rl-t:var(--vermelho);--rl-i:var(--creme);--rl-c:var(--preto);--rl-name:var(--color\.text\.default);--rl-desc:var(--color\.text\.muted)}.rl-logo-lockup{align-items:center;display:inline-flex}.rl-logo-words{flex-direction:column;gap:4px;display:flex}.rl-logo-name{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--rl-name);white-space:nowrap;font-weight:800;line-height:1}.rl-logo-desc{font-family:var(--font-mono);color:var(--rl-desc);white-space:nowrap;font-weight:500;line-height:1.3}@keyframes rl-pisca{0%,49%{opacity:1}50%,to{opacity:0}}.rl-logo-blink .rl-logo-c{animation:1.06s step-end infinite rl-pisca}.rl-cursor{color:var(--color\.primary);font-weight:inherit}.rl-cursor--blink{animation:1.06s step-end infinite rl-pisca}@media (prefers-reduced-motion:reduce){.rl-cursor--blink,.rl-logo-blink .rl-logo-c{animation:none}}.rl-btn{justify-content:center;align-items:center;gap:var(--space\.2);box-sizing:border-box;min-height:44px;padding:0 var(--space\.4);font-family:var(--font-sans);border-radius:var(--radius\.md);border:var(--border\.strong) solid transparent;cursor:pointer;white-space:nowrap;background:0 0;font-size:15px;font-weight:700;line-height:20px;text-decoration:none;display:inline-flex}.rl-btn--sm{min-height:36px;padding:0 var(--space\.3);font-size:14px}.rl-btn--lg{min-height:52px;padding:0 var(--space\.6);font-size:17px}.rl-btn--full{width:100%}.rl-btn--primary{background:var(--color\.primary);color:var(--color\.on\.primary)}.rl-btn--primary:hover,.rl-btn--primary:active{background:var(--color\.primary\.pressed)}.rl-btn--secondary{border-color:var(--color\.border\.strong);color:var(--color\.text\.default)}.rl-btn--secondary:hover,.rl-btn--secondary:active{background:var(--color\.container)}.rl-btn--ghost{color:var(--color\.primary);padding-left:var(--space\.2);padding-right:var(--space\.2)}.rl-btn--ghost:hover{text-underline-offset:4px;text-decoration:underline}.rl-btn:focus-visible,.rl-card:focus-visible,.rl-link-row:focus-visible,.rl-sh-action:focus-visible,.rl-codeblock-copy:focus-visible{outline:var(--border\.strong) solid var(--color\.focus);outline-offset:2px}.rl-btn:disabled{opacity:.38;cursor:not-allowed}.rl-tag{padding:4px var(--space\.2);border-radius:var(--radius\.sm);font-family:var(--font-mono);background:var(--color\.container);color:var(--color\.text\.default);border:var(--border\.default) solid transparent;white-space:nowrap;align-items:center;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.rl-tag--outline{border-color:var(--color\.border\.strong);background:0 0}.rl-tag--primary{background:var(--color\.primary);color:var(--color\.on\.primary)}.rl-tags{gap:var(--space\.2);flex-wrap:wrap;display:flex}.rl-sh{justify-content:space-between;align-items:flex-end;gap:var(--space\.4);flex-wrap:wrap;display:flex}.rl-sh-text{gap:var(--space\.2);flex-direction:column;display:flex}.rl-sh-kicker{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color\.primary);font-size:13px;font-weight:700;line-height:16px}.rl-sh--pro .rl-sh-kicker{font-family:var(--font-sans);letter-spacing:.12em;font-weight:600}.rl-sh-title{font-family:var(--font-sans);letter-spacing:-.015em;color:var(--color\.text\.default);margin:0;font-size:30px;font-weight:700;line-height:36px}.rl-sh--dev .rl-sh-title{font-weight:800}.rl-sh-action{align-items:center;gap:var(--space\.1);min-height:44px;font-family:var(--font-sans);color:var(--color\.primary);font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.rl-sh-action:hover{text-underline-offset:4px;text-decoration:underline}.rl-card{gap:var(--space\.3);box-sizing:border-box;padding:var(--space\.6);background:var(--color\.surface);border:var(--border\.default) solid var(--color\.border);border-radius:var(--radius\.lg);color:var(--color\.text\.default);flex-direction:column;text-decoration:none;transition:transform 80ms steps(2,end),box-shadow 80ms steps(2,end);display:flex}.rl-card:hover,.rl-card:focus-visible{box-shadow:var(--shadow\.hard);transform:translate(-4px,-4px)}@media (prefers-reduced-motion:reduce){.rl-card{transition:none}.rl-card:hover{transform:none}}.rl-card-text{font-family:var(--font-sans);color:var(--color\.text\.default);margin:0;font-size:15px;line-height:24px}.rl-card-arrow{color:var(--color\.text\.muted)}.rl-card:hover .rl-card-arrow{color:var(--color\.primary)}.rl-meta{align-items:center;gap:var(--space\.3);font-family:var(--font-mono);color:var(--color\.text\.muted);flex-wrap:wrap;font-size:13px;font-weight:500;line-height:20px;display:flex}.rl-meta-icon{align-items:center;gap:var(--space\.1);display:inline-flex}.rl-project-head{justify-content:space-between;align-items:center;gap:var(--space\.3);display:flex}.rl-project-name{font-family:var(--font-mono);font-size:20px;font-weight:700;line-height:28px}.rl-post-title{font-family:var(--font-sans);letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:28px}.rl-post-cta{align-items:center;gap:var(--space\.1);font-family:var(--font-sans);color:var(--color\.primary);font-size:15px;font-weight:700;display:inline-flex}.rl-codeblock{background:var(--code\.bg);border-radius:var(--radius\.md);color:var(--code\.text);margin:0;overflow:hidden}.rl-codeblock-bar{justify-content:space-between;align-items:center;gap:var(--space\.3);min-height:44px;padding:0 var(--space\.2) 0 var(--space\.4);font-family:var(--font-mono);color:var(--code\.comment);box-shadow:inset 0 -1px 0 var(--carvao);font-size:13px;line-height:20px;display:flex}.rl-codeblock-copy{width:44px;height:44px;color:var(--code\.comment);cursor:pointer;border-radius:var(--radius\.md);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.rl-codeblock-copy:hover{color:var(--code\.text)}.rl-codeblock-pre{padding:var(--space\.4);font-family:var(--font-mono);margin:0;font-size:14px;font-weight:500;line-height:22px;overflow-x:auto}.rl-code-keyword{color:var(--code\.keyword)}.rl-code-string{color:var(--code\.string)}.rl-code-comment{color:var(--code\.comment)}.rl-callout{gap:var(--space\.2);padding:var(--space\.4);border-radius:var(--radius\.md);background:var(--color\.container);border:var(--border\.default) solid var(--color\.border);color:var(--color\.text\.default);font-family:var(--font-sans);flex-direction:column;font-size:15px;line-height:24px;display:flex}.rl-callout--primary{background:var(--color\.surface);border:var(--border\.strong) solid var(--color\.primary)}.rl-callout-label{align-items:center;gap:var(--space\.2);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color\.text\.muted);font-size:13px;font-weight:700;line-height:16px;display:inline-flex}.rl-callout--primary .rl-callout-label{color:var(--color\.primary)}.rl-links{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rl-link-row{align-items:center;gap:var(--space\.3);min-height:56px;box-shadow:inset 0 -1px 0 var(--color\.border);color:var(--color\.text\.default);font-family:var(--font-sans);text-decoration:none;display:flex}.rl-link-label{font-size:17px;font-weight:700;line-height:24px}.rl-link-handle{font-family:var(--font-mono);color:var(--color\.text\.muted);flex-grow:1;font-size:13px;font-weight:500;line-height:20px}.rl-link-icon{color:var(--color\.text\.muted);margin-left:auto}.rl-link-row:hover .rl-link-label,.rl-link-row:hover .rl-link-icon{color:var(--color\.primary)}@font-face{font-family:Bricolage Fallback;src:local(Arial),local(ArialMT),local(Helvetica Neue),local(Helvetica),local(Liberation Sans);size-adjust:101.04%;ascent-override:92.04%;descent-override:26.72%;line-gap-override:0%}@font-face{font-family:JetBrains Mono Fallback;src:local(Courier New),local(CourierNewPSMT),local(Liberation Mono);size-adjust:99.98%;ascent-override:102.02%;descent-override:30.01%;line-gap-override:0%}:root{--font-sans:"Bricolage Grotesque Variable", "Bricolage Grotesque", "Bricolage Fallback", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", "JetBrains Mono Fallback", ui-monospace, Menlo, Consolas, monospace;color-scheme:light}[data-theme=dark]{color-scheme:dark}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--color\.bg);min-height:100vh;color:var(--color\.text\.default);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}:where(a){color:var(--color\.primary)}:where(a:hover){color:var(--color\.primary\.pressed)}.rl-btn{transition:background-color 80ms steps(2,end),border-color 80ms steps(2,end)}.rl-btn--primary:hover,.rl-btn--primary:active{color:var(--color\.on\.primary)}.rl-btn--secondary:hover,.rl-btn--secondary:active{color:var(--color\.text\.default);border-color:var(--color\.text\.default)}@media (prefers-reduced-motion:reduce){.rl-btn{transition:none}}:focus-visible{outline:var(--border\.strong) solid var(--color\.focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}section[id],footer[id]{scroll-margin-top:85px}@media (width<=959.98px){section[id],footer[id]{scroll-margin-top:73px}}svg[hidden]{display:none}.skip-link{z-index:100;border-radius:var(--radius\.md);background:var(--color\.text\.default);min-height:44px;color:var(--color\.bg);align-items:center;padding:0 16px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus,.skip-link:focus-visible{color:var(--color\.bg);transform:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main:focus{outline:none}.rl-type-line{vertical-align:top;display:inline-block}.rl-type-caret{color:var(--code\.text)}@keyframes rl-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes rl-caret-wait{0%,to{opacity:0}}@media (prefers-reduced-motion:no-preference){.rl-type-line{animation:rl-type var(--dur) steps(var(--chars), end) var(--delay) backwards}.rl-type-caret{animation:rl-pisca 1.06s steps(1, end) var(--delay) infinite, rl-caret-wait var(--delay) steps(1, end)}}.nav-link[aria-current],.mobile-menu__link[aria-current]{text-decoration-line:underline;text-decoration-color:var(--color\.primary);text-underline-offset:8px;text-decoration-thickness:2px}.mobile-menu__link[aria-current]{text-underline-offset:6px}.site-nav{position:relative}.nav-bar{background:var(--color\.primary);opacity:0;pointer-events:none;width:0;height:2px;position:absolute;top:0;left:0}.nav-bar.is-on{opacity:1}.site-nav.has-bar .nav-link[aria-current]{text-decoration-line:none}@media (prefers-reduced-motion:no-preference){.nav-bar.is-ready{transition:left .16s steps(4,end),width .16s steps(4,end),top .16s steps(4,end)}@view-transition{navigation:auto}}.site-header{view-transition-name:site-header}.vt-case-notificacoes{view-transition-name:case-notificacoes}.vt-case-router{view-transition-name:case-router}::view-transition-group(*){animation-duration:.2s;animation-timing-function:steps(5,end)}::view-transition-old(*),::view-transition-new(*){animation-duration:.16s;animation-timing-function:steps(4,end)}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}:root,[data-theme=light]{--rl-press-shadow:#14121c}[data-theme=dark]{--rl-press-shadow:var(--creme)}@media (prefers-reduced-motion:no-preference){.rl-btn--primary,.rl-btn--secondary{transition:background-color 80ms steps(2,end),border-color 80ms steps(2,end),transform 80ms steps(2,end),box-shadow 80ms steps(2,end)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.rl-btn--primary:not(:disabled):hover,.rl-btn--secondary:not(:disabled):hover{box-shadow:3px 3px 0 0 var(--rl-press-shadow);transform:translate(-3px,-3px)}}.rl-btn--primary:not(:disabled):active,.rl-btn--secondary:not(:disabled):active{box-shadow:none;transform:none}.hero__profiles a,.mobile-menu__profiles a,.rl-sh-action,.crumbs a,.rl-link-label,.case-sec__body a{background-image:linear-gradient(var(--color\.primary), var(--color\.primary));background-position:0 calc(50% + .75em);background-repeat:no-repeat;background-size:0% 2px}.rl-link-label,.case-sec__body a{background-position:0 100%}.hero__profiles a:is(:hover,:focus-visible),.mobile-menu__profiles a:is(:hover,:focus-visible),.rl-sh-action:is(:hover,:focus-visible),.crumbs a:is(:hover,:focus-visible),.rl-link-row:is(:hover,:focus-visible) .rl-link-label,.case-sec__body a:is(:hover,:focus-visible){color:var(--color\.primary);background-size:100% 2px;text-decoration-color:#0000}@media (prefers-reduced-motion:no-preference){.hero__profiles a,.mobile-menu__profiles a,.rl-sh-action,.crumbs a,.rl-link-label,.case-sec__body a{transition:background-size .16s steps(4,end),color 80ms step-end,text-decoration-color 80ms step-end}}.rl-card:is(:hover,:focus-visible) .rl-card-arrow,.rl-card:is(:hover,:focus-visible) .rl-post-cta .rl-icon{color:var(--color\.primary)}@media (prefers-reduced-motion:no-preference){.rl-card .rl-card-arrow,.rl-card .rl-post-cta .rl-icon{transition:transform 80ms steps(2,end),color 80ms step-end}.rl-card:is(:hover,:focus-visible) .rl-card-arrow,.rl-card:is(:hover,:focus-visible) .rl-post-cta .rl-icon{transform:translate(3px,-3px)}.case-next .rl-card:is(:hover,:focus-visible) .rl-post-cta .rl-icon{transform:translate(3px)}}@keyframes rl-fill{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes rl-mark{0%{background:var(--color\.bg);box-shadow:inset 0 0 0 2px var(--color\.border\.strong)}}@keyframes rl-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.chapter:not(:last-child):after{animation-name:rl-fill;animation-timing-function:steps(12,end);animation-fill-mode:both;animation-timeline:view();animation-range:cover 55vh cover calc(100% - 45vh)}.chapter__marker{animation-name:rl-mark;animation-timing-function:step-end;animation-fill-mode:both;animation-timeline:view();animation-range:cover cover 55vh}.chapter>:not(.chapter__marker){animation-name:rl-rise;animation-timing-function:steps(4,end);animation-fill-mode:both;animation-timeline:view();animation-range:cover 4vh cover 24vh}}}.wrap{box-sizing:border-box;max-width:1200px;margin:0 auto;padding-left:clamp(20px,5vw,64px);padding-right:clamp(20px,5vw,64px)}.section{padding-top:96px;padding-bottom:96px}.section--xl{padding-top:112px;padding-bottom:112px}.bt{border-top:1px solid var(--color\.border)}.stack-40{flex-direction:column;gap:40px;display:flex}.dark-band{background:var(--color\.bg);color:var(--color\.text\.default)}.eyebrow,.facts dt,.stack-strip dt,.case-facts dt{letter-spacing:.12em;text-transform:uppercase;color:var(--color\.primary);margin:0;font-size:13px;font-weight:600;line-height:16px}.mono-meta{font-family:var(--font-mono);color:var(--color\.text\.muted);margin:0;font-size:13px;font-weight:500;line-height:20px}.t15{margin:0;font-size:15px;line-height:24px}.t17{margin:0;font-size:17px;line-height:28px}.muted{color:var(--color\.text\.muted)}.grid{gap:24px;display:grid}.grid--240{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.grid--260{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.grid--320{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}.site-header{z-index:50;background:var(--color\.bg);border-bottom:1px solid var(--color\.border);position:sticky;top:0}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;padding-bottom:16px;display:flex}.brand-link{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.site-nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.nav-link,.nav-link:hover{min-height:44px;color:var(--color\.text\.default);align-items:center;padding:0 12px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}@media (width>=960px) and (width<=1079.98px){.nav-link,.nav-link:hover{padding:0 8px;font-size:14px}.site-nav{gap:2px}}.nav-cv{margin-left:8px;position:relative}.nav-cv:after{content:"";position:absolute;inset:-5px 0}.menu-toggle{gap:8px;padding:0 12px 0 16px;display:none}.menu-toggle[aria-expanded=true]{background:var(--color\.container)}.menu-toggle__icon{flex:none}.menu-toggle__close,.menu-toggle[aria-expanded=true] .menu-toggle__open{display:none}.menu-toggle[aria-expanded=true] .menu-toggle__close{display:inline}.mobile-menu{overscroll-behavior:contain;background:var(--color\.bg);position:fixed;inset:65px 0 0;overflow-y:auto}.mobile-menu[hidden]{display:none}.mobile-menu__inner{flex-direction:column;gap:24px;padding-top:8px;padding-bottom:32px;display:flex}.mobile-menu__list{margin:0;padding:0;list-style:none}.mobile-menu__list li{border-bottom:1px solid var(--color\.border)}.mobile-menu__link,.mobile-menu__link:hover{letter-spacing:-.01em;min-height:56px;color:var(--color\.text\.default);align-items:center;font-size:22px;font-weight:700;line-height:28px;text-decoration:none;display:flex}.mobile-menu__link:hover,.mobile-menu__link:active{color:var(--color\.primary)}.mobile-menu__foot{flex-direction:column;gap:16px;display:flex}.mobile-menu__profiles{flex-wrap:wrap;gap:0 24px;margin:0;padding:0;list-style:none;display:flex}.mobile-menu__profiles a{min-height:44px;font-family:var(--font-mono);color:var(--color\.text\.muted);align-items:center;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.mobile-menu__profiles a:hover{color:var(--color\.primary)}html.menu-open{overflow:hidden}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:no-preference){.mobile-menu:not([hidden]) .mobile-menu__inner{animation:.14s cubic-bezier(.2,0,0,1) menu-in}}@media (width<=959.98px){.site-header__inner{flex-wrap:nowrap;padding-top:10px;padding-bottom:10px}.site-nav{display:none}.menu-toggle{display:inline-flex}}@media (width<=359.98px){.footer__bottom .rl-logo-desc{white-space:normal}.site-header__inner{gap:8px}.brand-link .rl-logo-name{font-size:18px!important}}@media (width>=960px){.mobile-menu,.mobile-menu[hidden]{display:none}}.hero{flex-wrap:wrap;align-items:center;gap:64px;padding-top:96px;padding-bottom:96px;display:flex}.hero__text{flex-direction:column;flex:520px;gap:24px;min-width:0;display:flex}.hero__title{letter-spacing:-.03em;margin:0;font-size:clamp(38px,22px + 4vw,68px);font-weight:800;line-height:1.02}.hero__lead{max-width:620px;margin:0;font-size:20px;line-height:30px}.hero__actions{flex-direction:column;gap:8px;padding-top:8px;display:flex}.hero__ctas{flex-wrap:wrap;gap:12px;display:flex}.hero__profiles{flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.hero__profiles li{align-items:center;display:flex}.hero__profiles li+li:before{content:"·";content:"·" / "";font-family:var(--font-mono);color:var(--color\.text\.muted);padding:0 12px;font-size:14px}.hero__profiles a{min-height:44px;font-family:var(--font-mono);color:var(--color\.text\.muted);align-items:center;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.hero__profiles a:hover{color:var(--color\.primary)}.hero__code{flex:420px;min-width:0}@media (width<=639.98px){.hero{gap:48px;padding-top:48px;padding-bottom:64px}.hero__text{gap:20px}.hero__lead{font-size:18px;line-height:28px}.hero__ctas{flex-direction:column}.hero__ctas .rl-btn{width:100%}.hero__code .rl-codeblock-pre{padding:12px;font-size:12px;line-height:19px}}@media (width<=479.98px){.hero__code{display:none}}.case-card h3,.chapter__title{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700;line-height:28px}.head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.head-note{max-width:440px;color:var(--color\.text\.muted);margin:0;font-size:15px;line-height:24px}.feature{background:var(--color\.surface);border:1px solid var(--color\.border);border-radius:16px;flex-wrap:wrap;gap:48px;padding:clamp(24px,4vw,48px);display:flex}.feature--highlight{border:2px solid var(--color\.text\.default)}.feature__main{flex-direction:column;flex:340px;gap:16px;min-width:0;display:flex}.feature__main--narrow{flex-basis:360px}.feature__title{letter-spacing:-.015em;margin:0;font-size:30px;font-weight:700;line-height:36px}.facts{flex-direction:column;flex:420px;gap:20px;min-width:0;margin:0;display:flex}.facts>div{border-bottom:1px solid var(--color\.border);flex-direction:column;gap:4px;padding-bottom:20px;display:flex}.facts>div:last-child{border-bottom:0;padding-bottom:0}.facts dd{margin:0;font-size:15px;line-height:24px}.facts--tight{gap:16px}.facts--tight>div{padding-bottom:16px}.case-card{background:var(--color\.surface);border:1px solid var(--color\.border);border-radius:16px;flex-direction:column;gap:16px;padding:32px;display:flex}.case-card--wide{grid-column:1/-1}.case-card--wide>p{max-width:720px}.case-card .rl-sh-action{align-self:flex-start}.split{flex-wrap:wrap;gap:64px;display:flex}.split__intro{flex-direction:column;flex:360px;gap:20px;min-width:0;display:flex}.principles{flex-direction:column;flex:480px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.principles li{border-top:1px solid var(--color\.border);gap:20px;padding:24px 0;display:flex}.principles li:last-child{border-bottom:1px solid var(--color\.border)}.principles li>div{flex-direction:column;gap:4px;display:flex}.principles h3{margin:0;font-size:20px;font-weight:700;line-height:28px}.principles__num{font-family:var(--font-mono);color:var(--color\.primary);flex:0 0 32px;font-size:13px;font-weight:700;line-height:28px}.ia{flex-direction:column;gap:56px;display:flex}.ia__top{flex-wrap:wrap;gap:64px;display:flex}.ia__intro{flex-direction:column;flex:420px;gap:20px;min-width:0;display:flex}.rspec{background:var(--color\.surface);border:1px solid var(--color\.border);border-radius:16px;flex-direction:column;flex:420px;gap:20px;min-width:0;padding:32px;display:flex}.rspec__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rspec__name{font-family:var(--font-mono);margin:0;font-size:20px;font-weight:700;line-height:28px}.rspec__steps{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ia__pillars{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:0;display:grid}.ia__pillars>div{border-top:1px solid var(--color\.border);flex-direction:column;gap:8px;padding:24px 24px 24px 0;display:flex}.ia__pillars h3{margin:0;font-size:18px;font-weight:700;line-height:26px}.pitaco__name-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pitaco__name{font-family:var(--font-mono);margin:0;font-size:28px;font-weight:700;line-height:32px}.pitaco__title{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700;line-height:30px}.pitaco__ctas{flex-wrap:wrap;gap:12px;padding-top:4px;display:flex}.bridge{font-family:var(--font-mono);color:var(--color\.text\.muted);margin:0;font-size:14px;font-weight:500;line-height:20px}.bridge:before{content:"→ ";content:"→ " / ""}.split--story{align-items:flex-start}@media (width>=960px){.split--story .split__intro{position:sticky;top:120px}}.story{--story-gap:40px;gap:var(--story-gap);flex-direction:column;flex:520px;min-width:0;margin:0;padding:0;list-style:none;display:flex}@media (width>=1024px){.story{--story-gap:72px}}.chapter{flex-direction:column;gap:8px;padding-left:40px;display:flex;position:relative}.chapter:not(:last-child):before,.chapter:not(:last-child):after{content:"";top:16px;left:5px;bottom:calc(-4px - var(--story-gap));background:var(--color\.border);width:2px;position:absolute}.chapter:not(:last-child):after{background:var(--color\.primary);transform-origin:top}.chapter__marker{z-index:1;background:var(--color\.text\.default);width:12px;height:12px;position:absolute;top:4px;left:0}.chapter--now .chapter__marker{background:var(--color\.primary)}.chapter--next .chapter__marker{background:var(--color\.bg);box-shadow:inset 0 0 0 2px var(--color\.text\.default)}.chapter .rl-sh-action{align-self:flex-start}.stack{border-top:1px solid var(--color\.border);flex-direction:column;gap:8px;padding-top:24px;display:flex}.stack-strip{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:0 24px;margin:0;display:grid}.stack-strip>div{flex-direction:column;gap:4px;padding:12px 0;display:flex}.stack-strip dd{font-family:var(--font-mono);margin:0;font-size:14px;font-weight:500;line-height:22px}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr))}.feature>.arch{flex:100%}.feature__cta{flex-wrap:wrap;gap:12px;padding-top:4px;display:flex}.crumbs{padding-top:24px}.crumbs ol{font-family:var(--font-mono);color:var(--color\.text\.muted);flex-wrap:wrap;align-items:center;margin:0;padding:0;font-size:13px;font-weight:500;line-height:20px;list-style:none;display:flex}.crumbs li{align-items:center;min-height:44px;display:flex}.crumbs li+li:before{content:"/";content:"/" / "";padding:0 10px}.crumbs a{min-height:44px;color:var(--color\.text\.muted);text-underline-offset:4px;align-items:center;text-decoration:underline;display:inline-flex}.crumbs a:hover{color:var(--color\.primary)}.crumbs [aria-current]{color:var(--color\.text\.default)}.case-hero{flex-direction:column;gap:20px;padding-top:8px;padding-bottom:56px;display:flex}.case-hero__title{letter-spacing:-.03em;max-width:920px;margin:0;font-size:clamp(36px,20px + 3.6vw,60px);font-weight:800;line-height:1.04}.case-hero__lead{max-width:680px;margin:0;font-size:20px;line-height:30px}.case-facts{border-top:1px solid var(--color\.border);grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:0 24px;margin:12px 0 0;display:grid}.case-facts>div{flex-direction:column;gap:4px;padding:16px 0;display:flex}.case-facts dd{margin:0;font-size:15px;line-height:24px}.case-body{padding-bottom:48px}.case-sec{border-top:1px solid var(--color\.border);grid-template-columns:minmax(0,1fr);gap:16px 48px;padding:40px 0;display:grid}@media (width>=960px){.case-sec{grid-template-columns:240px minmax(0,1fr)}.case-sec>.arch{grid-column:1/-1}}.case-sec h2{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700;line-height:28px}.case-sec__body{flex-direction:column;gap:16px;min-width:0;max-width:720px;display:flex}.case-sec__body p{margin:0;font-size:17px;line-height:28px}.case-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.case-list li{padding-left:24px;font-size:17px;line-height:28px;position:relative}.case-list li:before{content:"";background:var(--color\.text\.default);width:6px;height:6px;position:absolute;top:11px;left:2px}.decisions{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.decisions li{border-top:1px solid var(--color\.border);gap:20px;padding:20px 0;display:flex}.decisions li:first-child{border-top:0;padding-top:0}.decisions li>div{flex-direction:column;gap:4px;display:flex}.decisions h3{margin:0;font-size:18px;font-weight:700;line-height:28px}.decisions__num{font-family:var(--font-mono);color:var(--color\.primary);flex:0 0 24px;font-size:13px;font-weight:700;line-height:28px}.case-next{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:24px;padding-bottom:96px;display:grid}.case-next__more{flex-direction:column;justify-content:center;gap:8px;padding:24px 0;display:flex}.case-next__more .rl-sh-action{align-self:flex-start}.footer{flex-direction:column;gap:80px;padding-top:112px;padding-bottom:48px;display:flex}.footer__top{flex-wrap:wrap;align-items:flex-start;gap:64px;display:flex}.footer__cta{flex-direction:column;flex:420px;gap:20px;min-width:0;display:flex}.footer__title{letter-spacing:-.03em;margin:0;font-size:clamp(40px,5vw,56px);font-weight:800;line-height:1.05}.footer__lead{max-width:480px;color:var(--color\.text\.muted);margin:0;font-size:20px;line-height:30px}.footer__btn{padding-top:8px}.footer__links{flex:420px;min-width:0}.footer__bottom{border-top:1px solid var(--color\.border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-top:32px;display:flex}
