@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/epilogue-vietnamese-wght-normal.44gr355_3-gt-.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:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/epilogue-latin-ext-wght-normal.40usrktihns5a.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:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/epilogue-latin-wght-normal.2aizi4nzqfh4f.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:Epilogue Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(../media/epilogue-vietnamese-wght-italic.3imdd0-oa7ucp.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:Epilogue Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(../media/epilogue-latin-ext-wght-italic.1x665hv8xwxwj.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:Epilogue Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(../media/epilogue-latin-wght-italic.3jva95ol3g1l_.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:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(../media/lato-latin-ext-400-normal.07au8m6l8nzol.woff2)format("woff2"),url(../media/lato-latin-ext-400-normal.1r_64e_pb4f5o.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:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(../media/lato-latin-400-normal.3fqdk3zcgat4k.woff2)format("woff2"),url(../media/lato-latin-400-normal.444hmg3g_660w.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:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(../media/lato-latin-ext-700-normal.2s5wuck6fv1gy.woff2)format("woff2"),url(../media/lato-latin-ext-700-normal.3lkhdpak_td2_.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:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(../media/lato-latin-700-normal.4381_sqwva1n-.woff2)format("woff2"),url(../media/lato-latin-700-normal.0j92csaktjfdi.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:Google Sans Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/google-sans-code-adlam-500-normal.1283_eik5_m1n.woff2)format("woff2"),url(../media/google-sans-code-adlam-500-normal.2bchrl-dp9rrn.woff)format("woff");unicode-range:U+61F,U+640,U+2015,U+201B,U+2020-2021,U+2030,U+204F,U+25CC,U+2E28-2E29,U+2E41,U+1E900-1E95F}@font-face{font-family:Google Sans Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/google-sans-code-canadian-aboriginal-500-normal.16otqnby__1hp.woff2)format("woff2"),url(../media/google-sans-code-canadian-aboriginal-500-normal.3ck3o98cqcju3.woff)format("woff");unicode-range:U+2C7,U+2D8-2D9,U+2DB,U+307,U+1400-167F,U+18B0-18F5,U+25CC,U+11AB?}@font-face{font-family:Google Sans Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/google-sans-code-cherokee-500-normal.19hlh4rf3rmb7.woff2)format("woff2"),url(../media/google-sans-code-cherokee-500-normal.2x7jgp5-vjh3o.woff)format("woff");unicode-range:U+300-302,U+304,U+30B-30C,U+323-324,U+330-331,U+13A0-13FF,U+AB70-ABBF}@font-face{font-family:Google Sans Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/google-sans-code-math-500-normal.0bsmryg4drir8.woff2)format("woff2"),url(../media/google-sans-code-math-500-normal.0nu1s5ha874b6.woff)format("woff");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-209F,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Google Sans Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/google-sans-code-old-permic-500-normal.2mq4prkfpax3c.woff2)format("woff2"),url(../media/google-sans-code-old-permic-500-normal.2jv4v2u_tvopf.woff)format("woff");unicode-range:U+300,U+306-308,U+313,U+483,U+20DB,U+25CC,U+10350-1037A}@font-face{font-family:Google Sans Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/google-sans-code-symbols-500-normal.173-lg8jrbxpt.woff2)format("woff2"),url(../media/google-sans-code-symbols-500-normal.14rxhb6uaeqge.woff)format("woff");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AE,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F8D0-1F8D8,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FAC6,U+1FAC8,U+1FACC-1FADD,U+1FADF-1FAEB,U+1FAEF-1FAFA,U+1FB??}@font-face{font-family:Google Sans Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/google-sans-code-symbols2-500-normal.3xlqj09yce893.woff2)format("woff2"),url(../media/google-sans-code-symbols2-500-normal.2a-aovuf4fyzy.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Google Sans Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/google-sans-code-syriac-500-normal.3jz9u_kl7o2v0.woff2)format("woff2"),url(../media/google-sans-code-syriac-500-normal.1oc3gt--dfk7e.woff)format("woff");unicode-range:U+303-304,U+307-308,U+30A,U+320,U+323-325,U+32D-32E,U+330-331,U+60C,U+61B-61C,U+61F,U+621,U+640,U+64B-655,U+660-66C,U+670,U+700-74F,U+860-86A,U+1DF8,U+1DFA,U+200C-200F,U+25CC,U+2670-2671}@font-face{font-family:Google Sans Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/google-sans-code-vietnamese-500-normal.0qvxhlyohe_cg.woff2)format("woff2"),url(../media/google-sans-code-vietnamese-500-normal.0s27th53i3rvc.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:Google Sans Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/google-sans-code-latin-ext-500-normal.2ul5-pmhlbg4x.woff2)format("woff2"),url(../media/google-sans-code-latin-ext-500-normal.12ee6m6l7h0-i.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Code;font-style:normal;font-display:swap;font-weight:500;src:url(../media/google-sans-code-latin-500-normal.29t14nouxfjea.woff2)format("woff2"),url(../media/google-sans-code-latin-500-normal.2kqnhq0qadk0s.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:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(../media/vt323-vietnamese-400-normal.0_onw9v8txjt_.woff2)format("woff2"),url(../media/vt323-vietnamese-400-normal.0x1le_enddcsq.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:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(../media/vt323-latin-ext-400-normal.2srxi3hv2od9-.woff2)format("woff2"),url(../media/vt323-latin-ext-400-normal.3ztx4i2rutzj_.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:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(../media/vt323-latin-400-normal.3wcaarws2hqpf.woff2)format("woff2"),url(../media/vt323-latin-400-normal.1bejkftaqwnwg.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-ext-wght-normal.3_enilo7h9-3t.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-wght-normal.1c6_4mawwj-hb.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{--dk-bg:#00081d;--dk-text:#fffcf6;--dk-title:#f0e9db;--dk-link:#84bcff;--lt-bg:#fffcf6;--lt-text:#00081d;--lt-title:#00081d;--lt-link:#0076b2;--c-dark:var(--dk-bg);--c-cream:var(--dk-title);--c-light:var(--lt-bg);--c-grey:#787b7d;--c-blue:#84bcff;--c-linkedin:#0076b2;--gutter:clamp(16px, 4.76vw, 72px);--header-h:64px;--radius:8px;--font-ui:"Instrument Sans Variable", system-ui, sans-serif;--font-body:"Lato", system-ui, sans-serif;--font-display:"Anybody Variable", var(--font-ui);--ls-tight:.05em;--ls-wide:.106em;--ls-wider:.25em;--ease:cubic-bezier(.22, 1, .36, 1);--ts-hello-font:var(--font-ui);--ts-hello-size:clamp(15px, 1.2vw, 18px);--ts-hello-tracking:.05em;--ts-displayThin-font:var(--font-ui);--ts-displayThin-weight:400;--ts-displayThin-size:clamp(26px, 3.2vw, 48px);--ts-displayThin-tracking:.25em;--ts-displayThin-case:uppercase;--ts-displayBold-font:var(--font-ui);--ts-displayBold-weight:700;--ts-displayBold-size:clamp(30px, 3.97vw, 60px);--ts-displayBold-tracking:.106em;--ts-displayBold-case:uppercase;--ts-contactTitle-font:var(--font-ui);--ts-contactTitle-weight:700;--ts-contactTitle-size:clamp(26px, 3.2vw, 48px);--ts-contactTitle-tracking:.106em;--ts-contactTitle-case:uppercase;--ts-contactTitle-lh:1.25;--ts-pageTitle-font:var(--font-ui);--ts-pageTitle-weight:500;--ts-pageTitle-size:clamp(32px, 3.2vw, 48px);--ts-pageTitle-tracking:.106em;--ts-pageTitle-case:uppercase;--ts-skill-font:var(--font-ui);--ts-skill-weight:600;--ts-skill-size:clamp(18px, 1.6vw, 24px);--ts-skill-tracking:.106em;--ts-skill-case:uppercase;--ts-stat-font:var(--font-ui);--ts-stat-weight:700;--ts-stat-size:clamp(36px, 2.65vw, 40px);--ts-stat-lh:1.1;--ts-tab-font:var(--font-ui);--ts-tab-weight:500;--ts-tab-size:clamp(12px, 1.05vw, 16px);--ts-tab-tracking:.106em;--ts-tab-case:uppercase;--ts-filter-font:var(--font-ui);--ts-filter-weight:700;--ts-filter-size:13px;--ts-filter-tracking:.05em;--ts-filter-case:uppercase;--ts-nav-font:var(--font-ui);--ts-nav-weight:700;--ts-nav-size:15px;--ts-nav-tracking:.05em;--ts-nav-case:uppercase;--ts-button-font:var(--font-ui);--ts-button-weight:700;--ts-button-size:15px;--ts-button-tracking:.05em;--ts-button-case:uppercase;--ts-label-font:var(--font-ui);--ts-label-weight:700;--ts-label-size:15px;--ts-label-case:uppercase;--ts-label-lh:14px;--ts-body-font:var(--font-body);--ts-body-size:15px;--ts-body-tracking:.02em;--ts-body-lh:20px;--ts-quote-font:var(--font-ui);--ts-quote-size:15px;--ts-quote-tracking:.01em;--ts-quote-lh:1.32;--ts-quote-style:italic;--ts-transition-font:var(--font-display);--ts-transition-weight:900;--ts-transition-case:uppercase;--ts-transition-lh:1}:root,[data-theme=dark]{--bg:var(--dk-bg);--fg:var(--dk-text);--fg-title:var(--dk-title);--fg-muted:color-mix(in srgb, var(--dk-text) 75%, transparent);--fg-dim:color-mix(in srgb, var(--dk-title) 50%, transparent);--line:color-mix(in srgb, var(--dk-title) 25%, transparent);--inv-bg:var(--lt-bg);--inv-fg:var(--lt-text);--link:var(--dk-link);--tile-hover-bg:var(--lt-bg);--logo-cut:var(--dk-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:var(--lt-bg);--fg:var(--lt-text);--fg-title:var(--lt-title);--fg-muted:color-mix(in srgb, var(--lt-text) 70%, transparent);--fg-dim:color-mix(in srgb, var(--lt-text) 45%, transparent);--line:color-mix(in srgb, var(--lt-text) 20%, transparent);--inv-bg:var(--dk-bg);--inv-fg:var(--dk-text);--link:var(--lt-link);--tile-hover-bg:var(--dk-bg);--logo-cut:var(--lt-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .4s var(--ease), color .4s var(--ease);font-size:15px;line-height:1.35;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}img,svg,video{max-width:100%;display:block}:focus-visible{outline:2px solid var(--link);outline-offset:3px}::selection{background:var(--c-cream);color:var(--c-dark)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}html body :where(.t-label){font-family:var(--ts-label-font,inherit);font-weight:var(--ts-label-weight,inherit);font-size:var(--ts-label-size,inherit);letter-spacing:var(--ts-label-tracking,inherit);text-transform:var(--ts-label-case,inherit);line-height:var(--ts-label-lh,inherit);font-style:var(--ts-label-style,inherit)}.t-label{color:var(--fg-muted)}html body :where(.t-nav){font-family:var(--ts-nav-font,inherit);font-weight:var(--ts-nav-weight,inherit);font-size:var(--ts-nav-size,inherit);letter-spacing:var(--ts-nav-tracking,inherit);text-transform:var(--ts-nav-case,inherit);line-height:var(--ts-nav-lh,inherit);font-style:var(--ts-nav-style,inherit)}html body :where(.t-page-title){font-family:var(--ts-pageTitle-font,inherit);font-weight:var(--ts-pageTitle-weight,inherit);font-size:var(--ts-pageTitle-size,inherit);letter-spacing:var(--ts-pageTitle-tracking,inherit);text-transform:var(--ts-pageTitle-case,inherit);line-height:var(--ts-pageTitle-lh,inherit);font-style:var(--ts-pageTitle-style,inherit)}.t-page-title{color:var(--fg)}html body :where(.t-body){font-family:var(--ts-body-font,inherit);font-weight:var(--ts-body-weight,inherit);font-size:var(--ts-body-size,inherit);letter-spacing:var(--ts-body-tracking,inherit);text-transform:var(--ts-body-case,inherit);line-height:var(--ts-body-lh,inherit);font-style:var(--ts-body-style,inherit)}html body :where(.btn){font-family:var(--ts-button-font,inherit);font-weight:var(--ts-button-weight,inherit);font-size:var(--ts-button-size,inherit);letter-spacing:var(--ts-button-tracking,inherit);text-transform:var(--ts-button-case,inherit);line-height:var(--ts-button-lh,inherit);font-style:var(--ts-button-style,inherit)}.btn{--btn-c:var(--fg-title);--btn-bg:var(--bg);background:linear-gradient(var(--btn-bg), var(--btn-bg)) padding-box, linear-gradient(100deg, color-mix(in srgb, var(--btn-c) 5%, transparent), var(--btn-c) 50%, color-mix(in srgb, var(--btn-c) 5%, transparent)) border-box;min-height:48px;color:var(--btn-c);transition:opacity .3s var(--ease), background .3s var(--ease);border:2px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:10px 24px;display:inline-flex}.btn:hover:not(:disabled){background:linear-gradient(var(--btn-bg), var(--btn-bg)) padding-box, linear-gradient(100deg, color-mix(in srgb, var(--btn-c) 40%, transparent), var(--btn-c) 50%, color-mix(in srgb, var(--btn-c) 40%, transparent)) border-box}.btn:disabled{opacity:.1;cursor:not-allowed}.btn-inverse{--btn-c:var(--inv-fg);--btn-bg:var(--inv-bg)}.container{padding-inline:var(--gutter)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.grecaptcha-badge{visibility:hidden}html[data-intro] .type-char{opacity:0;animation:1ms linear forwards type-in;animation-delay:calc(var(--t) * 1ms)}@keyframes type-in{to{opacity:1}}.type-word{display:inline-block}html[data-intro] .type-word{opacity:0;animation:word-in .35s var(--ease) forwards;animation-delay:calc(var(--t) * 1ms)}@keyframes word-in{0%{opacity:0;transform:translateY(.15em)}to{opacity:1;transform:none}}header{transition:opacity .7s var(--ease), transform .7s var(--ease), background-color .4s var(--ease), color .4s var(--ease)}html[data-intro] header{opacity:0;pointer-events:none;transform:translateY(-100%)}[data-intro-stop].is-nudging [data-nudge]{animation:nudge 1.3s var(--ease)}@keyframes nudge{0%{transform:none}30%{transform:translateY(-22px)}55%{transform:translateY(5px)}75%{transform:translateY(-2px)}to{transform:none}}.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease), transform 1.1s var(--ease);transition-delay:calc(var(--rd,0) * 80ms);transform:translateY(28px)}.js [data-reveal][data-in]{opacity:1;transform:none}::view-transition-old(root){animation:page-out .3s var(--ease) both}::view-transition-new(root){animation:page-in .6s var(--ease) both}@keyframes page-out{to{opacity:0;transform:translateY(-12px)}}@keyframes page-in{0%{opacity:0;transform:translateY(16px)}}header{view-transition-name:site-header}::view-transition-group(site-header){animation:none}::view-transition-old(site-header){animation:none}::view-transition-new(site-header){animation:none}@media (prefers-reduced-motion:reduce){html[data-intro] .type-char,html[data-intro] .type-word{opacity:1;animation:none}.js [data-reveal]{opacity:1;transition:none;transform:none}[data-intro-stop].is-nudging [data-nudge]{animation:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}html[data-intro] header *{pointer-events:none}main:focus{outline:none}
:root{--v2-page:#121212;--v2-ink:#f3f1f3;--v2-ink-2:#cacaca;--v2-ink-3:#8a8a8f;--v2-coral:#ff6b57;--v2-lime:#c6f432;--v2-blue:#c7dbff;--v2-epilogue:"Epilogue Variable", "Epilogue", system-ui, sans-serif;--v2-lato:"Lato", system-ui, sans-serif;--v2-code:"Google Sans Code", ui-monospace, monospace;--v2-vt:"VT323", ui-monospace, monospace;--v2-ease:cubic-bezier(.2, .8, .2, 1)}body:has(.v2-root){background:var(--v2-page);color:var(--v2-ink)}html.v2-panel-open,html.v2-panel-open body{overflow:hidden}.v2-panel{--p-bg:#33333c;--p-ink:#f3f1f3;--p-body:#e6e6e6;--p-ink-2:#d6d6da;--p-muted:#8a8a8f;--p-caption:#a8a8ae;--p-chip:#ffffff0f;--p-bar:#ffffff0a;--p-bar-line:#ffffff14;--p-line:#ffffff1f;--p-stage:#313137;--p-ph:#2b2b30;--p-ph-line:#ffffff2e;--p-accent:#c7dbff;--p-rule:#c6f432;--p-btn-bg:#f3f1f3;--p-btn-ink:#121212;--bg:var(--p-bg);--fg:var(--p-ink);--fg-title:var(--p-ink);--fg-muted:var(--p-ink-2);--fg-dim:var(--p-muted);--line:var(--p-line);--link:var(--p-accent);--inv-bg:var(--p-ink);--inv-fg:var(--p-bg);--c-cream:var(--p-ink);--c-dark:var(--p-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-lights=on] .v2-panel{--p-bg:#f2f2ef;--p-ink:#1e1e22;--p-body:#2e2e33;--p-ink-2:#3c3c42;--p-muted:#707077;--p-caption:#5f5f66;--p-chip:#0000000f;--p-bar:#0000000a;--p-bar-line:#0000001a;--p-line:#00000024;--p-stage:#e4e4e7;--p-ph:#eaeaec;--p-ph-line:#00000038;--p-accent:#2f55a4;--p-rule:#86ac00;--p-btn-bg:#1e1e22;--p-btn-ink:#f3f1f3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.v2-panel ::selection{background:var(--p-ink);color:var(--p-bg)}@media (prefers-reduced-motion:reduce){.v2-root *,.v2-panel *{transition-duration:.01ms!important;animation-duration:.01ms!important}}html.v2-cursor,html.v2-cursor body,html.v2-cursor .v2-root *,html.v2-cursor .v2-panel *{cursor:none}html.v2-cursor :is(a,button,summary,label,[role=button],[role=tab],[data-cursor=native]),html.v2-cursor :is(a,button,summary,label,[role=button],[role=tab],[data-cursor=native]) *{cursor:pointer}html.v2-cursor :is(input,textarea,select){cursor:text}html.v2-cursor [data-cursor=back],html.v2-cursor [data-cursor=back] *{cursor:none}
