@import "https://fonts.googleapis.com/css2?family=Averia+Libre:ital,wght@0,400;0,700;1,400;1,700&family=Averia+Serif+Libre:ital,wght@0,300;0,700;1,300;1,700&family=Caveat&family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&family=Spectral:ital,wght@0,300;0,600;1,300;1,600&display=swap&family=Noto+Sans+Symbols+2&display=swap";*,:before,:after{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:before,:after{--un-content:""}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-greek-400-normal.woff2)format("woff2"),url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-greek-400-normal.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:JetBrains Mono;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-latin-400-normal.woff2)format("woff2"),url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-latin-400-normal.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:JetBrains Mono;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-cyrillic-400-normal.woff2)format("woff2"),url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-cyrillic-400-normal.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-latin-ext-400-normal.woff2)format("woff2"),url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-latin-ext-400-normal.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:JetBrains Mono;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-vietnamese-400-normal.woff2)format("woff2"),url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-vietnamese-400-normal.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:JetBrains Mono;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-cyrillic-ext-400-normal.woff2)format("woff2"),url(https://fonts.bunny.net/jetbrains-mono/files/jetbrains-mono-cyrillic-ext-400-normal.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:Beth Ellen;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.bunny.net/beth-ellen/files/beth-ellen-latin-400-normal.woff2)format("woff2"),url(https://fonts.bunny.net/beth-ellen/files/beth-ellen-latin-400-normal.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:Lacquer;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.bunny.net/lacquer/files/lacquer-latin-400-normal.woff2)format("woff2"),url(https://fonts.bunny.net/lacquer/files/lacquer-latin-400-normal.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}*,:before,:after,::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.my{margin-top:1rem;margin-bottom:1rem}.me{margin-inline-end:1rem}.\!inline{display:inline!important}.inline{display:inline}.block{display:block}:where(html){-webkit-text-size-adjust:100%;text-size-adjust:100%;line-height:1.15}:where(h1){margin-block:.67em;font-size:2em}:where(dl,ol,ul) :where(dl,ol,ul){margin-block:0}:where(hr){box-sizing:content-box;color:inherit;height:0}:where(abbr[title]){text-decoration:underline dotted}:where(b,strong){font-weight:bolder}:where(code,kbd,pre,samp){font-family:monospace;font-size:1em}:where(small){font-size:80%}:where(table){text-indent:0;border-color:currentColor}:where(button,input,select){margin:0}:where(button){text-transform:none}:where(button,input:is([type=button i],[type=reset i],[type=submit i])){-webkit-appearance:button}:where(progress){vertical-align:baseline}:where(select){text-transform:none}:where(textarea){margin:0}:where(input[type=search i]){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focus-inner{border-style:none;padding:0}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focusring{outline:1px dotted buttontext}:where(:-moz-ui-invalid){box-shadow:none}:where(dialog){color:#000;background-color:#fff;border:solid;width:fit-content;height:fit-content;margin:auto;padding:1em;position:absolute;left:0;right:0}:where(dialog:not([open])){display:none}:where(summary){display:list-item}*{box-sizing:border-box;margin:0;padding:0}:root{--fg:#0e0e0e;--bg:#fefefe;--form-bg:#fbfbfb;--form-fg:#00004d;--form-fg-placeholder:#00004d9a}@media (prefers-color-scheme:dark){:root{--fg:#fefefe;--bg:#0e0e0e;--form-bg:#1a1a1a;--form-fg:#fefefe;--form-fg-placeholder:#fefefe9a}}html{box-sizing:border-box;font-size:62.5%}@media (width<=600px){html{font-size:56%}}body{background-color:var(--bg);color:var(--fg);counter-reset:sidenote-counter;font-family:Averia Serif Libre,serif;font-size:1.8rem;font-style:normal;font-weight:300;line-height:2.2rem}article,main{width:100%;max-width:76rem;margin:auto;padding:0 1rem;position:relative}@media (width<=600px){article,main{padding:0 .2rem}}header,section,footer{margin:.7rem;padding:.7rem}@media (width<=600px){header,section,footer{margin-top:.2rem;margin-bottom:.2rem}}header>:last-child,section>:last-child,footer>:last-child{margin-bottom:0}@media (width<=600px){header{margin:0;padding:1.2rem}}footer{text-align:center;margin-top:5rem;margin-bottom:2rem}p{margin:1.6rem 0}a{color:var(--fg)}b,strong{font-weight:600}i,em{font-size:calc(1em + .1rem)}h1,h2,h3,h4{color:var(--fg);margin:1.6rem 0;font-family:Averia Libre,cursive;font-style:normal;font-weight:600}h1{text-transform:uppercase;font-size:3.6rem;line-height:3.3rem}h2{text-transform:uppercase;margin:1.2rem 0;font-size:2.25rem}h3{font-size:2.025rem}h3:before{content:"🙛 ";font-family:"Noto Sans Symbols 2",sans-serif}h4{font-size:2.025rem;font-style:italic}header h1{color:var(--fg);text-align:center;margin-bottom:1rem;padding:4rem 0 1.2rem;font-size:4rem}header h1:before,header h1:after{content:"✦";color:var(--fg);vertical-align:middle;padding:0 .5rem;font-size:1.5rem}header nav ul{text-align:center;margin-top:1rem;padding-inline-start:0;list-style-type:none}header nav ul li{margin:0 1.2rem;display:inline}header nav ul li a{color:var(--fg);text-decoration:none}header nav ul li a:before{content:"❯ ";opacity:0}header nav ul li a:hover:before{opacity:1}:where(main ol,main ul){margin-inline-start:0;margin:.8rem 0;padding-inline-start:3rem}dl{margin:.8rem 0}dd{margin:0 1.6rem}img{max-width:100%;height:auto;margin:.8rem 0}figure img{margin:0;padding:0}figure{text-align:center;margin:2rem 0;padding:0}figure *{margin-left:auto;margin-right:auto}figure code,figure pre{text-align:left}figcaption{margin:.8rem 0;font-size:1.8rem}form{background-color:var(--form-bg);grid-template-columns:1fr 1fr;gap:10px;margin:.8rem 0;padding:1rem;display:grid;box-shadow:0 0 10px #0000001a}form input[type=email],form input[type=number],form input[type=password],form input[type=search],form input[type=tel],form input[type=text],form input[type=url],form label,form fieldset,form textarea{grid-column:span 2}form input,form button,form textarea{resize:vertical;width:100%}input[type=radio],input[type=checkbox]{width:auto;margin-right:.5rem}input[type=radio]+label,input[type=checkbox]+label{margin-right:2rem}input[type=radio]:disabled+label,input[type=checkbox]:disabled+label{opacity:.5;text-decoration:line-through}input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;box-sizing:inherit;color:var(--form-fg);border:none;border-bottom:1px solid var(--fg);caret-color:var(--form-fg);background-color:#0000;border-radius:0;margin-bottom:1.6rem;padding:.4rem 1rem;font-family:Caveat,cursive;font-size:2.6rem}input[type=email]:disabled,input[type=number]:disabled,input[type=password]:disabled,input[type=search]:disabled,input[type=tel]:disabled,input[type=text]:disabled,input[type=url]:disabled,textarea:disabled,select:disabled{border-bottom:1px dashed var(--fg);text-decoration:line-through}input::placeholder,textarea::placeholder{color:var(--form-fg-placeholder)}input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,textarea:focus,select:focus{border-bottom:2px solid var(--fg);outline:none;margin-bottom:calc(1.6rem - 1px)}button,input[type=button],input[type=reset],input[type=submit]{color:var(--fg);border:1px solid var(--fg);cursor:pointer;background-color:#0000;margin-top:1.6rem;padding:10px}fieldset{border:1px solid var(--fg);width:fit-content}form fieldset{width:100%}button:disabled,input[type=button]:disabled,input[type=reset]:disabled,input[type=submit]:disabled{opacity:.5;cursor:not-allowed;border-style:dashed;text-decoration:line-through}table{border-spacing:0}td,th{padding:.4rem 1rem}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}th{border-bottom:2px solid var(--fg);text-align:left}blockquote{width:fit-content;max-width:80%;margin:2rem auto;padding:1rem 1.6rem;overflow-y:hidden}blockquote p{margin:2.1rem 0;font-family:Spectral,serif;font-size:2.1rem;font-style:italic;font-weight:300;line-height:2.4rem}blockquote footer{float:right;text-align:right;width:55%;margin:0;padding:0;font-family:Spectral,serif;font-size:1.4rem;font-style:normal}blockquote footer cite{font-style:italic}pre:has(code){border-top:2px solid var(--fg);border-bottom:2px solid var(--fg);margin:1.6rem 0;padding:1rem 1.6rem;font-family:Courier Prime,monospace;font-size:1.6rem;overflow-y:hidden}code{font-family:Courier Prime,monospace;font-size:1.6rem}pre .line-number{float:left;text-align:right;border-right:1px solid;margin:0 1.5rem 0 -1.5rem}pre .line-number span{padding:0 .8rem 0 1.6rem;display:block}.sidenote,aside{float:right;clear:right;border-left:3px solid var(--fg);width:40%;margin:1rem 1rem 1rem 3rem;padding:.5rem .5rem .5rem 2rem;font-size:1.4rem;line-height:1.3}aside h1,aside h2,aside h3,aside h4{margin-top:0}@media (width>=1160px){.sidenote{--distance-from-main:3rem;--self-width:min(calc((100vw - 760px)/2 - (var(--distance-from-main))), 40%);width:var(--self-width);margin:0;margin-right:calc(calc(var(--self-width) + var(--distance-from-main)) * -1);border:none;padding:0}}.sidenote-anchor{counter-increment:sidenote-counter}.sidenote-anchor:after,.sidenote:before{font-family:Spectral,serif;font-size:1.3rem;position:relative}.sidenote-anchor:after{content:counter(sidenote-counter);top:-.5rem;left:.1rem}.sidenote:before{content:counter(sidenote-counter) " ";top:-.5rem}@font-face{font-family:Nymphette;src:url(/assets/fonts/Nymphette-webfont.woff)format("woff");font-weight:400;font-style:normal}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}*{line-height:1.2em;animation:.2s linear fadeIn}@media (prefers-color-scheme:dark){.line-work img{padding:5px}.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}header{margin-top:3rem;margin-bottom:2rem}section{margin:0;padding:0}code,pre,kbd,samp,pre:has(code){font-family:JetBrains Mono,monospace!important}input[typ=email],input[type=number],inut[type=password],input[type=serch],input[type=tel],input[typ=text],input[type=url],textara,select{font-family:Beth Ellen,cursive}kbd{background-color:var(--soft-pink);color:#000;text-align:center;border-radius:.25rem;min-width:1.25ch;margin:0 .15rem;padding:0 .25rem;font-size:1.5rem;line-height:normal;display:inline-block}a,button,[role=button]{text-decoration:underline}a:hover,button:hover,[role=button]:hover{text-decoration:none}.cell ul.icons li a svg{filter:invert()}.cursive{font-family:Beth Ellen,cursive}:root{--red:#f21332;--orange:#f27225;--pink:#e20b88;--yellow:#f2ad24;--green:#00b249;--blue:#1844b5;--purple:#a033b3;--form-fg-placeholder:#fad2e1;--soft-pink:#fad2e1;--soft-purple:#ccf;--default-border:3px solid var(--fg);--soft-fg:#8c92ac}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}.main-grid{grid-column-gap:10px;grid-row-gap:10px;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(6,1fr);display:grid}.cell{padding:2rem 1rem 0;line-height:1em}.cell1{grid-area:1/5/4/7}.cell2{grid-area:1/1/4/5}.cell3{grid-area:4/1/5/3}.cell4{grid-area:4/1/5/5;padding:0}.cell5{grid-area:4/3/5/7}.cell-title,.bc{color:var(--soft-fg);text-transform:lowercase;font-family:Beth Ellen,cursive}.cell h1{margin-top:0;margin-bottom:3rem}.cell h2{margin-top:.5rem;margin-bottom:0}.cell ol,.cell ul{margin-inline-start:0;margin:.8rem 0;padding-inline-start:1.5rem}.line-work{flex-direction:column;align-items:center;display:flex}ul{list-style-type:"✦";list-style-position:outside}li{padding-left:1rem}ul.bl{list-style-position:inside}ul.bl li{padding:0}ul.bl li a{padding-left:1rem}footer a{animation:none}a[target=_blank]:after{content:" ❐"}.cell ul.icons{margin-bottom:0;padding-inline-start:0;list-style-type:none}.cell ul.icons li{min-width:120px;padding-left:0;display:inline-block}.cell ul.icons li a{text-decoration:none}.cell ul.icons li a:hover{color:var(--soft-fg)}.cell ul.icons li a svg{display:inline-block}.cell ul.icons li a:hover svg{filter:invert(66%)sepia(14%)saturate(510%)hue-rotate(191deg)brightness(87%)contrast(83%)}header h1{text-transform:lowercase;font-size:5rem}header h1 a{text-decoration:none;animation:none}header h1 a:hover{text-decoration:underline}@media screen and (width<=768px){header{padding:0}header h1{margin:0;padding:0}.main-grid{grid-template-rows:1fr;grid-template-columns:1fr}.cell{padding:2rem}.cell1,.cell2,.cell3,.cell4,.cell5{grid-area:auto}.cell1{place-content:center;display:flex}.cell1 img{height:50vh;margin:0}.series-intro-content aside{min-width:200px!important}.note-header,.note-content p,.note-content h1,.note-content h2,.note-content h3,.note-content h4,.note-content h5,.note-content h6,.note-content ul,.note-content ol,pre{padding-left:2rem;padding-right:2rem}.note-header{margin-left:0;margin-right:0}}article{margin-bottom:8rem;padding-left:0!important;padding-right:0!important}footer{margin-top:3rem;padding:0;font-size:1.5rem}article ul{margin-left:2rem}article>ul{margin-left:3rem}article h2{margin-top:4rem}article hr{color:var(--soft-fg);margin-top:2rem}.katex-html{display:none}.date{font-size:.8em;font-style:italic}.badge{color:#000;border-radius:.25rem;margin:0;padding:.25rem .5rem;font-size:.8rem;position:relative;top:-.5rem}.badge.badge-wip{background-color:var(--soft-pink)}.badge.badge-done{background-color:var(--soft-purple)}.block{background-color:--var(--fg);font-size:.75em;line-height:1.5em}.block article{margin-bottom:0}.block article p{margin:0}.block h3{margin-bottom:5px;font-size:1.5em}blockquote p{font-family:Lacquer,Spectral,serif}.series-intro{background-color:var(--fg);color:var(--bg);margin:1.5em 0 1em;padding:1em}.series-intro:hover{cursor:pointer;animation:50s linear infinite rainbow-bg}.series-intro:hover a{animation:none}.series-intro a,.series-intro h1,.series-intro h2,.series-intro h3,.series-intro h4,.series-intro h5,.series-intro h6{color:var(--bg);text-decoration-color:var(--bg)}.series-intro h2{font-size:1.5em}.series-intro ol{margin-left:2em;list-style:upper-hexadecimal}.series-intro ol li{padding:0}.series-intro-content{flex-flow:row;margin-bottom:.5em;display:flex}.series-intro-content aside{border-left-color:var(--bg);float:none;clear:none;min-width:300px;display:block}.series-intro-content div{display:block}.series-intro a:hover{color:var(--bg)}.note-header h1{margin:1.5rem 0 .5rem;font-size:5rem;line-height:5rem}.caption{font-size:1.2rem;font-style:italic}
