@layer reset,foundation,base,utility,component,page,override;@layer reset{*,*:before,*:after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:.4em}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}}@layer foundation{@layer color,spacing,font,typography;}@layer foundation.color{:root,.theme-light{--sp-background-color: #ffffff;--sp-foreground-color: #000000;--sp-primary-color: #000000;--sp-alert-error-color: color-mix(in srgb, red 15%, transparent);--sp-alert-warning-color: color-mix(in srgb, orange 15%, transparent);--sp-alert-info-color: color-mix(in srgb, blue 15%, transparent);--sp-alert-success-color: color-mix(in srgb, green 15%, transparent)}.theme-dark{--sp-background-color: rgb(15, 23, 42);--sp-foreground-color: #ffffff;--sp-primary-color: ffffff;--sp-alert-error-color: color-mix(in srgb, red 85%, transparent);--sp-alert-warning-color: color-mix(in srgb, orange 85%, transparent);--sp-alert-info-color: color-mix(in srgb, blue 85%, transparent);--sp-alert-success-color: color-mix(in srgb, green 85%, transparent)}.color-pallet{--sp-background-50: color-mix(in srgb, var(--sp-background-color) 5%, var(--sp-foreground-color));--sp-background-100: color-mix(in srgb, var(--sp-background-color) 10%, var(--sp-foreground-color));--sp-background-200: color-mix(in srgb, var(--sp-background-color) 20%, var(--sp-foreground-color));--sp-background-300: color-mix(in srgb, var(--sp-background-color) 30%, var(--sp-foreground-color));--sp-background-400: color-mix(in srgb, var(--sp-background-color) 40%, var(--sp-foreground-color));--sp-background-500: color-mix(in srgb, var(--sp-background-color) 50%, var(--sp-foreground-color));--sp-background-600: color-mix(in srgb, var(--sp-background-color) 60%, var(--sp-foreground-color));--sp-background-700: color-mix(in srgb, var(--sp-background-color) 70%, var(--sp-foreground-color));--sp-background-800: color-mix(in srgb, var(--sp-background-color) 80%, var(--sp-foreground-color));--sp-background-900: color-mix(in srgb, var(--sp-background-color) 90%, var(--sp-foreground-color));--sp-background-950: color-mix(in srgb, var(--sp-background-color) 95%, var(--sp-foreground-color));--sp-foreground-50: color-mix(in srgb, var(--sp-foreground-color) 5%, var(--sp-background-color));--sp-foreground-100: color-mix(in srgb, var(--sp-foreground-color) 10%, var(--sp-background-color));--sp-foreground-200: color-mix(in srgb, var(--sp-foreground-color) 20%, var(--sp-background-color));--sp-foreground-300: color-mix(in srgb, var(--sp-foreground-color) 30%, var(--sp-background-color));--sp-foreground-400: color-mix(in srgb, var(--sp-foreground-color) 40%, var(--sp-background-color));--sp-foreground-500: color-mix(in srgb, var(--sp-foreground-color) 50%, var(--sp-background-color));--sp-foreground-600: color-mix(in srgb, var(--sp-foreground-color) 60%, var(--sp-background-color));--sp-foreground-700: color-mix(in srgb, var(--sp-foreground-color) 70%, var(--sp-background-color));--sp-foreground-800: color-mix(in srgb, var(--sp-foreground-color) 80%, var(--sp-background-color));--sp-foreground-900: color-mix(in srgb, var(--sp-foreground-color) 90%, var(--sp-background-color));--sp-foreground-950: color-mix(in srgb, var(--sp-foreground-color) 95%, var(--sp-background-color));--sp-primary-50: color-mix(in srgb, var(--sp-primary-color) 5%, var(--sp-background-color));--sp-primary-100: color-mix(in srgb, var(--sp-primary-color) 10%, var(--sp-background-color));--sp-primary-200: color-mix(in srgb, var(--sp-primary-color) 20%, var(--sp-background-color));--sp-primary-300: color-mix(in srgb, var(--sp-primary-color) 30%, var(--sp-background-color));--sp-primary-400: color-mix(in srgb, var(--sp-primary-color) 40%, var(--sp-background-color));--sp-primary-500: color-mix(in srgb, var(--sp-primary-color) 50%, var(--sp-background-color));--sp-primary-600: color-mix(in srgb, var(--sp-primary-color) 60%, var(--sp-background-color));--sp-primary-700: color-mix(in srgb, var(--sp-primary-color) 70%, var(--sp-background-color));--sp-primary-800: color-mix(in srgb, var(--sp-primary-color) 80%, var(--sp-background-color));--sp-primary-900: color-mix(in srgb, var(--sp-primary-color) 90%, var(--sp-background-color));--sp-primary-950: color-mix(in srgb, var(--sp-primary-color) 95%, var(--sp-background-color));--sp-text-color: var(--sp-foreground-800);--sp-text-muted-color: var(--sp-foreground-500);--sp-border-color: var(--sp-background-800)}.proficiency-expert{--sp-proficiency-level-bg: #e9d5ff;--sp-proficiency-level-text: #6b21a8}.proficiency-advanced{--sp-proficiency-level-bg: #bbf7d0;--sp-proficiency-level-text: #16a34a}.proficiency-intermediate{--sp-proficiency-level-bg: #bfdbfe;--sp-proficiency-level-text: #1e40af}.proficiency-beginner{--sp-proficiency-level-bg: #d9f99d;--sp-proficiency-level-text: #3f6212}}@layer foundation.spacing{:root,.sp-space-default{--sp-space-0: 0;--sp-space-1: .0625rem;--sp-space-2: .125rem;--sp-space-3: .25rem;--sp-space-4: .5rem;--sp-space-5: .75rem;--sp-space-6: 1rem;--sp-space-7: 1.25rem;--sp-space-8: 1.5rem;--sp-space-9: 1.75rem;--sp-space-10: 2rem;--sp-space-11: 2.25rem;--sp-space-12: 2.5rem;--sp-space-13: 2.75rem}}@layer foundation.font{@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/legacy-personal-site/v2/_astro/open-sans-cyrillic-ext-wght-normal.H-3heuW0.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/legacy-personal-site/v2/_astro/open-sans-cyrillic-wght-normal.sNNBoTkW.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/legacy-personal-site/v2/_astro/open-sans-greek-ext-wght-normal.rOSlD4Ri.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/legacy-personal-site/v2/_astro/open-sans-greek-wght-normal.rUOrG2rj.woff2) format("woff2-variations");unicode-range:U+0370-03FF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/legacy-personal-site/v2/_astro/open-sans-hebrew-wght-normal.61UC5Cm8.woff2) format("woff2-variations");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/legacy-personal-site/v2/_astro/open-sans-math-wght-normal.HMC3REti.woff2) format("woff2-variations")}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/legacy-personal-site/v2/_astro/open-sans-symbols-wght-normal.tkABXxko.woff2) format("woff2-variations")}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/legacy-personal-site/v2/_astro/open-sans-vietnamese-wght-normal.NHnJCkTA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/legacy-personal-site/v2/_astro/open-sans-latin-ext-wght-normal.q6Tsb3zB.woff2) format("woff2-variations");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/legacy-personal-site/v2/_astro/open-sans-latin-wght-normal.mLkR-boN.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}}@layer foundation.typography{@supports (font-size: clamp(1rem,1vw,1rem)){.typescale-site{--sp-font-size-1: clamp(.64rem, -.19vw + .68rem, .56rem);--sp-font-size-2: clamp(.8rem, -.12vw + .82rem, .75rem);--sp-font-size-3: clamp(1rem, 0vw + 1rem, 1rem);--sp-font-size-4: clamp(1.25rem, .21vw + 1.21rem, 1.33rem);--sp-font-size-5: clamp(1.56rem, .54vw + 1.46rem, 1.78rem);--sp-font-size-6: clamp(1.95rem, 1.04vw + 1.75rem, 2.37rem);--sp-font-size-7: clamp(2.44rem, 1.79vw + 2.08rem, 3.16rem);--sp-font-size-8: clamp(3.05rem, 2.89vw + 2.47rem, 4.21rem);--sp-font-size-9: clamp(3.81rem, 4.49vw + 2.92rem, 5.61rem)}:root,.typescale-content{--sp-font-size-1: clamp(.79rem, -.43vw + .9rem, .64rem);--sp-font-size-2: clamp(.89rem, -.25vw + .95rem, .8rem);--sp-font-size-3: clamp(1rem, 0vw + 1rem, 1rem);--sp-font-size-4: clamp(1.13rem, .36vw + 1.04rem, 1.25rem);--sp-font-size-5: clamp(1.27rem, .85vw + 1.05rem, 1.56rem);--sp-font-size-6: clamp(1.42rem, 1.51vw + 1.05rem, 1.95rem);--sp-font-size-7: clamp(1.6rem, 2.4vw + 1rem, 2.44rem);--sp-font-size-8: clamp(1.8rem, 3.57vw + .91rem, 3.05rem);--sp-font-size-9: clamp(2.03rem, 5.11vw + .75rem, 3.81rem)}}@supports not (font-size: clamp(1rem,1vw,1rem)){.typescale-site{--sp-font-size-1: .64rem;--sp-font-size-2: .8rem;--sp-font-size-3: 1rem;--sp-font-size-4: 1.25rem;--sp-font-size-5: 1.56rem;--sp-font-size-6: 1.95rem;--sp-font-size-7: 2.44rem;--sp-font-size-8: 3.05rem;--sp-font-size-9: 3.81rem}:root,.typescale-content{--sp-font-size-1: .79rem;--sp-font-size-2: .89rem;--sp-font-size-3: 1rem;--sp-font-size-4: 1.13rem;--sp-font-size-5: 1.27rem;--sp-font-size-6: 1.42rem;--sp-font-size-7: 1.6rem;--sp-font-size-8: 1.8rem;--sp-font-size-9: 2.03rem}@media screen and (min-width: 960px){.typescale-site{--sp-font-size-1: .56rem;--sp-font-size-2: .75rem;--sp-font-size-3: 1rem;--sp-font-size-4: 1.33rem;--sp-font-size-5: 1.78rem;--sp-font-size-6: 2.37rem;--sp-font-size-7: 3.16rem;--sp-font-size-8: 4.21rem;--sp-font-size-9: 5.61rem}:root,.typescale-content{--sp-font-size-1: .64rem;--sp-font-size-2: .8rem;--sp-font-size-3: 1rem;--sp-font-size-4: 1.25rem;--sp-font-size-5: 1.56rem;--sp-font-size-6: 1.95rem;--sp-font-size-7: 2.44rem;--sp-font-size-8: 3.05rem;--sp-font-size-9: 3.81rem}}}}@layer base{body{display:flex;flex-direction:column;background-color:var(--sp-background-color, #ffffff);color:var(--sp-text-color, #000000);font-family:Open Sans Variable,sans-serif;font-size:var(--sp-font-size-4);line-height:1.6;margin:0;scroll-behavior:smooth}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:400}h1{font-size:var(--sp-font-size-9);text-align:center}h2{font-size:var(--sp-font-size-8)}h3{font-size:var(--sp-font-size-7)}h4{font-size:var(--sp-font-size-6)}h5{font-size:var(--sp-font-size-5)}h6{font-size:var(--sp-font-size-4)}small{font-size:var(--sp-font-size-2)}pre{border-radius:.5rem;margin:2rem 0;padding:1.2rem 1.4rem}blockquote{background:var(--sp-background-950);border-left:var(--sp-space-3) solid var(--sp-background-800);margin:var(--sp-space-4) 0;padding:var(--sp-space-4) var(--sp-space-4) var(--sp-space-4) var(--sp-space-6);quotes:"“" "”" "‘" "’"}blockquote p{margin-block-start:0}img{display:block;width:100%;height:auto}:not(pre)>code{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--sp-background-950)}.yt-embed{max-width:100%}}@layer utility{@layer accessibility,layout,typography,icon;}@layer utility.accessibility{.sr-only{position:absolute;width:var(--sp-space-1);height:var(--sp-space-1);padding:0;margin:calc(-1 * var(--sp-space-1));overflow:hidden;clip:rect(0,0,0,0);border:0}}@layer utility.layout{.container{width:100%;max-width:60rem;margin-left:auto;margin-right:auto;padding:var(--sp-space-6)}.flex-1{flex:1}}@layer utility.typography{.text-muted{color:var(--sp-text-muted-color)}.text-1{font-size:var(--sp-font-size-1)}.text-2{font-size:var(--sp-font-size-2)}.text-3{font-size:var(--sp-font-size-3)}.text-4{font-size:var(--sp-font-size-4)}.text-5{font-size:var(--sp-font-size-5)}.text-6{font-size:var(--sp-font-size-6)}.text-7{font-size:var(--sp-font-size-7)}.text-8{font-size:var(--sp-font-size-8)}.text-9{font-size:var(--sp-font-size-9)}.text-center{text-align:center}}@layer utility.icon{.icon{width:var(--sp-space-8);height:var(--sp-space-8)}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@layer component.theme-switcher{#theme-switcher:where(.astro-7ttwkvpe){padding:var(--sp-space-3);width:var(--sp-space-12);height:var(--sp-space-12);background:none;border:none;color:inherit}#theme-switcher:where(.astro-7ttwkvpe):disabled{color:var(--sp-text-muted-color)}.switch-to-light-theme:where(.astro-7ttwkvpe){display:none}.switch-to-dark-theme:where(.astro-7ttwkvpe){display:inline}.theme-dark{.switch-to-light-theme{display:inline}.switch-to-dark-theme{display:none}}}@layer component.layout-header{.page-header:where(.astro-3r75zrmz){position:sticky;top:0;z-index:1;box-shadow:0 var(--sp-space-3) var(--sp-space-4) var(--sp-border-color)}.theme-dark .page-header:where(.astro-3r75zrmz){border-bottom:var(--sp-space-1) solid var(--sp-border-color);box-shadow:none}.container:where(.astro-3r75zrmz){display:flex;justify-content:space-between;background-color:color-mix(in srgb,var(--sp-background-color) 80%,transparent);-webkit-backdrop-filter:blur(var(--sp-space-4));backdrop-filter:blur(var(--sp-space-4))}.header-nav-list:where(.astro-3r75zrmz){list-style:none;padding-inline-start:0;margin:0;display:flex;-moz-column-gap:var(--sp-space-6);column-gap:var(--sp-space-6);height:100%;align-items:center}.header-nav-link:where(.astro-3r75zrmz){padding:0 var(--sp-space-6)}}@layer component.layout-footer-item{.footer-link:where(.astro-vbrqtsan){display:flex;align-items:center;gap:8px}.footer-link-text:where(.astro-vbrqtsan){width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer component.layout-footer{.footer:where(.astro-nkfwxzis){border-top:var(--sp-space-1) solid var(--sp-border-color)}.footer-nav:where(.astro-nkfwxzis){display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-space-6)}.footer-list:where(.astro-nkfwxzis){display:flex;flex-direction:column;gap:var(--sp-space-3);list-style:none;padding-inline-start:0;margin-block:0}.footer-list-item-heading:where(.astro-nkfwxzis){font-weight:700;margin-bottom:var(--sp-space-4)}.copy-text:where(.astro-nkfwxzis){display:block;margin-top:var(--sp-space-6);width:100%}}
