@font-face{font-family:"Enchanted Land";font-display:block;font-style:normal;font-weight:400;src:url("/assets/fonts/EnchantedLand.woff2") format("woff2")}@font-face{font-family:"Open Sauce One";font-display:swap;font-style:normal;font-weight:400;src:url("https://cdn.jsdelivr.net/fontsource/fonts/open-sauce-one@latest/latin-400-normal.woff2") format("woff2")}@font-face{font-family:"Open Sauce One";font-display:swap;font-style:normal;font-weight:500;src:url("https://cdn.jsdelivr.net/fontsource/fonts/open-sauce-one@latest/latin-500-normal.woff2") format("woff2")}:root{--background-color: #fff;--text-color: #1a1a1a;--link-color: #1a1a1a;--grey-color: #6b6450;--grey-color-light: rgba(0, 0, 0, 0.08);--grey-color-dark: #3a3a3a;--letter-bg: rgba(255, 255, 255, 0.92);--letter-shadow: rgba(0, 0, 0, 0.08);--letter-border: rgba(0, 0, 0, 0.12);--ink-muted: #6b6450;--ink-faint: rgba(26, 26, 26, 0.6);--surface-dark: transparent;--surface-darker: transparent;--spacing-unit: 30px;--content-width: 640px;--base-font-size: 20px;--small-font-size: 17.5px;--base-line-height: 1.6;--highlight-bg: rgba(0, 0, 0, 0.04);--highlight-rouge-bg: rgba(0, 0, 0, 0.05);--syntax-comment: #78716c;--syntax-error: #b91c1c;--syntax-error-bg: rgba(185, 28, 28, 0.08);--syntax-keyword: #92400e;--syntax-operator: #1a1a1a;--syntax-number: #9a3412;--syntax-string: #166534;--syntax-name-attr: #6b21a8;--syntax-name-builtin: #1a1a1a;--syntax-name-class: #1d4ed8;--syntax-name-function: #1d4ed8;--syntax-name-namespace: #78716c;--syntax-name-tag: #1d4ed8;--syntax-name-variable: #1a1a1a}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{font:400 20px/1.6 "Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;color:#1a1a1a;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;display:flex;min-height:100vh;flex-direction:column}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure,.highlight{margin-bottom:calc(var(--spacing-unit) / 4)}main{display:block}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:17.5px}ul,ol{margin-left:calc(var(--spacing-unit) / 2)}li>ul,li>ol{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-weight:400}blockquote{color:#6b6450;border-left:4px solid rgba(0,0,0,0.08);padding-left:calc(var(--spacing-unit) / 2);font-size:18px;letter-spacing:-1px;font-style:italic}blockquote>:last-child{margin-bottom:0}pre,code{font-size:18.75px;border:1px solid var(--letter-border);border-radius:3px;background-color:rgba(0,0,0,0.04);color:var(--text-color)}code{padding:1px 5px}pre{padding:8px 12px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0}.wrapper{max-width:-webkit-calc(640px - (30px));max-width:calc(640px - (30px));margin-right:auto;margin-left:auto;padding-right:calc(var(--spacing-unit) / 2);padding-left:calc(var(--spacing-unit) / 2)}@media screen and (min-width: 800px){.wrapper{max-width:-webkit-calc(640px - (30px * 2));max-width:calc(640px - (30px * 2));padding-right:30px;padding-left:30px}}.wrapper:after,.footer-col-wrapper:after{content:"";display:table;clear:both}.grey{color:#6b6450}.svg-icon{width:16px;height:16px;display:inline-block;fill:currentColor;padding:5px 3px 2px 5px;vertical-align:text-bottom}a{color:var(--link-color);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.18em}a:visited{color:var(--link-color)}a:hover{color:var(--link-color);text-decoration:underline}table{margin-bottom:var(--spacing-unit);width:100%;text-align:left;color:var(--text-color);border-collapse:collapse;border:1px solid var(--grey-color-light)}table tr:nth-child(even){background-color:var(--grey-color-light)}table th,table td{padding:calc(var(--spacing-unit) / 3) calc(var(--spacing-unit) / 2)}table th{background-color:var(--grey-color-light);border:1px solid var(--grey-color-light);border-bottom-color:var(--grey-color-dark)}table td{border:1px solid var(--grey-color-light)}.site-header{border-top:0;border-bottom:1px solid var(--letter-border);position:sticky;top:0;z-index:20;background:var(--letter-bg);color:var(--text-color);backdrop-filter:blur(7px)}.site-header__inner{display:flex;flex-direction:column;align-items:center;gap:0.6rem;padding-top:1rem;padding-bottom:1rem}.site-title{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-size:1.15rem;color:var(--link-color);font-weight:500;letter-spacing:0;line-height:1;margin:0;min-width:max-content;text-decoration:none;text-transform:none}.site-title:visited,.site-title:hover{color:var(--link-color);text-decoration:none}.site-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0.4rem 1.4rem;margin-left:0}.site-nav .page-link{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-size:17px;color:var(--link-color);font-weight:500;letter-spacing:0;line-height:1.4;text-decoration:none;text-decoration-thickness:2px;text-underline-offset:0.35em;text-transform:none;white-space:nowrap;transition:text-decoration-color 160ms ease}.site-nav .page-link:visited{color:var(--link-color)}.site-nav .page-link:hover{color:var(--link-color);text-decoration-line:underline}.site-nav .page-link.is-active{text-decoration-line:underline}@media screen and (max-width: 600px){.site-header{position:static}}.site-footer{border-top:1px solid var(--letter-border);color:var(--ink-muted);padding:30px 0}.footer-heading{font-size:15px;letter-spacing:0.06em;margin-bottom:0;text-transform:uppercase}.contact-list,.social-media-list{list-style:none;margin-left:0}.footer-col-wrapper{font-size:15px;color:var(--ink-muted);margin-left:calc(-30px / 2)}.footer-col{width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2));margin-bottom:calc(30px / 2);padding-left:calc(30px / 2)}.footer-col-1,.footer-col-2{width:-webkit-calc(50% - (30px / 2));width:calc(50% - (30px / 2))}.footer-col-3{width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}@media screen and (min-width: 800px){.footer-col-1{width:-webkit-calc(35% - (30px / 2));width:calc(35% - (30px / 2))}.footer-col-2{width:-webkit-calc(20% - (30px / 2));width:calc(20% - (30px / 2))}.footer-col-3{width:-webkit-calc(45% - (30px / 2));width:calc(45% - (30px / 2))}}@media screen and (min-width: 600px){.footer-col{float:left}}.page-content{flex:1 0 auto;padding:45px 0}@media screen and (max-width: 600px){.page-content{padding:0}}@media screen and (max-width: 600px){body:not(.layout-post) .page-content{padding-top:18px}}.page-heading{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-size:36px;color:var(--text-color);font-weight:500;letter-spacing:0;line-height:1.1}.post-list-heading{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-size:25px;color:var(--text-color);font-weight:500}.post-list{list-style:none;margin-left:0}.post-list>li{border-bottom:1px solid var(--letter-border);margin-bottom:0;padding:0.72rem 0}@media screen and (max-width: 600px){.post-list>li{padding:0.55rem 0}.post-list .post-link{font-family:"Open Sauce One", Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:15px;font-weight:500;line-height:1.35}.post-list .post-meta{font-family:"Open Sauce One", Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:13px;line-height:1.35}}.booksummaries{font-family:"Open Sauce One", Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}@media screen and (max-width: 600px){.booksummaries{font-size:15px;line-height:22px;font-weight:500}.booksummaries>p{margin-bottom:14px}}.post-meta{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;color:var(--ink-muted);font-size:17.5px;font-weight:400;letter-spacing:0}.post-link{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-size:20px;color:var(--link-color);font-weight:500;text-decoration:none}.post-link:visited,.post-link:hover{color:var(--link-color)}.post-link:hover{text-decoration:underline;text-decoration-thickness:1px}.letter-container{display:flex;justify-content:center;min-height:60vh;padding:30px 0}@media screen and (max-width: 600px){.letter-container{padding:0;min-height:0}}.letter-paper{border:1px solid var(--letter-border);border-radius:4px;box-shadow:0 12px 40px var(--letter-shadow);margin:0 30px;max-width:640px;padding:45px;position:relative;width:100%}@media screen and (max-width: 600px){.letter-paper{border:0;border-radius:0;box-shadow:none;margin:0;padding:18px 16px}}@media screen and (max-width: 480px){.letter-paper{margin:0;padding:16px 14px}}.letter-paper .post{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;line-height:1.7;position:relative;z-index:1}.letter-paper .post-title{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-weight:600;letter-spacing:-0.02em;margin-bottom:calc(30px / 2);text-align:left}.letter-paper .post-meta{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;color:var(--ink-muted);font-size:17.5px;font-style:normal;font-weight:400;letter-spacing:0;margin-bottom:30px}.letter-paper .post-content{font-size:20px;font-family:"Open Sauce One", Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.letter-paper .post-content p{margin-bottom:24px;text-align:left}.letter-paper .post-content h1,.letter-paper .post-content h2,.letter-paper .post-content h3,.letter-paper .post-content h4,.letter-paper .post-content h5,.letter-paper .post-content h6{font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-weight:600;margin-bottom:calc(30px / 2);margin-top:30px}@media screen and (max-width: 600px){.letter-paper .post-content{font-size:15px;line-height:22px;font-weight:500;text-wrap:pretty;hyphens:manual;orphans:2;widows:2;margin-bottom:0}.letter-paper .post-content p{margin-bottom:14px}.letter-paper .post-content ul,.letter-paper .post-content ol{margin-bottom:14px;padding-left:1.25em;margin-left:0}.letter-paper .post-content li{margin-bottom:6px;line-height:21px}.letter-paper .post-content h1,.letter-paper .post-content h2,.letter-paper .post-content h3,.letter-paper .post-content h4,.letter-paper .post-content h5,.letter-paper .post-content h6{margin-top:22px;margin-bottom:8px;line-height:1.25}}.letter-paper .post-content blockquote{background:rgba(0,0,0,0.04);border-left:4px solid var(--grey-color);color:var(--ink-faint);font-style:italic;margin:30px 0;padding:calc(30px / 2)}.letter-paper .post-content blockquote p:last-child{margin-bottom:0}.letter-paper .post-content code{background-color:rgba(0,0,0,0.05);border-color:var(--letter-border);border-radius:3px;color:var(--text-color);font-size:17.5px;padding:2px 4px}.letter-paper .post-content pre{background-color:rgba(0,0,0,0.04);border:1px solid var(--letter-border);border-radius:5px;margin:calc(30px / 2) 0;overflow-x:auto;padding:calc(30px / 2)}.post-header{margin-bottom:30px}.post-title,.post-content h1{font-size:52px;color:var(--text-color);font-weight:700;letter-spacing:-0.045em;line-height:1.05}@media screen and (min-width: 800px){.post-title,.post-content h1{font-size:56px}}.post-content{margin-bottom:30px;font-family:"Open Sauce One", Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.post-content ul,.post-content ol{margin-bottom:calc(30px / 2);margin-left:0;padding-left:1.5em;list-style-position:outside}.post-content li{margin-bottom:0.25rem;padding-left:0.25em}.post-content h2{font-size:30px}.post-content h3{font-size:25px}.post-content h4{font-size:22.5px}@media screen and (max-width: 600px){.post-content{font-size:15px;line-height:22px;font-weight:500;text-wrap:pretty;hyphens:manual;orphans:2;widows:2}.post-content p{margin-bottom:14px}.post-content ul,.post-content ol{margin-bottom:14px;padding-left:1.25em}.post-content li{margin-bottom:6px;padding-left:0.15em;line-height:21px}.post-content h2,.post-content h3,.post-content h4{margin-top:22px;margin-bottom:8px;line-height:1.25}}.social-media-list{display:table;margin:0 auto}.social-media-list li{float:left;margin:0 5px}.social-media-list li:first-of-type{margin-left:0}.social-media-list li:last-of-type{margin-right:0}.social-media-list li a{border:1px solid var(--letter-border);display:block;padding:calc(30px / 4)}.social-media-list li:hover .svg-icon{fill:currentColor}.layout-home,.layout-home body{overflow:hidden}.home-content{display:flex;flex:1 0 auto;min-height:100vh;min-height:100dvh;overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.home-portal{--home-frame-width: min(24rem, calc(100% - 2rem));--home-tile-gap: clamp(0.6rem, 1.2vw, 1rem);--home-stack-gap: clamp(0.5rem, 1.1vw, 1rem);--home-nav-font: clamp(1rem, 1.5vw, 1.5rem);box-sizing:border-box;color:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--home-stack-gap);height:100vh;height:100dvh;overflow:hidden;padding:clamp(0.75rem, 2vw, 1.25rem) clamp(1rem, 3vw, 2rem);position:relative;width:100%;background:#fff}.home-portal__title{font-family:"Work Sans","Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif,sans-serif;font-weight:500;font-size:var(--home-nav-font);line-height:1;letter-spacing:0;margin:0;color:#000;text-align:center}.home-portal__nav{width:var(--home-frame-width);font-family:"Work Sans","Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif,sans-serif;font-weight:500;font-size:var(--home-nav-font);line-height:1}.home-portal__nav a{color:#000;text-decoration:none}.home-portal__nav a:hover,.home-portal__nav a:focus-visible{text-decoration:underline;text-underline-offset:0.25em;text-decoration-thickness:1px;color:#000}.home-portal__nav--top{display:grid;grid-template-columns:1fr 1fr;gap:var(--home-tile-gap)}.home-portal__nav-col{display:flex;justify-content:space-between}.home-portal__nav--bottom{display:flex;justify-content:space-between}.home-portal__grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));grid-auto-rows:1fr;gap:var(--home-tile-gap);width:var(--home-frame-width);flex:0 1 auto;min-height:0}.home-portal__tile{border:1px solid #000;overflow:hidden;aspect-ratio:212 / 226;background:#fff}.home-portal__tile img{display:block;width:100%;height:100%;object-fit:cover}@media screen and (max-width: 600px){.home-portal{--home-nav-font: 1rem;--home-tile-gap: 0.6rem;--home-stack-gap: 0.65rem;padding:0.75rem 0.9rem}.home-portal__grid,.home-portal__nav,.home-portal__title{width:100%}}.one-half{width:-webkit-calc(50% - (30px / 2));width:calc(50% - (30px / 2))}.highlight{background:var(--highlight-bg)}.highlighter-rouge .highlight{background:var(--highlight-rouge-bg)}.highlight .c{color:var(--syntax-comment);font-style:italic}.highlight .err{color:var(--syntax-error);background-color:var(--syntax-error-bg, transparent)}.highlight .k{color:var(--syntax-keyword);font-weight:bold}.highlight .o{color:var(--syntax-operator);font-weight:bold}.highlight .cm{color:var(--syntax-comment);font-style:italic}.highlight .cp{color:var(--syntax-comment);font-weight:bold}.highlight .c1{color:var(--syntax-comment);font-style:italic}.highlight .cs{color:var(--syntax-comment);font-weight:bold;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{font-weight:bold}.highlight .kd{font-weight:bold}.highlight .kp{font-weight:bold}.highlight .kr{font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:var(--syntax-number)}.highlight .s{color:var(--syntax-string)}.highlight .na{color:var(--syntax-name-attr)}.highlight .nb{color:var(--syntax-name-builtin)}.highlight .nc{color:var(--syntax-name-class);font-weight:bold}.highlight .no{color:var(--syntax-name-variable)}.highlight .ni{color:purple}.highlight .ne{color:var(--syntax-name-function);font-weight:bold}.highlight .nf{color:var(--syntax-name-function);font-weight:bold}.highlight .nn{color:var(--syntax-name-namespace)}.highlight .nt{color:var(--syntax-name-tag)}.highlight .nv{color:var(--syntax-name-variable)}.highlight .ow{font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}html{background-color:var(--background-color)}body{background:transparent;color:var(--text-color)}table{text-align:left;color:var(--text-color);border-color:var(--grey-color-light)}table th{background-color:var(--grey-color-light)}table tr:nth-child(even){background-color:var(--grey-color-light)}
