:root{--primary-gap: 1rem;--secondary-gap: .6rem;--tertiary-gap: .3em;--content-gap: 1.5rem;--regular-font: Inclusive Sans, sans-serif;--regular-font-size: 16px;--h1-font-size: 25px;--content-h1-font-size: 20px;--content-h2-font-size: 18px;--content-h3-font-size: 16px;--subtle-font-size: .8rem;--header-font-size: 1.1rem;--header-height: 2.5rem;--monospace-font: JetBrains Mono, monospace;--monospace-font-size: 13px;--max-width: 65ch;--inline-code-block-padding-primary: 4px;--inline-code-block-padding-secondary: 2px}:root{--primary-fg-colour: #d4d4d4;--primary-bg-colour: #1e1e1e;--primary-fg-link-colour: #6cb8ff;--subtle-fg-colour: #b4b4b4;--subtle-bg-colour: #2b2b2b;--subtle-border-colour: #5a5a5a;--anchor-fg-colour: #ffb36c}:root{--code-keyword-colour: #d4a0a8;--code-string-colour: #d4a870;--code-comment-colour: #7a7a72;--code-builtin-colour: #8ac6d4}*{box-sizing:border-box}body{font-family:var(--regular-font);font-size:var(--regular-font-size)}body{color:var(--primary-fg-colour);background-color:var(--primary-bg-colour)}a{text-decoration:none;color:var(--primary-fg-link-colour)}h1{font-size:var(--h1-font-size);margin:var(--primary-gap) 0}h1,h2,h3{font-weight:400}hr{border:1px solid var(--subtle-border-colour);width:100%;border-bottom:0;margin:1rem 0}img{max-width:100%}.top{display:flex;flex-wrap:wrap;column-gap:var(--primary-gap);row-gap:0;max-width:var(--max-width);margin:0 auto;padding:var(--tertiary-gap);background-color:var(--subtle-bg-colour);border-bottom-left-radius:10px;border-bottom-right-radius:10px}header{flex-shrink:0;line-height:var(--header-height);white-space:nowrap;user-select:none}header a{font-family:var(--monospace-font);font-size:var(--header-font-size);display:block;height:var(--header-height);padding:0 var(--primary-gap);border-bottom-right-radius:10px;border-bottom-left-radius:10px}header a{background-color:var(--subtle-bg-colour);color:var(--subtle-fg-colour)}nav{flex:1 1 auto;min-width:0;padding-left:1rem;padding-right:1rem;text-align:right;user-select:none}nav a{line-height:var(--header-height);color:var(--primary-fg-colour)}nav a:hover{color:var(--primary-fg-link-colour)}nav span:not(:last-child):after{content:" \2afd  "}main{max-width:var(--max-width);padding:var(--secondary-gap);margin:0 auto}@media (max-width: 65ch){main{padding-left:1rem;padding-right:1rem}}.page{margin-bottom:var(--content-gap)}.pages .page:not(:last-child){border-bottom:1px solid rgba(90,90,90,.5);padding-bottom:var(--primary-gap);margin-bottom:0}.page__meta{font-family:var(--monospace-font);font-size:var(--subtle-font-size);color:var(--subtle-fg-colour);white-space:nowrap}.page__date{display:inline-block}.page--view .page__meta{display:block}.tags{display:inline-block}.tags__tag{font-size:var(--subtle-font-size);font-family:var(--monospace-font);display:inline-block;background-color:var(--subtle-bg-colour);border-radius:5px}.tags__tag a,.tags__tag div{padding:4px 6px;display:inline-block;color:var(--primary-fg-colour)}.tags__tag a:hover,.tags__tag--selected div{border-radius:5px;background-color:var(--primary-fg-colour);color:var(--primary-bg-colour)}@media only screen and (max-width: 40rem){nav{text-align:left}.page--view .page__meta{margin-bottom:var(--primary-gap)}}.title{margin-right:var(--primary-gap);margin-bottom:var(--secondary-gap)}.title a{color:var(--primary-fg-colour)}section h1{font-size:var(--content-h1-font-size)}section h2{font-size:var(--content-h2-font-size)}section h3{font-size:var(--content-h3-font-size)}section h1 a.anchor{color:var(--anchor-fg-colour);user-select:none;margin-right:var(--tertiary-gap)}section,section h1,section h2,section h3,section p{margin:1rem 0}section h1,section h2,section h3{margin:1.5rem 0}section li,section p{line-height:1.7rem}section a:not(.anchor){text-decoration:underline;text-decoration-color:var(--subtle-border-colour);text-underline-offset:2px}section a:not(.anchor):hover{text-decoration-color:var(--primary-fg-link-colour)}section code{font-variant-ligatures:none;line-height:1.4rem}section pre,section pre>code{font-variant-ligatures:none;white-space:pre;padding:0}section .highlight{position:relative}section .highlight:after{content:"";position:absolute;top:0;right:0;bottom:0;width:3rem;background:linear-gradient(to right,transparent,var(--subtle-bg-colour));border-radius:0 5px 5px 0;pointer-events:none}section pre{font-variant-ligatures:none;border-radius:5px;padding:var(--secondary-gap);padding-left:var(--primary-gap);overflow:auto;word-wrap:normal}section pre,section code{background-color:var(--subtle-bg-colour);font-family:var(--monospace-font);font-size:var(--monospace-font-size)}section code{color:var(--primary-fg-colour);padding:var(--inline-code-block-padding-secondary);padding-left:var(--inline-code-block-padding-primary);padding-right:var(--inline-code-block-padding-primary);white-space:nowrap;border-radius:5px}section blockquote{border-radius:5px;overflow-x:auto;margin:0;padding:var(--secondary-gap);padding-left:var(--primary-gap);background-color:var(--subtle-bg-colour);border-left:6px solid var(--subtle-border-colour)}section blockquote p:first-child{margin-top:0!important}section blockquote p:last-child{margin-bottom:0!important}@media only screen and (max-width: 65ch){.footnotes ol{padding-left:20px}}.footnote-tooltip{position:absolute;background:var(--subtle-bg-colour);border:1px solid var(--subtle-border-colour);border-radius:5px;padding:var(--secondary-gap);font-size:.9rem;line-height:1.5;width:40ch;max-width:90vw;z-index:1000}section figure{margin:1.5rem auto;text-align:center}section figure img{border:1px solid var(--subtle-border-colour);border-radius:5px;max-width:100%;height:auto}section figcaption{margin-top:var(--secondary-gap);font-size:var(--subtle-font-size);color:var(--subtle-fg-colour);font-style:italic}.images{display:flex;gap:var(--primary-gap);margin:1.5rem 0;justify-content:center;flex-wrap:wrap;align-items:flex-end}.images figure{flex:1;min-width:0;margin:0}.images figure img{width:100%;height:auto}@media (max-width: 40rem){.images{flex-direction:column}.images figure{flex:none}}.lightbox{position:fixed;inset:0;background:#000000e6;z-index:2000;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-width:95vw;max-height:95vh;border:none;transform:scale(.95);transition:transform .2s ease}.lightbox.open img{transform:scale(1)}.row{margin-top:var(--secondary-gap);margin-bottom:var(--secondary-gap)}@media only screen and (max-width: 65ch){header a{border-bottom-left-radius:0}}.highlight .k,.highlight .kn,.highlight .kd,.highlight .kp,.highlight .kr,.highlight .kc,.highlight .kt,.highlight .kv{color:var(--code-keyword-colour)}.highlight .s,.highlight .sa,.highlight .se,.highlight .sb,.highlight .sc,.highlight .dl,.highlight .sd,.highlight .s2,.highlight .sh,.highlight .sx,.highlight .s1{color:var(--code-string-colour)}.highlight .c,.highlight .cm,.highlight .c1,.highlight .cs{color:var(--code-comment-colour)}.highlight .o,.highlight .ow{color:var(--code-builtin-colour)}@font-face{font-family:JetBrains Mono;font-display:swap;src:url(/assets/fonts/JetBrainsMono-Regular.woff2) format("woff2")}@font-face{font-family:JetBrains Mono Bold;font-display:swap;font-weight:700;src:url(/assets/fonts/JetBrainsMono-Bold.woff2) format("woff2")}@font-face{font-family:JetBrains Mono Bold Italic;font-display:swap;font-weight:700;font-style:italic;src:url(/assets/fonts/JetBrainsMono-Bold-Italic.woff2) format("woff2")}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/InclusiveSans.woff2) format("woff2")}@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:300 700;font-display:swap;src:url(/assets/fonts/InclusiveSans-Italic.woff2) format("woff2")}
