.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.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-wght-normal.CcLUaPy7.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-wght-normal.DLoelf7F.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff");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:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-italic.BELOEI8R.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-italic.CfSXsIbO.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-italic.D9J6q4_O.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-italic.Bf1n82Tb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-italic.BEZwmy7D.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-400-italic.CTYLy0lX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-italic.BbRnwouv.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-italic.78jqtfZH.woff)format("woff");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:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-italic.Du9zzoL2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-italic.V_9i1P_m.woff)format("woff");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:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-italic.CsGl1sm0.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-500-normal.CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-500-normal.BEb3_waV.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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{--desk:#0c1211;--bezel:#b4bbb7;--screen:#e8f0ea;--ink:#15201c;--muted:#55645e;--line:#ccdad0;--accent:#0b6a64;--accent-ink:#fff;--accent-soft:#d3e7e0;--ochre:#94600f;--term-bg:#0e191a;--term-fg:#cbddd6;--term-hi:#f1e9d2;--term-dim:#6f8a85;--term-prompt:#e5b04a;--term-link:#79c8bc;--term-err:#ee8b78;--term-rule:#1e2d2d;--term-sel:#24443f;--shadow:#000000b3;--display:"Bricolage Grotesque Variable", "Segoe UI", system-ui, sans-serif;--body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--desk);color:var(--ink);font-family:var(--body);font-size:15px;overflow:hidden}button{font:inherit;color:inherit}img{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.desk{max-width:1680px;height:100%;padding-block:clamp(12px,2.6vh,28px) 0;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));grid-template-columns:minmax(0,.75fr) minmax(0,1.7fr);gap:clamp(16px,2.4vw,40px);margin:0 auto;display:grid}.monitor{flex-direction:column;min-width:0;min-height:0;display:flex}.bezel{background:var(--bezel);min-height:0;box-shadow:0 22px 44px -26px var(--shadow);border-radius:14px;flex:1;padding:10px 10px 20px}.screen{border-radius:5px;flex-direction:column;height:100%;display:flex;overflow:hidden}.stand{flex-direction:column;align-items:center;display:flex}.stand i{background:var(--bezel);width:60px;height:clamp(12px,3vh,30px)}.stand b{background:var(--bezel);border-radius:8px 8px 0 0;width:min(190px,46%);height:8px}.doc{background:var(--screen);color:var(--ink)}.doc-top{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 20px;padding:12px clamp(16px,3vw,36px);display:flex}.brand{color:inherit;font-family:var(--display);letter-spacing:-.01em;margin-right:auto;font-size:1.05rem;font-weight:700;text-decoration:none}.nav{flex-wrap:wrap;gap:2px;display:flex}.nav a{color:var(--muted);border-radius:6px;flex-direction:column;align-items:flex-start;padding:5px 10px;line-height:1.2;text-decoration:none;display:flex}.nav a small{font-family:var(--mono);opacity:.8;font-size:.66rem}.nav a:hover{color:var(--ink)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--ink)}.nav a[aria-current=page] small{color:var(--accent);opacity:1}.lang{border:1px solid var(--line);border-radius:6px;display:flex;overflow:hidden}.lang a{font:500 .72rem var(--mono);color:var(--muted);padding:5px 9px;text-decoration:none}.lang a[aria-current=true]{background:var(--ink);color:var(--screen)}.doc-body{outline:none;flex:1;padding:clamp(22px,4vw,48px) clamp(16px,4vw,56px) 48px;overflow:auto}.doc-body>*{max-width:1100px}.doc-status{border-top:1px solid var(--line);font:.7rem var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:7px clamp(16px,3vw,36px);display:flex}.path{font:500 .74rem var(--mono);color:var(--accent);margin:0 0 1.1em}.path a{color:var(--accent)}.name{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;margin:0 0 .3em;font-size:clamp(2.3rem,4.6vw,3.7rem);font-weight:700;line-height:.98}.role{color:var(--accent);margin:0 0 1.1em;font-size:1.12rem;font-weight:500}.lede{margin:0 0 1.5em;font-size:1.05rem;line-height:1.68}h1.title{font-family:var(--display);letter-spacing:-.03em;text-wrap:balance;margin:0 0 .45em;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;line-height:1.05}.sec{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:2.6em 0 1em}p{margin:0 0 1em;line-height:1.68}a{color:var(--accent);text-underline-offset:3px}.avail{align-items:baseline;gap:10px;margin:0 0 1.2em;display:flex}.dot{background:var(--ochre);border-radius:50%;flex:none;width:9px;height:9px;transform:translateY(-1px)}.btn{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:6px;align-items:baseline;gap:10px;padding:9px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn small{font:.72rem var(--mono);opacity:.8}.cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.card{color:inherit;background:var(--screen);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:14px 16px;text-decoration:none;display:flex}.card:hover{border-color:var(--accent)}.kind{font:500 .66rem var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--ochre)}.card .t{font-family:var(--display);letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.card .s{color:var(--muted);font-size:.9rem;line-height:1.5}.card .file{font:.7rem var(--mono);color:var(--accent);margin-top:auto;padding-top:6px}.how{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px 32px;margin:0;display:grid}.how div{gap:2px;display:grid}.how dt{font-weight:600}.how dd{color:var(--muted);margin:0;line-height:1.6}.plist{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.plist a{color:inherit;border-bottom:1px solid var(--line);grid-template-columns:12rem minmax(0,1fr);gap:4px 20px;padding:16px 4px;text-decoration:none;display:grid}.plist a:hover .t{color:var(--accent)}.plist .t{font-family:var(--display);letter-spacing:-.01em;font-size:1.2rem;font-weight:700}.plist .meta{align-content:start;gap:4px;display:grid}.plist .s{color:var(--muted);line-height:1.55}.plist .file{font:.7rem var(--mono);color:var(--accent)}.facts{border-block:1px solid var(--line);flex-wrap:wrap;gap:14px 32px;margin:1.6em 0;padding:14px 0;display:flex}.facts b{font-family:var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:700;line-height:1.1;display:block}.facts span{color:var(--muted);font-size:.82rem}.stack{flex-wrap:wrap;gap:6px;margin:1.4em 0;padding:0;list-style:none;display:flex}.stack li{font:.72rem var(--mono);border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:3px 8px}.links{flex-wrap:wrap;gap:8px 22px;font-weight:500;display:flex}.tl{gap:20px;margin:0;padding:0;list-style:none;display:grid}.tl>li{grid-template-columns:7.5rem minmax(0,1fr);gap:4px 18px;display:grid}.when{font:.78rem var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;padding-top:3px}.tl>li>div>strong{font-weight:600}.tl .r{color:var(--muted)}.tl>li>div>p{margin:.35em 0 0;font-size:.95rem}.papers{gap:12px;margin:0;padding:0;list-style:none;display:grid}.papers li{border-left:2px solid var(--line);padding-left:14px;line-height:1.55}.papers em{color:var(--accent)}.papers .y{font:.76rem var(--mono);color:var(--muted)}.contact{border-top:1px solid var(--line);margin:0 0 1.6em;display:grid}.contact div{border-bottom:1px solid var(--line);grid-template-columns:7rem minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:12px 2px;display:grid}.contact dt{font:.72rem var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.contact dd{overflow-wrap:anywhere;min-width:0;margin:0}.copy{border:1px solid var(--line);font:.72rem var(--mono);cursor:pointer;color:var(--muted);background:0 0;border-radius:5px;padding:3px 9px}.copy:hover{color:var(--ink);border-color:var(--muted)}.muted{color:var(--muted)}.facts--home{margin-top:0}.facts--home div{flex:10rem}.facts--home b{font-size:1.6rem}.grupo+.grupo{margin-top:.4em}.nota{color:var(--muted);margin:-.4em 0 1em;font-size:.88rem}.galeria{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:1.6em 0;display:grid}.galeria figure{margin:0}.galeria img{border:1px solid var(--line);background:var(--accent-soft);border-radius:6px;width:100%;height:auto;display:block}.galeria figcaption{color:var(--muted);margin-top:6px;font-size:.82rem;line-height:1.45}.cargos{flex-wrap:wrap;gap:2px 16px;margin:.3em 0 0;font-size:.92rem;display:flex}.itens{gap:6px;margin:.5em 0 0;padding-left:1.1em;display:grid}.itens li{font-size:.95rem;line-height:1.6}.skills{gap:10px;margin:0;display:grid}.skills div{grid-template-columns:11rem minmax(0,1fr);gap:4px 18px;display:grid}.skills dt{font-size:.92rem;font-weight:600}.skills dd{color:var(--muted);margin:0;font-size:.92rem;line-height:1.6}.papers .aut{color:var(--muted);margin-top:2px;font-size:.84rem;display:block}.papers .aut strong{color:var(--ink);font-weight:600}.papers .doi{font:.72rem var(--mono);margin-top:2px;display:inline-block}.term{background:var(--term-bg);color:var(--term-fg);font:400 .86rem/1.55 var(--mono)}.term ::selection{background:var(--term-sel)}.term :focus-visible{outline-color:var(--term-link)}.term-title{color:var(--term-dim);border-bottom:1px solid var(--term-rule);align-items:center;gap:10px;padding:8px 16px;font-size:.72rem;display:flex}.term-toggle{border:1px solid var(--term-rule);color:var(--term-link);cursor:pointer;font:inherit;background:0 0;border-radius:4px;margin-left:auto;padding:2px 8px;display:none}.term-out{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;flex:1;padding:12px 16px 4px;overflow:auto}.ln{min-height:1.55em}.ln .p,.prompt{color:var(--term-prompt)}.dim{color:var(--term-dim)}.hi{color:var(--term-hi);font-weight:500}.err{color:var(--term-err)}.t-cmd{cursor:pointer;color:var(--term-link);font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline dotted}.term a{color:var(--term-link)}.term-line{align-items:baseline;gap:8px;padding:2px 16px 10px;display:flex}.prompt{white-space:nowrap}.term-input{min-width:0;color:var(--term-fg);font:inherit;caret-color:var(--term-prompt);background:0 0;border:0;outline:none;flex:1;padding:0}.term-chips{border-top:1px solid var(--term-rule);color:var(--term-dim);flex-wrap:wrap;align-items:baseline;gap:6px;padding:9px 16px 12px;font-size:.72rem;display:flex}.chip{border:1px solid var(--term-rule);color:var(--term-link);cursor:pointer;font:inherit;background:0 0;border-radius:4px;padding:2px 8px}.chip:hover{border-color:var(--term-link)}@media (width<=820px){body{background:var(--screen);overflow:auto}.desk{height:auto;min-height:100%;padding:0;display:block}.monitor--doc .bezel{box-shadow:none;background:0 0;border-radius:0;padding:0}.stand{display:none}.screen{border-radius:0;height:auto;overflow:visible}.doc-top,.doc-body,.doc-status,.term-title,.term-out,.term-line,.term-chips{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.doc-body{overflow:visible}.doc-status{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.monitor--term{z-index:20;position:fixed;bottom:0;left:0;right:0}.monitor--term .bezel{background:var(--term-bg);box-shadow:0 -10px 30px -12px var(--shadow);border-radius:12px 12px 0 0;padding:0}.monitor--term .screen{padding-bottom:env(safe-area-inset-bottom,0px);border-radius:12px 12px 0 0}.term-toggle{display:inline-block}.monitor--term:not(.open) .term-out,.monitor--term:not(.open) .term-chips{display:none}.monitor--term.open .term-out{flex:none;height:44vh}.plist a,.tl>li{grid-template-columns:minmax(0,1fr)}.contact div{grid-template-columns:minmax(0,1fr) auto}.contact dt{grid-column:1/-1}.skills div{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}
