@font-face{font-family:Paytone One;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/paytone-one-vietnamese-400-normal.Dt5w-2JR.woff2) format("woff2"),url(/_astro/paytone-one-vietnamese-400-normal.Bn0lmtEc.woff) format("woff");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:Paytone One;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/paytone-one-latin-ext-400-normal.D9pVce7D.woff2) format("woff2"),url(/_astro/paytone-one-latin-ext-400-normal.DGEfcZEu.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Paytone One;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/paytone-one-latin-400-normal.t5JIIv86.woff2) format("woff2"),url(/_astro/paytone-one-latin-400-normal.BoyjMX4_.woff) format("woff");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}:root{--container-width: 1024px;--col-unit: 1.5rem;--accent: rgb(106, 87, 3);--accent-inverse: rgb(255, 255, 255);--black: 15, 18, 25;--gray: 96, 115, 159;--gray-light: 229, 233, 240;--gray-dark: 50, 64, 77;--background-start-rgb: 194, 194, 194;--background-end-rgb: 240, 240, 240;--box-shadow: 0 2px 6px rgba(var(--gray), 25%), 0 8px 24px rgba(var(--gray), 33%), 0 16px 32px rgba(var(--gray), 33%)}@media (prefers-color-scheme: dark){:root{--accent: rgb(224, 184, 13);--accent-inverse: rgb(15, 23, 42);--background-start-rgb: 36, 37, 37;--background-end-rgb: 21, 21, 21}}.font--paytone-one{font-family:Paytone One,sans-serif}body{margin:0;padding:0;text-align:left;background:linear-gradient(rgb(var(--background-start-rgb)) 7rem,rgb(var(--background-end-rgb)) 21rem);word-wrap:break-word;overflow-wrap:break-word;color:rgb(var(--gray-dark));min-width:320px}.prose a{color:var(--accent)}.prose a:hover{text-decoration:underline}.prose p{line-height:1.4;margin:.5rem 0}.prose ul,.prose ol{margin:0;line-height:1.2}.prose img:has(+em){margin-bottom:.5rem}hr{border:none;border-top:1px solid rgb(var(--gray-light))}.container,.grid-container{max-width:var(--container-width);margin-left:auto;margin-right:auto}.container{--gutter: calc(3 * var(--col-unit));flex-grow:1;padding-left:var(--gutter);padding-right:var(--gutter)}.grid-container{display:grid;grid-template-columns:[full-width-start] calc(2 * var(--col-unit)) [breakout-start] var(--col-unit) [content-start] 1fr [content-end] calc(2 * var(--col-unit)) [breakout-end] var(--col-unit) [full-width-end]}.grid-container>*{grid-column:content}.grid-container>.grid-container__breakout{grid-column:breakout}.grid-container>.grid-container__full-width{grid-column:full-width}.dark-bar{background:#243039;background:linear-gradient(0deg,#243039,#2d3c49 57%,#354551);color:rgb(var(--gray-light));border-color:#4b5563;border-width:0 0 1px}.dark-bar--inverted-bg{background:linear-gradient(180deg,#243039,#2d3c49 57%,#354551);border-width:1px 0 0}.dark-bar,.dark-bar a{text-shadow:0px 2px 2px #000A}.dark-bar a{color:#f0c717}.dark-bar a:hover{text-decoration:underline}.blog-tag{font-size:1rem;border:1px solid currentColor;text-transform:capitalize;text-decoration:none;padding:.25rem .5rem;border-radius:.5rem}a.blog-tag{color:var(--accent)}a.blog-tag:hover{text-decoration:underline}article>.astro-code{--gutter: calc(var(--col-unit) * -1);margin-left:var(--gutter);margin-right:var(--gutter);line-height:1.2}@media (max-width: 768px){.grid-container{display:block}.container,.grid-container{width:100%;padding-left:.75rem;padding-right:.75rem}article>.astro-code{margin-left:0;margin-right:0}}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-cyrillic-ext-300-normal.TzZWIuiO.woff2) format("woff2"),url(/_astro/roboto-cyrillic-ext-300-normal.C7AGhuC_.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-cyrillic-300-normal.D6mjswgs.woff2) format("woff2"),url(/_astro/roboto-cyrillic-300-normal.UX5PCucy.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(data:font/woff2;base64,d09GMgABAAAAAAXIABIAAAAACfAAAAVrAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiYbIBw2BmAANAhYCYM8EQwKg3yDWwsQABIUATYCJAMcBCAFgnwHIAyCOhuKCFFUkNIAfhzkZNGn0qdP43KKULZY+sdzG0Q8m/mz8ICIX02oaFIVOdFc1ZzS76IBcWPjIIKlGKNV/3O6DmGQY/0cOocGnZS5fphLIQxybKVfXZEOY7haU7u7F7IfFUso/CdW3X0AsQAwPhW2Tv1UAStAFdXxNaLOVQhbV3MjxjWbYEg6T29vAH0LBI0IAFAOwUQQBA0IASEEECBAgjJIz94DRxICQAF43hlrbeqi1KrNWDS7iJq5s7MLu6lo2twSDwB8MeX1ukpLCgOMw0YLkOr9kP4yOQFmBnaVs6/PDelD1x3k7zLJIKcPa9jICQDV3nCwsdHToL5UBh0xSWGjAuGt7HnRX/rR3QgADckz3lSjnWSwElt5isGm6u0xoExmKmW0I8S8LOHMARJ6DYKqPWXUNmKGQxmzAmXNh4hpE0hYCsN8GxMgAKTK8A9lX+RjAvHOUAnfr08nEpIi0nsFmSqhpSANhYSeIg96Ha/FaUMP+9Fv9bA92s1XUHVeYvNR68e4DIERvCcwkgW6mthy89qYnIRKxVT+MQ4VOiRhB1Fc/hJGqqyu121wk7FSxdBV2XohSOOhBgkPxcWXl5x5TxG3T/vwjcHKmw1L2pcl3vZ41zJm3GMz008LrPS52KOW6UEeOjUQ3gFd+9Dr6Fpa2diNrwySMeOd17yJTSpKwp8qt1krwiDMfCCFhtogiMn7hVJ+PftGjxH87Wopy8DHbWSbp6H7O2bIo9beHti3u0IWr/zSfjiFrp/9ZA3YT1oqtgvJuPKpWAVBw4fmeUQBsACIAH6gEzCTw5D5cwxogqYrKHf4V8Qipj8eWRJduCSvwFc4MVoghZElK9/6KLD5C11Wvfvpto/fHjVyzTuBzW9prH47uOVdfcmEIGNnfJDXRw194w2p/xiG85iePRHDiq/uNf/H4IJPT+kyaaNM0tODH9n09OYmcuaS166o9f4ntzaXs0M5taWe9sjiqPV9gxef/alh6KD+Y+MXXv66YbBv2dd2r+u0suwDLfv832/WNFkyoY/0rzV8zdDG1EX1BgsjUxs0ILPG+85obrzkhmLxeKKdE4o5vBQxk/mvDL+EQ693tCaVb2rVOo8jEAORgas01GXXCDUW8y07gffcEKkJn6XFnMh7TZu5qlp1B5XJegAGdUFUqM5xgrGbWeIEkmNrvFX5N4CSVWo0bYZ03rFecqwIBIRr8o4yUJuNlyo6RpMKNRFYQkAofjkgQMhvKtBM3QQQQKuVWDf4wowp0Y6/+yr6AHjsp3hjgNdl+Kf/2P+/7q/kmwP40QAQsIoyIfC3+cfO9PJXQhj8LH0rM10pv8AoYFnuYEo5mTWYrsUOyjGOgQAQAQ1tNiYC+MihI8oPTMbaLlRgsl0jwvxJfW9SwW5Ql7UJE9rLz40w0iP0kFZqkdny5cozl01zmtJsNNv0keaQimS791NihsaJbiwW5YYrU3OYz2abI9ts82WbqTHDpU2XNleazUCFcnpjrnmKTAOONs82R36q5A7YeK0Fbehwo5Nt8skbKfPGuUq1p4mzBV/XmGlKTTNDnmyNSZstVxOK5JshW4k5ss3RhIH66aGXwUbopdHzf6gpOgB4BWZqFzqhpEMSV0JaUtywRA+4M9y+aYNqCXxJ7pTicb2aV11uuVNbnju0bbHq86cOaG1Va2YObt80+rSXCXiYuxZMbF8rZ+k9fMO6t6xT3sPfrkntSrFc4GwumNMtdGptbv/UMdxIxEo6/IGvd52EzHGHBsa57kooHcxzu1Tik1NAK6CJca47hNK0g26QB9VDKpqH8wQK0WrSeBqCUlbJHwHVm3PdKUY76EXyEl3OSm4TO5EGt2Z9mQMAAA==) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAATkAA4AAAAABWQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABRAAAAB8AAAAmAEYABkdQT1MAAAFkAAAAIAAAACBEcExrR1NVQgAAAYQAAAA2AAAANpMNggRPUy8yAAABvAAAAE0AAABgku/g4WNtYXAAAAIMAAAAKQAAADQAER+gZ2FzcAAAAjgAAAAMAAAADAAIABNnbHlmAAACRAAAAREAAAEUGjc/4GhlYWQAAANYAAAANgAAADb8WdJpaGhlYQAAA5AAAAAfAAAAJAqpBZBobXR4AAADsAAAABwAAAAcE07/w2xvY2EAAAPMAAAAEAAAABAA0AE8bWF4cAAAA9wAAAAgAAAAIAI3A1xuYW1lAAAD/AAAANEAAAF8Gwg553Bvc3QAAATQAAAAEwAAACD/bQBkeNpjYGRgYuBjgAAxII8NiEGQCcjnAWEgmwEABhIATQAAAQAAAAoAEgAUAAFERkxUAAwAAAAAAAQAAAAA//8AAAABAAAACgAkACYABERGTFQAHmN5cmwAImdyZWsAImxhdG4AIgAAAAAACAAAAAAAAAAA//8AAAAAeNpjYGbJZ9RhYGVgYJ3FaszAwCgPoZkvMqQxMTAwADEUODCgAnd/f3cGB3lfeV82hn8MDGnss5gYFBgY54PkWKxYNzAoACEzAMRwCjwAAAB42mNgYGACYmYgFgGSjGCahUEBSLMAIZAv7/v/P4R8sBMszwAAVmAGzQAAAAABAAIACAAC//8AD3jaDcwBRANRGAfw//e99zppau/qGohum5kC7dpAAlQKRgC1pABCoFIjSkoFIQHIQsAABKEpGbUhAkAgZ4pAue8aAH4/GKwDKm/qUOhBLxIYAHzf+soSWVI+FclX+WiKGyXpyB0lPliJEEeRqf/WjBNVeevP8nZU4coxVwBGNQ51aBrdaQSgIdaZNGxx0s2OajflJDmTZusl3aDgWh2eitzG8nhOTGWiM7XbeW1+f720P/nkWVo12qDS5RMFN9fy/pAkh8bkTX6uJJI2jVMfGCt6h9dMCwb9AA0GnsqowBtOOblckZaP9u9nZZOXJhYW9QVNe9Kk+dW9uUL2sBzHchCHptC1OegZwIGRLPAPx7pVLQAAAAABAAAAAiMS7qbXil8PPPUAGQgAAAAAAMTwES4AAAAA1QFS4/og/dUJGghzAAAACQACAAAAAAAAeNpjYGRgYM/5x8PAwGn+S+GfK6cUUAQVsAMAbCsERwADjABkAAAAAAAAAAAB8gAABWoAfQK2AF8FsP6DAAAAKQApACkAKQBgAH4AigABAAAABwCPABYAWQAFAAEAAAAAAA4AAAIAAnIABgABeNpNjrkKwkAURY8r2lhbTmVn3ApBKxERQSxULAWXGIWQCYkL9n6Nn+GXeYshhMsdzrwdqHGhRKFcB/bguECTveMiDZ6OS7l4OccVWnwcVxX/Om6w5ccUS8ybhBsBV+4Y+nTpSYY5VgoI8TEsiDjhiSaEkmGddaXoh08qJzz1nvEUsRzlu2xYZtWqFD0IOZCwQz2kyloitB+PHgOGjHHXiPOz2rlZshQzoiO9kPA4EMsnZX39LAmBsiE3xXwidKfcYcmCKTNWbPS20W66fypGNRAAAAB42mNgZgCD/1kMKQxYAAAqHwHRAA==) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-greek-300-normal.ndiuWqED.woff2) format("woff2"),url(/_astro/roboto-greek-300-normal.Dgbe-dnN.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-vietnamese-300-normal.CnPrVvBs.woff2) format("woff2"),url(/_astro/roboto-vietnamese-300-normal.DOxDZ6bW.woff) format("woff");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:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-latin-ext-300-normal.DEsNdRC-.woff2) format("woff2"),url(/_astro/roboto-latin-ext-300-normal.CaUuWeqj.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Roboto;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/roboto-latin-300-normal.ThHrQhYb.woff2) format("woff2"),url(/_astro/roboto-latin-300-normal.lq7MgJXa.woff) format("woff");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}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:1em 0;border-bottom:4px solid transparent}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none;border-bottom-color:currentColor}
