pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}:root{color-scheme:light dark;--bg: #FFFFFF;--fg: #111111;--muted: #F4F4F4;--muted-fg: #666666;--border: #E5E5E5;--accent: #2563EB;--accent-muted: #DBEAFE;--code-comment: #6a737d;--code-keyword: #d73a49;--code-string: #032f62;--code-title: #6f42c1;--code-number: #005cc5}@media(prefers-color-scheme:dark){:root{--bg: #0D1117;--fg: #E6EDF3;--muted: #161B22;--muted-fg: #9CA3AF;--border: #30363D;--accent: #58A6FF;--accent-muted: #1C2A45;--code-comment: #8b949e;--code-keyword: #ff7b72;--code-string: #a5d6ff;--code-title: #d2a8ff;--code-number: #79c0ff}}*,*:before,*:after{box-sizing:border-box}html{font-size:62.5%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--fg);font-family:FiraCode Nerd Font Mono,Fira Code,Space Grotesk,Avenir Next,Segoe UI,sans-serif;font-size:1.6rem;line-height:1.55}a{color:var(--fg);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}a:hover{color:var(--accent)}code,pre{font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace}.page-shell{min-height:100vh}.ambient-glow{display:none}.container{width:min(98rem,100vw - 2.4rem);margin:0 auto;padding:1.2rem 0 3.2rem}.content{padding:1.4rem 0}.site-header{margin:0}.top-bar{display:flex;align-items:stretch;justify-content:space-between;gap:1.6rem;border:2px solid var(--fg);padding:1.6rem;background:var(--bg)}.site-title{display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:var(--fg)}.wordmark{margin:0;font-size:clamp(3.2rem,7vw,6rem);font-weight:700;line-height:1;letter-spacing:-.04em;text-transform:lowercase}.tagline{margin-top:.8rem;font-size:1.2rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-fg);font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace}.nav ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;border:2px solid var(--fg)}.nav li{display:flex;border-right:2px solid var(--fg)}.nav li:last-child{border-right:0}.page-link{display:flex;flex:1;width:100%;justify-content:center;align-items:center;padding:1rem 1.3rem;text-decoration:none;font-size:1.35rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}.page-link.active{background:var(--fg);color:var(--bg)}.page-link:hover{background:var(--accent-muted);color:var(--fg)}.home{display:flex;flex-direction:column;gap:1.2rem}.posts{display:grid;gap:1rem;list-style:none;margin:0;padding:0}.post-card{border:2px solid var(--border);padding:1.4rem;background:var(--bg)}.post-card:hover{border-color:var(--fg)}.post-link{color:var(--fg);text-decoration:none}.post-link h2{margin:0;font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.2;letter-spacing:-.03em}.post-date{margin:.5rem 0 0;color:var(--muted-fg);font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace}.excerpt{margin:.9rem 0 0;color:var(--fg);font-size:1.5rem}.post{border:2px solid var(--fg);padding:2rem;background:var(--bg)}.post-header{margin-bottom:1.8rem;border-bottom:2px solid var(--border);padding-bottom:1.2rem}.post-header h1,.post-header h2{margin:0;font-size:clamp(3rem,5vw,5.2rem);line-height:1;letter-spacing:-.04em}.meta{margin:.8rem 0 0;color:var(--muted-fg);font-size:1.2rem;font-family:IBM Plex Mono,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.08em}.post-content{color:var(--fg);font-size:1.75rem}.post-content>*:first-child{margin-top:0}.post-content p,.post-content ul,.post-content ol,.post-content pre,.post-content blockquote{margin:0 0 1.6rem}.post-content h2,.post-content h3{margin:2.8rem 0 1rem;font-size:clamp(2.2rem,3.2vw,3.2rem);line-height:1.1}.post-content ul,.post-content ol{padding-left:2.2rem}.post-content li+li{margin-top:.8rem}.post-content blockquote{margin-left:0;padding:1rem 1.2rem;border:2px solid var(--accent);background:var(--accent-muted)}.post-content pre{padding:1rem 1.2rem;border:2px solid var(--border);background:var(--muted);overflow-x:auto}.post-content pre code{background:transparent}.hljs{color:var(--fg);background:transparent}.hljs-comment,.hljs-quote{color:var(--code-comment)}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:var(--code-keyword)}.hljs-string,.hljs-doctag{color:var(--code-string)}.hljs-title,.hljs-section,.hljs-selector-id{color:var(--code-title)}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable{color:var(--code-number)}.post-content img{max-width:100%;display:block;border:2px solid var(--border)}.site-footer{margin-top:1.2rem;border:2px solid var(--fg);background:var(--bg);padding:1.2rem}.footer-description{margin:0 0 1rem;font-size:1.3rem;color:var(--muted-fg)}.footer-links{display:flex;flex-wrap:wrap;gap:.8rem;list-style:none;margin:0;padding:0}.footer-links a{display:inline-flex;align-items:center;gap:.5rem;border:2px solid var(--border);padding:.7rem .9rem;text-decoration:none;color:var(--fg);font-size:1.2rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.footer-links a:hover{border-color:var(--fg);background:var(--accent-muted)}[data-animate=fade-in],[data-animate=slide-in]{animation:none}@media(max-width:860px){.top-bar{flex-direction:column}.nav ul{width:100%}}@media(max-width:620px){.container{width:calc(100vw - 1.2rem);padding-top:.6rem}.top-bar{padding:1.1rem}.content{padding:.9rem 0}.post{padding:1.3rem}.post-content{font-size:1.65rem}.excerpt{display:none}}
