@font-face{font-family:STIX Two Text;font-style:italic;font-weight:400;font-display:swap;src:url(../media/169964a708a16db9-s.141rlqfs0~6ot.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:STIX Two Text;font-style:italic;font-weight:400;font-display:swap;src:url(../media/f73554b76b3968b4-s.0-d-7urrom~ci.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:STIX Two Text;font-style:italic;font-weight:400;font-display:swap;src:url(../media/6a5ee69d6a4389bc-s.0tbl8z6~a1a5..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:STIX Two Text;font-style:italic;font-weight:400;font-display:swap;src:url(../media/844757ee197428ee-s.0rc-p~2v_2tir.woff2)format("woff2");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:STIX Two Text;font-style:italic;font-weight:400;font-display:swap;src:url(../media/5e56e1bd35970baf-s.0gogr1s~ok~7k.woff2)format("woff2");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:STIX Two Text;font-style:italic;font-weight:400;font-display:swap;src:url(../media/a1c7a484c510d19c-s.p.10prj7.q2wt8c.woff2)format("woff2");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:STIX Two Text;font-style:italic;font-weight:500;font-display:swap;src:url(../media/169964a708a16db9-s.141rlqfs0~6ot.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:STIX Two Text;font-style:italic;font-weight:500;font-display:swap;src:url(../media/f73554b76b3968b4-s.0-d-7urrom~ci.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:STIX Two Text;font-style:italic;font-weight:500;font-display:swap;src:url(../media/6a5ee69d6a4389bc-s.0tbl8z6~a1a5..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:STIX Two Text;font-style:italic;font-weight:500;font-display:swap;src:url(../media/844757ee197428ee-s.0rc-p~2v_2tir.woff2)format("woff2");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:STIX Two Text;font-style:italic;font-weight:500;font-display:swap;src:url(../media/5e56e1bd35970baf-s.0gogr1s~ok~7k.woff2)format("woff2");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:STIX Two Text;font-style:italic;font-weight:500;font-display:swap;src:url(../media/a1c7a484c510d19c-s.p.10prj7.q2wt8c.woff2)format("woff2");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:STIX Two Text;font-style:italic;font-weight:600;font-display:swap;src:url(../media/169964a708a16db9-s.141rlqfs0~6ot.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:STIX Two Text;font-style:italic;font-weight:600;font-display:swap;src:url(../media/f73554b76b3968b4-s.0-d-7urrom~ci.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:STIX Two Text;font-style:italic;font-weight:600;font-display:swap;src:url(../media/6a5ee69d6a4389bc-s.0tbl8z6~a1a5..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:STIX Two Text;font-style:italic;font-weight:600;font-display:swap;src:url(../media/844757ee197428ee-s.0rc-p~2v_2tir.woff2)format("woff2");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:STIX Two Text;font-style:italic;font-weight:600;font-display:swap;src:url(../media/5e56e1bd35970baf-s.0gogr1s~ok~7k.woff2)format("woff2");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:STIX Two Text;font-style:italic;font-weight:600;font-display:swap;src:url(../media/a1c7a484c510d19c-s.p.10prj7.q2wt8c.woff2)format("woff2");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:STIX Two Text;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b1d5dad78a0d12b5-s.0wmksmakkl.p5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:400;font-display:swap;src:url(../media/17381594d15ffe51-s.0sg3._y~9a-_p.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f8ed89659f8cd9f4-s.02m7r2d_khdna.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ea20f3f596d3a0b3-s.0jk93xy1yzrso.woff2)format("woff2");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:STIX Two Text;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1995f8c0ebebeccd-s.0x.kiioj.z-iv.woff2)format("woff2");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:STIX Two Text;font-style:normal;font-weight:400;font-display:swap;src:url(../media/62c2ceb5e93c1826-s.p.0-v~mv8_r_vtm.woff2)format("woff2");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:STIX Two Text;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b1d5dad78a0d12b5-s.0wmksmakkl.p5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:500;font-display:swap;src:url(../media/17381594d15ffe51-s.0sg3._y~9a-_p.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f8ed89659f8cd9f4-s.02m7r2d_khdna.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ea20f3f596d3a0b3-s.0jk93xy1yzrso.woff2)format("woff2");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:STIX Two Text;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1995f8c0ebebeccd-s.0x.kiioj.z-iv.woff2)format("woff2");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:STIX Two Text;font-style:normal;font-weight:500;font-display:swap;src:url(../media/62c2ceb5e93c1826-s.p.0-v~mv8_r_vtm.woff2)format("woff2");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:STIX Two Text;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b1d5dad78a0d12b5-s.0wmksmakkl.p5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:600;font-display:swap;src:url(../media/17381594d15ffe51-s.0sg3._y~9a-_p.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f8ed89659f8cd9f4-s.02m7r2d_khdna.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:STIX Two Text;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ea20f3f596d3a0b3-s.0jk93xy1yzrso.woff2)format("woff2");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:STIX Two Text;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1995f8c0ebebeccd-s.0x.kiioj.z-iv.woff2)format("woff2");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:STIX Two Text;font-style:normal;font-weight:600;font-display:swap;src:url(../media/62c2ceb5e93c1826-s.p.0-v~mv8_r_vtm.woff2)format("woff2");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:STIX Two Text Fallback;src:local(Times New Roman);ascent-override:72.67%;descent-override:22.7%;line-gap-override:23.84%;size-adjust:104.86%}.stix_two_text_a0cca1ee-module__ll7hmq__className{font-family:STIX Two Text,STIX Two Text Fallback}.stix_two_text_a0cca1ee-module__ll7hmq__variable{--font-stix-two-text:"STIX Two Text", "STIX Two Text Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d72c019e91ffb82f-s.13p4wivrd1jdu.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8557ac4879842fb9-s.0c55c1p2uepsl.woff2)format("woff2");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-display:swap;src:url(../media/c847346577a98de0-s.0onzgp6v4x1o7.woff2)format("woff2");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-display:swap;src:url(../media/db08d2e20377160a-s.0dy25cxsth5_b.woff2)format("woff2");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-display:swap;src:url(../media/8394f9d71e076efc-s.0ivtmx8_gg.-p.woff2)format("woff2");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-display:swap;src:url(../media/19087af2bdec32b5-s.08sa_orub7ous.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_64235302-module__AE9poG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal;font-weight:400}.jetbrains_mono_64235302-module__AE9poG__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.resize{resize:both}.italic{font-style:italic}}:root{--bg:#fbfaf7;--bg-code:#f4f1ea;--bg-code-inline:#efece4;--ink:#1a1a1a;--ink-soft:#2a2a2a;--muted:#6b6a64;--muted-soft:#908f88;--rule:#e6e1d5;--rule-soft:#ece8dc;--link:#1a1a1a;--link-underline:#c9c3b2;--selection:#e4dfce;--code-fg:#1f1f1f;--code-comment:#8e8a7c;--code-key:#7a2e15;--code-str:#476a2e;--code-num:#8b5a2b;--code-fn:#2b4a7a;--code-tag:#7a2e15;--code-punct:#5c584f;--serif:var(--font-stix-two-text), "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--serif-display:var(--font-stix-two-text), "Iowan Old Style", Palatino, Georgia, serif;--mono:var(--font-jetbrains-mono), "SF Mono", ui-monospace, Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#12120f;--bg-code:#1a1a16;--bg-code-inline:#1f1e1a;--ink:#e8e4d8;--ink-soft:#d4d0c4;--muted:#8a8679;--muted-soft:#5c5a52;--rule:#2a2824;--rule-soft:#1f1e1a;--link:#e8e4d8;--link-underline:#3a3732;--selection:#2a2824;--code-fg:#d8d4c8;--code-comment:#6a6658;--code-key:#d4a373;--code-str:#a3c586;--code-num:#e5b87e;--code-fn:#8fb3d9;--code-tag:#d4a373;--code-punct:#8a8679}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"kern", "liga", "onum";font-size:17px;font-weight:400;line-height:26px}body{min-height:100vh}::selection{background:var(--selection);color:var(--ink)}a{color:var(--link);text-decoration:underline;-webkit-text-decoration-color:var(--link-underline);-webkit-text-decoration-color:var(--link-underline);-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s}a:hover{-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}h1,h2,h3,h4{font-family:var(--serif-display);letter-spacing:-.005em;color:var(--ink);margin:0;font-weight:500}p{text-wrap:pretty;margin:0 0 1em}p:last-child{margin-bottom:0}em{font-style:italic}strong{font-weight:600}hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}.page{min-height:100vh;padding:5rem 1.5rem 8rem}.container{max-width:1100px;margin:0 auto}.col{max-width:620px;margin:0 auto}.reading{max-width:620px;margin:0 auto;position:relative}.reading .body{min-width:0}.reading .margin{width:260px;margin-left:3rem;position:absolute;top:0;left:100%}@media (max-width:960px){.reading .margin{display:none}}.hero{margin-bottom:1.25rem}.hero-name{letter-spacing:-.005em;font-feature-settings:"kern", "liga", "onum";margin:0;font-size:24px;font-weight:500;line-height:24px}.section-title{margin-bottom:1rem;font-size:24px;font-weight:500;line-height:24px}.writing-list{margin:0;padding:0;list-style:none}.writing-list li{border-bottom:1px dotted var(--rule);justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0;display:flex}.writing-list li:last-child{border:0}.writing-list a{color:var(--ink);text-decoration:none}.writing-list a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--link-underline);-webkit-text-decoration-color:var(--link-underline);-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline)}.writing-list .date{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px}.post-title{letter-spacing:-.01em;margin-bottom:.4rem;font-size:34px;font-weight:600;line-height:1.15}.post-meta{color:var(--muted);margin-bottom:2.5rem;font-size:16px}.post h2{margin-top:2.5rem;margin-bottom:1rem;font-size:22px}.post h3{margin-top:2rem;margin-bottom:.75rem;font-size:19px}.post p{margin-bottom:1em}.post ul,.post ol{margin:1rem 0;padding-left:1.25rem}.post ul{list-style:none}.post ul li{margin-bottom:.5rem;position:relative}.post ul li:before{content:"·";color:var(--muted-soft);position:absolute;left:-1rem}.post ol li{margin-bottom:.5rem}.post blockquote,.post>blockquote,blockquote{border-left:2px solid var(--rule);color:var(--muted);margin:1.5rem 0;padding-left:1.25rem;font-style:italic}.sidenote-ref{font-family:var(--serif);font-variant-numeric:oldstyle-nums;vertical-align:super;color:var(--ink);cursor:help;margin-left:1px;font-size:.75em;line-height:0}.sidenote{width:260px;color:var(--muted);font-size:15px;line-height:1.5;font-family:var(--serif);position:absolute;left:0}.sidenote .num{vertical-align:super;margin-right:2px;font-size:.75em;line-height:0}.sidenote-inline{display:none}@media (max-width:900px){.sidenote-inline{border-left:2px solid var(--rule);color:var(--muted);margin:.75rem 0 1.25rem 1rem;padding-left:1rem;font-size:16px;line-height:1.5;display:block}}code{font-family:var(--mono);background:var(--bg-code-inline);color:var(--ink);border-radius:3px;padding:.08em .35em;font-size:.85em}.codeblock{background:var(--bg-code);border:1px solid var(--rule);font-family:var(--mono);border-radius:6px;margin:1.5rem 0;font-size:13.5px;line-height:1.6;overflow:hidden}.codeblock-head{border-bottom:1px solid var(--rule);background:var(--bg-code);justify-content:space-between;align-items:center;padding:.45rem .9rem;display:flex}@supports (color:color-mix(in lab, red, red)){.codeblock-head{background:color-mix(in oklab, var(--bg-code) 60%, var(--bg))}}.codeblock-head{color:var(--muted);font-size:12.5px;font-family:var(--mono)}.codeblock-file{align-items:center;gap:.4rem;display:flex}.codeblock-dots{gap:4px;margin-right:.3rem;display:inline-flex}.codeblock-dots span{background:var(--rule);border-radius:50%;width:8px;height:8px}.copybtn{color:var(--muted);font-family:var(--mono);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:2px 6px;font-size:12px;transition:color .15s,background .15s}.copybtn:hover{color:var(--ink);background:var(--bg)}.copybtn.copied{color:#476a2e}.codeblock pre{color:var(--code-fg);-moz-tab-size:2;tab-size:2;margin:0;padding:1rem 1.1rem;overflow-x:auto}.codeblock pre code{font-size:inherit;color:inherit;background:0 0;padding:0}.tok-c{color:var(--code-comment);font-style:italic}.tok-k{color:var(--code-key)}.tok-s{color:var(--code-str)}.tok-n{color:var(--code-num)}.tok-f{color:var(--code-fn)}.tok-t{color:var(--code-tag)}.tok-p{color:var(--code-punct)}.project-item{border-bottom:1px solid var(--rule);padding:1rem 0}.project-item:last-child{border-bottom:0}.project-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.project-name{font-size:18px;font-weight:600}.project-meta{color:var(--muted);font-size:14px;font-family:var(--mono)}.project-desc{color:var(--muted);margin-top:.25rem;font-size:17px}.shelf{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:2rem 1.5rem;margin-top:1.5rem;display:grid}.book{flex-direction:column;gap:.5rem;display:flex}.book-cover{aspect-ratio:2/3;background:var(--bg-code);color:#fff;font-family:var(--serif);border-radius:3px;flex-direction:column;justify-content:space-between;padding:1rem .85rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000014,0 4px 16px #0000000f,inset 1px 0 #0000000d,inset -1px 0 #0000000d}.book-cover:before{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 45%,#ffffff14 50%,#0000 55%);position:absolute;inset:0}.book-cover:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0000001a,0 8px 24px #00000014}.book-cover .title{letter-spacing:-.005em;font-size:15px;font-weight:600;line-height:1.2}.book-cover .author{opacity:.75;font-size:12px;font-style:italic}.book-meta{color:var(--muted);font-size:13px;line-height:1.3}.book-meta .t{color:var(--ink);font-weight:500;display:block}.book-meta .a{font-style:italic;display:block}.shelf-section-title{font-size:13px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule);margin-top:3rem;margin-bottom:.5rem;padding-bottom:.4rem}.shelf-section-title:first-of-type{margin-top:0}.muted{color:var(--muted)}.small{font-size:15px}.mono{font-family:var(--mono)}.page-enter{animation:.3s fadein}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
