@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-cyrillic-ext-wght-normal.DhYMMuQd.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-cyrillic-wght-normal.9QsI0tO3.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-greek-ext-wght-normal.wWus70Ix.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-greek-wght-normal.B2SviObF.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-symbols2-wght-normal.CE6EOz_n.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-latin-ext-wght-normal.Dvfvaomy.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-latin-wght-normal.mEl1RKBN.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/league-spartan-vietnamese-wght-normal.COdtqR7n.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:League Spartan Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/league-spartan-latin-ext-wght-normal.ChpYgUAq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:League Spartan Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/league-spartan-latin-wght-normal.bQxFzXB_.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer reset,base,simple-prose,longform-prose,theme;.mermaid{text-align:center;margin:2rem 0;padding:1rem;background-color:var(--color-background-alt);border-radius:var(--border-radius);overflow-x:auto}.mermaid svg{max-width:100%;height:auto}[data-theme=dark] .mermaid{filter:invert(.85) hue-rotate(180deg)}[data-theme=dark] .mermaid text{fill:currentColor}.mermaid+*{margin-top:2rem}pre.mermaid{background:transparent;border:none;padding:0}pre.mermaid code{background:transparent;padding:0;border:none;font-family:inherit}@font-face{font-family:Literata;src:url(/fonts/Literata-self-compiled-Mar2019.woff2) format("woff2");font-style:normal;font-display:swap}@font-face{font-family:Literata;src:url(/fonts/Literata-Italic-self-compiled-Mar2019.woff2) format("woff2");font-style:italic;font-display:swap}:root{--color-black: #191919;--color-true-black: #000000;--color-pink-300: #f4dfeb;--color-pink-400: #fac8e4;--color-pink-500: #e255a1;--color-pink-600: #ad1a72;--color-pink-700: #602d51;--color-pink-800: #533b4c;--color-red-300: #fbe4e4;--color-red-400: #ffd4d4;--color-red-500: #ff7369;--color-red-600: #e03e3e;--color-red-700: #b84848;--color-red-800: #594141;--color-orange-300: #faebdd;--color-orange-400: #fed9b7;--color-orange-500: #ffa344;--color-orange-600: #d9730d;--color-orange-700: #765839;--color-orange-800: #594a3a;--color-purple-300: #eae4f2;--color-purple-400: #e6d7f9;--color-purple-500: #9a6dd7;--color-purple-600: #6940a5;--color-purple-700: #6f6695;--color-purple-800: #443f57;--color-yellow-300: #fbf3db;--color-yellow-400: #feeebe;--color-yellow-500: #ffdc49;--color-yellow-600: #dfab01;--color-yellow-700: #645e26;--color-yellow-800: #59563b;--color-green-300: #ddedea;--color-green-400: #c8eae3;--color-green-500: #4dab9a;--color-green-600: #0f7b6c;--color-green-700: #2c5c5a;--color-green-800: #354c4b;--color-blue-300: #ddebf1;--color-blue-400: #c4e4f2;--color-blue-500: #529cca;--color-blue-600: #0b6e99;--color-blue-700: #254e66;--color-blue-800: #364954;--color-brown-300: #e9e5e3;--color-brown-400: #f1e0d8;--color-brown-500: #937264;--color-brown-600: #64473a;--color-brown-700: #534343;--color-brown-800: #434040;--color-grey-300: #ebeced;--color-grey-400: #ebeced;--color-grey-500: #979a9bf2;--color-grey-600: #9b9a97;--color-grey-700: #596063;--color-grey-800: #454b4e;--color-bg-light-100: #ffffff;--color-bg-light-200: #f3f6f7;--color-bg-light-300: #e3e6e8;--color-bg-light-400: #9a9fa1;--color-bg-light-500: #6c7173;--color-bg-light-600: #4d5254;--color-bg-light-700: #2f3437;--color-bg-light-800: #191919;--color-bg-dark-100: #191919;--color-bg-dark-200: #202020;--color-bg-dark-300: #2c2c2c;--color-bg-dark-400: #363636;--color-bg-dark-500: #898989;--color-bg-dark-600: #9b9b9b;--color-bg-dark-700: #d5d5d5;--color-bg-dark-800: #ffffff;--color-brand-primary: var(--color-red-500);--color-brand-grey: var(--color-bg-light-700);--color-brand-dark-grey: var(--color-bg-light-800);--color-brand-white: #ffffff;--color-brand-black: var(--color-black);--color-brand-beige: #f6f3ea;--shadow-xsmall: drop-shadow(0px 1px 2px rgba(16, 24, 40, .05));--shadow-small: drop-shadow(0px 1px 3px rgba(16, 24, 40, .1)) drop-shadow(0px 1px 2px rgba(16, 24, 40, .1));--shadow-medium: drop-shadow(0px 1px 3px rgba(16, 24, 40, .1)) drop-shadow(0px 4px 6px rgba(16, 24, 40, .1));--shadow-large: drop-shadow(0px 10px 15px rgba(16, 24, 40, .1)) drop-shadow(0px 4px 6px rgba(16, 24, 40, .1));--shadow-xlarge: drop-shadow(0px 20px 25px rgba(16, 24, 40, .1)) drop-shadow(0px 8px 10px rgba(16, 24, 40, .1));--shadow-xxlarge: drop-shadow(0px 25px 50px rgba(16, 24, 40, .25));--font-ui: "League Spartan Variable", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-prose: "Literata", Georgia, "Times New Roman", serif;--font-code: "Fira Code Variable", "Fira Code", "Inconsolata", monospace;--spacer-xs: .5rem;--spacer-sm: 1rem;--spacer-md: 2rem;--spacer-lg: 3rem;--spacer-xl: 4rem;--spacer-xxl: 6rem}@layer reset{*,*:before,*:after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;font-size:98%}body{position:relative;font-size:1rem;padding:0}body,h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}input,button,textarea,select{font:inherit}img{border:0}img,picture{max-width:100%;height:auto;display:block}}@layer base{html{font-variant-ligatures:common-ligatures;scroll-behavior:smooth;color-scheme:light;accent-color:var(--color-accent);color:var(--color-text-primary);font-family:var(--font-ui);font-weight:300}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,h5,button,input,label{line-height:1.1}h1,h2,h3,h4,h5{text-wrap:balance}p,blockquote{text-wrap:pretty}a{transition:all .15s;&,&:visited{text-decoration:none;color:var(--color-text-primary)}&:hover,&:focus,&:active{color:var(--color-accent)}}abbr{font-variant:all-small-caps;text-decoration:underline;text-decoration-style:dashed;text-decoration-color:var(--color-grey-500);text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-skip-ink:none}abbr[title]{cursor:help}sup,sub{font-size:.7em;line-height:1}del{text-decoration:line-through;text-decoration-color:var(--color-strikethrough);text-decoration-thickness:1px;text-underline-offset:.2em}mark{background-color:var(--color-mark-bg);border-radius:.05em}table{border-collapse:collapse;width:100%;margin:2em 0;font-size:1em;background-color:var(--color-table-bg)}th,td{border:1px solid var(--color-table-border);padding:.2em .5em;text-align:left}th{font-weight:600;text-transform:uppercase;background:var(--color-table-header-bg);border-bottom-width:2px}}@layer theme{@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root,:root[data-theme=light]{color-scheme:light;--font-weight-prose: 400;--line-height-prose: 1.7;--font-weight-article: 350;--line-height-article: 1.7;--color-bg-primary: var(--color-brand-beige);--color-bg-secondary: color-mix(in srgb, var(--color-bg-primary) 40%, white);--color-text-primary: var(--color-brand-grey);--color-text-secondary: var(--color-grey-800);--color-accent: var(--color-brand-primary);--color-border: rgba(0, 0, 0, .1);--color-link: var(--color-red-500);--color-link-visited: var(--color-purple-600);--color-link-hover: var(--color-red-600);--color-mark-bg: var(--color-yellow-500);--color-strikethrough: rgba(0, 0, 0, .5);--color-abbr-underline: rgba(0, 0, 0, .15);--color-table-border: rgba(0, 0, 0, .1);--color-table-bg: var(--color-bg-secondary);--color-table-header-bg: var(--color-bg-secondary);--color-code-background: var(--color-bg-secondary);--prose-heading-border-color: var(--color-border);--prose-link-color: var(--color-link);--prose-link-visited-color: var(--color-link-visited);--prose-link-hover-color: var(--color-link-hover);--prose-blockquote-border-color: var(--color-accent);--prose-list-marker-color: var(--color-accent);--color-nav-bg: var(--color-bg-dark-200);--color-nav-text: var(--color-brand-white);--color-nav-link-hover: var(--color-brand-primary);--color-nav-border: var(--color-brand-primary);--color-hamburger-bg: rgba(255, 255, 255, .6);--color-hamburger-text: var(--color-brand-primary);--color-footer-bg: var(--color-bg-dark-200);--color-footer-text: var(--color-brand-white);--color-footer-link-hover: var(--color-brand-primary);--color-footer-border: var(--color-brand-primary);--color-footer-social-hover: rgba(0, 0, 0, .25);--color-notecard-bg: var(--color-brand-white);--color-notecard-border: var(--color-bg-dark-200);--color-notecard-dot-grid: var(--color-red-400);--color-notecard-date: var(--color-text-secondary);--color-notecard-title-underline: var(--color-accent);--color-contentcard-bg: var(--color-brand-white);--color-contentcard-border: var(--color-border);--color-contentcard-article-accent: var(--color-red-500);--color-contentcard-note-accent: var(--color-blue-500);--color-contentcard-toolbox-accent: var(--color-green-500);--color-contentcard-meta: var(--color-text-secondary);--color-contentcard-summary: var(--color-text-primary);--color-pill-bg: var(--color-grey-400);--color-pill-fg: var(--color-grey-500);--color-lightbox-bg: rgba(0, 0, 0, .9);--color-lightbox-close: var(--color-brand-white);--color-callout-default-bg: var(--color-grey-300);--color-callout-red-bg: var(--color-red-300);--color-callout-blue-bg: var(--color-blue-300);--color-callout-green-bg: var(--color-green-300);--color-callout-orange-bg: var(--color-orange-300);--color-callout-yellow-bg: var(--color-yellow-300);--color-callout-purple-bg: var(--color-purple-300);--color-article-bg: var(--color-bg-primary);--color-article-accent: rgb(184, 72, 72);--color-article-horizontal-rule: var(--color-border);--color-article-inline-footnote-bg: var(--color-bg-secondary);--color-article-tasklist-border: var(--color-border);--notion-arrow-color: rgba(255, 255, 255, .6);--notion-underline-color: rgba(0, 0, 0, .15);--notion-arrow-stroke-color: var(--color-brand-white);--notion-hover-opacity: .8;--color-blockquote-citation-text: var(--color-text-secondary);--color-blockquote-citation-author: var(--color-text-primary);--color-blockquote-citation-source: var(--color-accent);--color-blockquote-citation-source-hover: var(--color-link-hover);--color-blockquote-citation-date: var(--color-text-secondary);--color-button-primary-bg: var(--color-accent);--color-button-primary-text: var(--color-brand-white);--color-button-primary-hover-bg: var(--color-link-hover);--color-button-primary-hover-text: var(--color-brand-white);--color-button-secondary-bg: transparent;--color-button-secondary-text: var(--color-accent);--color-button-secondary-border: var(--color-accent);--color-button-secondary-hover-bg: var(--color-accent);--color-button-secondary-hover-text: var(--color-brand-white);--color-button-secondary-hover-border: var(--color-accent);--color-homepage-link-border: var(--color-accent);--color-homepage-link-hover: var(--color-accent);--color-notelist-title-hover: var(--color-accent);--color-notelist-date: var(--color-text-secondary);--color-notelist-border: var(--color-accent);--color-writinglist-title-hover: var(--color-accent);--color-writinglist-date: var(--color-text-secondary);--color-writinglist-border: var(--color-accent);--color-writinglist-platform-label: var(--color-green-700)}:root[data-theme=dark]{color-scheme:dark;--font-weight-prose: 350;--line-height-prose: 1.8;--font-weight-article: 250;--line-height-article: 1.6;--color-bg-primary: var(--color-bg-dark-200);--color-bg-secondary: color-mix(in srgb, var(--color-bg-primary) 70%, black);--color-text-primary: var(--color-brand-beige);--color-text-secondary: var(--color-grey-500);--color-border: rgba(255, 255, 255, .1);--color-link: var(--color-red-400);--color-link-visited: var(--color-purple-500);--color-link-hover: var(--color-red-500);--color-mark-bg: var(--color-yellow-600);--color-strikethrough: rgba(255, 255, 255, 1);--color-abbr-underline: rgba(255, 255, 255, .1);--color-table-border: rgba(255, 255, 255, .1);--color-table-bg: var(--color-bg-secondary);--color-table-header-bg: var(--color-bg-secondary);--prose-link-color: var(--color-link);--prose-link-visited-color: var(--color-link-visited);--prose-link-hover-color: var(--color-link-hover);--color-hamburger-bg: rgba(0, 0, 0, .8);--color-hamburger-text: var(--color-brand-primary);--color-footer-social-hover: rgba(0, 0, 0, .25);--color-notecard-bg: var(--color-bg-secondary);--color-notecard-border: var(--color-accent);--color-notecard-dot-grid: transparent;--color-notecard-date: var(--color-text-secondary);--color-notecard-title-underline: var(--color-accent);--color-contentcard-bg: var(--color-bg-secondary);--color-contentcard-border: var(--color-border);--color-contentcard-article-accent: var(--color-red-500);--color-contentcard-note-accent: var(--color-blue-400);--color-contentcard-toolbox-accent: var(--color-green-400);--color-contentcard-meta: var(--color-text-secondary);--color-contentcard-summary: var(--color-text-primary);--color-pill-bg: var(--color-grey-800);--color-pill-fg: var(--color-grey-400);--color-callout-default-bg: var(--color-grey-800);--color-callout-red-bg: var(--color-red-800);--color-callout-blue-bg: var(--color-blue-800);--color-callout-green-bg: var(--color-green-800);--color-callout-orange-bg: var(--color-orange-800);--color-callout-yellow-bg: var(--color-yellow-800);--color-callout-purple-bg: var(--color-purple-800);--color-article-accent: var(--color-accent);--notion-underline-color: rgba(255, 255, 255, .25);--color-writinglist-platform-label: var(--color-green-500)}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--font-weight-prose: 350;--line-height-prose: 1.8;--font-weight-article: 250;--line-height-article: 1.6;--color-bg-primary: var(--color-bg-dark-200);--color-bg-secondary: color-mix(in srgb, var(--color-bg-primary) 70%, black);--color-text-primary: var(--color-brand-beige);--color-text-secondary: var(--color-grey-500);--color-border: rgba(255, 255, 255, .1);--color-link: var(--color-red-400);--color-link-visited: var(--color-purple-500);--color-link-hover: var(--color-red-500);--color-mark-bg: var(--color-yellow-600);--color-strikethrough: rgba(255, 255, 255, 1);--color-abbr-underline: rgba(255, 255, 255, .1);--color-table-border: rgba(255, 255, 255, .1);--color-table-bg: var(--color-bg-secondary);--color-table-header-bg: var(--color-bg-secondary);--prose-link-color: var(--color-link);--prose-link-visited-color: var(--color-link-visited);--prose-link-hover-color: var(--color-link-hover);--color-hamburger-bg: rgba(0, 0, 0, .8);--color-hamburger-text: var(--color-brand-primary);--color-footer-social-hover: rgba(0, 0, 0, .25);--color-notecard-bg: var(--color-bg-secondary);--color-notecard-border: var(--color-accent);--color-notecard-dot-grid: transparent;--color-notecard-date: var(--color-text-secondary);--color-notecard-title-underline: var(--color-accent);--color-contentcard-bg: var(--color-bg-secondary);--color-contentcard-article-accent: var(--color-red-500);--color-contentcard-note-accent: var(--color-blue-400);--color-contentcard-toolbox-accent: var(--color-green-400);--color-pill-bg: var(--color-grey-800);--color-pill-fg: var(--color-grey-400);--color-callout-default-bg: var(--color-grey-800);--color-callout-red-bg: var(--color-red-800);--color-callout-blue-bg: var(--color-blue-800);--color-callout-green-bg: var(--color-green-800);--color-callout-orange-bg: var(--color-orange-800);--color-callout-yellow-bg: var(--color-yellow-800);--color-callout-purple-bg: var(--color-purple-800);--color-article-accent: var(--color-accent);--notion-underline-color: rgba(255, 255, 255, .25);--color-writinglist-platform-label: var(--color-green-500)}}}.cq{container-type:inline-size}.sr-only,.hidden-microformat{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:is(h1,h2,h3,h4,h5,h6):hover,.icon-link{position:relative}.icon-link{position:absolute;top:0;left:-1.5em;width:1em;height:1em;opacity:0;transition:opacity .2s}.icon-link:before{content:"#";display:block}
