:root{--font-body:'IBM Plex Mono', 'Menlo', 'Monaco', 'Lucida Console', monospace;--font-header:'IBM Plex Mono', 'Menlo', 'Monaco', 'Lucida Console', monospace;--size:15px;--line:1.6em;--width:1200px;--space:10px;--bg:#fffdf9;--fg:#262626;--dim:#8e8e8e;--accent:#ff6719;--code-bg:#f5f5f5;--border:#e5e5e5;--selection-bg:#f0f0f0;--selection-fg:#262626}:root[data-theme=dark]{--bg:#1a1a1a;--fg:#e1e1e1;--dim:#898989;--accent:#1beb9e;--code-bg:#222222;--border:#3a3a3a;--selection-bg:#898989;--selection-fg:#1a1a1a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1a1a1a;--fg:#e1e1e1;--dim:#898989;--accent:#1beb9e;--code-bg:#222222;--border:#3a3a3a;--selection-bg:#898989;--selection-fg:#1a1a1a}}[data-theme=light] .chroma,[data-theme=light] .bg{background-color:#f5f5f5}*,*::before,*::after{box-sizing:border-box;text-rendering:geometricPrecision}::selection{background:var(--selection-bg);color:var(--selection-fg)}body{margin:0;padding:0;font-family:var(--font-body);font-size:var(--size);line-height:var(--line);color:var(--fg);background:var(--bg);word-break:break-word;transition:background-color .2s ease,color .2s ease}.container{max-width:var(--width);margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}img{width:100%}a{color:var(--accent);text-decoration:none;cursor:pointer}a:hover{background:var(--accent);color:var(--bg);box-shadow:.4ch 0 0 0 var(--accent),-.3ch 0 0 0 var(--accent)}h1,h2,h3,h4,h5,h6{font-family:var(--font-header);font-size:var(--size);line-height:var(--line);font-weight:400;color:var(--fg);margin:0;padding:0}h1{display:inline-block;position:relative;padding:var(--line)0;margin:calc(var(--space) * 2)0}h1::before,h1::after{content:"====================================================================================================";position:absolute;left:0;width:100%;white-space:nowrap;overflow:hidden;color:var(--dim);font-weight:400;line-height:1}h1::before{top:0}h1::after{bottom:0}h2{font-weight:700;padding-bottom:4px;border-bottom:1px dashed var(--dim);margin-top:calc(var(--space) * 4);margin-bottom:calc(var(--space) * 1)}h3{margin-top:calc(var(--space) * 3);margin-bottom:calc(var(--space) * 1)}h3::before{content:'// ';color:var(--dim);font-weight:400}h4,h5,h6{color:var(--dim);margin-top:calc(var(--space) * 2);margin-bottom:calc(var(--space) * 1)}p{margin:0 0 var(--line);color:var(--fg)}strong{font-weight:700}em{font-style:italic}hr{border:0;border-bottom:1px dashed var(--dim);margin:calc(var(--space) * 4)0}blockquote{position:relative;padding-left:2ch;overflow:hidden;margin:calc(var(--space) * 2)0}blockquote::before{content:">\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>";white-space:pre;position:absolute;top:0;left:0;line-height:var(--line);color:var(--dim)}code{font-family:var(--font-body);font-size:var(--size);background:var(--code-bg);color:var(--fg)}code::before,code::after{content:'`'}pre>code::before,pre>code::after{content:''}pre{display:block;background:var(--code-bg);border:1px solid var(--border);padding:var(--space);overflow-x:auto;white-space:pre;color:var(--dim);margin:calc(var(--space) * 2)0}pre code{background:0 0;padding:0;margin:0;display:inline-block;min-width:100%}ul,ol{list-style:none;padding:0;margin:0}li{display:block;padding:0;margin:0}.content ul,.content ol{margin:calc(var(--space) * 2)0}.content li{position:relative;padding-left:calc(var(--space) * 2);margin-bottom:calc(var(--space)/2)}.content ul>li::before{content:'-';position:absolute;left:0}.content ol{counter-reset:item}.content ol>li::before{content:counter(item)'.';counter-increment:item;position:absolute;left:0}.content ul ul,.content ol ol,.content ul ol,.content ol ul{margin-top:0;margin-bottom:0}table{width:100%;border-collapse:collapse;margin:var(--line)0;font-size:var(--size);color:var(--fg)}table th,table td{border:1px solid var(--fg);padding:calc(var(--space)/2);vertical-align:top;line-height:var(--line)}table tbody td:first-child{color:var(--dim);font-weight:700}.site-nav{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:calc(var(--space) * 2)0;gap:var(--space);flex-wrap:wrap}.site-prompt{font-family:var(--font-header);font-weight:400;background:var(--accent);color:var(--bg);white-space:nowrap;flex-shrink:0;padding:0 .5ch}.site-prompt a{color:var(--bg);text-decoration:none}.site-prompt a:hover{background:0 0;color:var(--bg);box-shadow:none}.breadcrumb{font-family:var(--font-header);font-weight:400;color:var(--dim);padding:calc(var(--space) * 1)0;margin-bottom:calc(var(--space) * 1)}.breadcrumb a{color:var(--fg);text-decoration:none}.breadcrumb a:hover{background:var(--accent);color:var(--bg);box-shadow:.4ch 0 0 0 var(--accent),-.3ch 0 0 0 var(--accent)}.breadcrumb::after{content:'';display:inline-block;width:8px;height:1em;background:var(--accent);margin-left:3px;vertical-align:text-bottom;animation:cursor 1s infinite}@keyframes cursor{0%{opacity:0}50%{opacity:1}100%{opacity:0}}.site-menu{display:flex;flex-direction:row;align-items:center;gap:calc(var(--space) * 2);list-style:none;margin:0;padding:0}.site-menu li{display:flex;padding:0;margin:0}.site-menu a{color:var(--dim);text-decoration:none;display:block}.site-menu a.active{color:var(--fg)}.site-menu a.active::before{content:'['}.site-menu a.active::after{content:']'}.site-menu a:hover:not(.active){background:var(--accent);color:var(--bg);box-shadow:.4ch 0 0 0 var(--accent),-.3ch 0 0 0 var(--accent)}.theme-toggle{background:0 0;border:none;color:var(--dim);font-family:var(--font-body);font-size:var(--size);line-height:var(--line);cursor:pointer;padding:0;transition:color .15s,background .15s}.theme-toggle:hover{background:var(--accent);color:var(--bg)}.content{margin-top:calc(var(--space) * 2);margin-bottom:calc(var(--space) * 8)}.posts-list{position:relative;padding-left:130px}.post-item{position:relative;margin-bottom:calc(var(--space) * 2)}.post-date{position:absolute;left:-130px;width:120px;color:var(--dim);padding-top:0}.post-title{margin:0;font-size:var(--size);font-weight:600;display:block}.post-title::after{display:none}.post-title a{color:var(--fg);text-decoration:none}.post-title a:hover{background:var(--accent);color:var(--bg);box-shadow:.4ch 0 0 0 var(--accent),-.3ch 0 0 0 var(--accent)}.post-summary{color:var(--dim);margin:0}.post-meta{color:var(--dim);margin:0;margin-bottom:calc(var(--space) * 2)}.site-footer{border-top:1px solid var(--dim);padding:var(--space)0;margin-top:calc(var(--space) * 8);color:var(--dim)}.site-footer a{color:var(--dim)}.site-footer a:hover{background:var(--accent);color:var(--bg);box-shadow:.4ch 0 0 0 var(--accent),-.3ch 0 0 0 var(--accent)}.archive-year{color:var(--dim);margin-top:calc(var(--space) * 3);margin-bottom:var(--space);font-weight:600}@media(max-width:640px){:root{--size:13px;--space:8px}.site-nav{flex-direction:column;align-items:flex-start}.site-menu{gap:var(--space);flex-wrap:wrap}.posts-list{padding-left:0}.post-date{position:static;display:block;width:auto;margin-bottom:2px}}.bg{color:#24292e;background-color:#f7f7f7}.chroma{color:#24292e;background-color:#f7f7f7;-webkit-text-size-adjust:none}.chroma .err{color:#f6f8fa;background-color:#82071e}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#dedede}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#cf222e}.chroma .kc{color:#cf222e}.chroma .kd{color:#cf222e}.chroma .kn{color:#cf222e}.chroma .kp{color:#cf222e}.chroma .kr{color:#cf222e}.chroma .kt{color:#cf222e}.chroma .na{color:#1f2328}.chroma .nc{color:#1f2328}.chroma .no{color:#0550ae}.chroma .nd{color:#0550ae}.chroma .ni{color:#6639ba}.chroma .nl{color:#900;font-weight:700}.chroma .nn{color:#24292e}.chroma .nx{color:#1f2328}.chroma .nt{color:#0550ae}.chroma .nb{color:#6639ba}.chroma .bp{color:#6a737d}.chroma .nv{color:#953800}.chroma .vc{color:#953800}.chroma .vg{color:#953800}.chroma .vi{color:#953800}.chroma .vm{color:#953800}.chroma .nf{color:#6639ba}.chroma .fm{color:#6639ba}.chroma .ld{color:#032f62}.chroma .s{color:#032f62}.chroma .sa{color:#032f62}.chroma .sb{color:#032f62}.chroma .sc{color:#032f62}.chroma .dl{color:#032f62}.chroma .sd{color:#032f62}.chroma .s2{color:#032f62}.chroma .se{color:#032f62}.chroma .sh{color:#032f62}.chroma .si{color:#032f62}.chroma .sx{color:#032f62}.chroma .sr{color:#032f62}.chroma .s1{color:#032f62}.chroma .ss{color:#032f62}.chroma .m{color:#0550ae}.chroma .mb{color:#0550ae}.chroma .mf{color:#0550ae}.chroma .mh{color:#0550ae}.chroma .mi{color:#0550ae}.chroma .il{color:#0550ae}.chroma .mo{color:#0550ae}.chroma .o{color:#cf222e}.chroma .ow{color:#cf222e}.chroma .or{color:#cf222e}.chroma .p{color:#24292e}.chroma .c{color:#6a737d}.chroma .ch{color:#6a737d}.chroma .cm{color:#6a737d}.chroma .c1{color:#6a737d}.chroma .cs{color:#6a737d}.chroma .cp{color:#cf222e}.chroma .cpf{color:#cf222e}.chroma .gd{color:#b31d28;background-color:#ffeef0}.chroma .ge{font-style:italic}.chroma .gh{font-weight:700}.chroma .gi{color:#22863a;background-color:#f0fff4}.chroma .go{color:#6a737d}.chroma .gp{color:#6a737d}.chroma .gs{font-weight:700}.chroma .gu{font-weight:700}.chroma .gt{color:#b31d28}.chroma .w{color:#24292e}[data-theme=dark] .bg{color:#f8f8f2;background-color:#282a36}[data-theme=dark] .chroma{color:#f8f8f2;background-color:#282a36;-webkit-text-size-adjust:none}[data-theme=dark] .chroma .x{color:#f8f8f2}[data-theme=dark] .chroma .err{color:#f8f8f2}[data-theme=dark] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}[data-theme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-theme=dark] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}[data-theme=dark] .chroma .hl{background-color:#3d3f4a}[data-theme=dark] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}[data-theme=dark] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}[data-theme=dark] .chroma .line{display:flex}[data-theme=dark] .chroma .k{color:#ff79c6}[data-theme=dark] .chroma .kc{color:#ff79c6}[data-theme=dark] .chroma .kd{color:#8be9fd;font-style:italic}[data-theme=dark] .chroma .kn{color:#ff79c6}[data-theme=dark] .chroma .kp{color:#ff79c6}[data-theme=dark] .chroma .kr{color:#ff79c6}[data-theme=dark] .chroma .kt{color:#8be9fd}[data-theme=dark] .chroma .na{color:#50fa7b}[data-theme=dark] .chroma .nc{color:#50fa7b}[data-theme=dark] .chroma .no{color:#f8f8f2}[data-theme=dark] .chroma .nd{color:#f8f8f2}[data-theme=dark] .chroma .ni{color:#f8f8f2}[data-theme=dark] .chroma .ne{color:#f8f8f2}[data-theme=dark] .chroma .nl{color:#8be9fd;font-style:italic}[data-theme=dark] .chroma .nn{color:#f8f8f2}[data-theme=dark] .chroma .nx{color:#f8f8f2}[data-theme=dark] .chroma .nt{color:#ff79c6}[data-theme=dark] .chroma .nb{color:#8be9fd;font-style:italic}[data-theme=dark] .chroma .bp{font-style:italic}[data-theme=dark] .chroma .nv{color:#8be9fd;font-style:italic}[data-theme=dark] .chroma .vc{color:#8be9fd;font-style:italic}[data-theme=dark] .chroma .vg{color:#8be9fd;font-style:italic}[data-theme=dark] .chroma .vi{color:#8be9fd;font-style:italic}[data-theme=dark] .chroma .vm{color:#8be9fd;font-style:italic}[data-theme=dark] .chroma .nf{color:#50fa7b}[data-theme=dark] .chroma .fm{color:#50fa7b}[data-theme=dark] .chroma .ld{color:#f8f8f2}[data-theme=dark] .chroma .s{color:#f1fa8c}[data-theme=dark] .chroma .sa{color:#f1fa8c}[data-theme=dark] .chroma .sb{color:#f1fa8c}[data-theme=dark] .chroma .sc{color:#f1fa8c}[data-theme=dark] .chroma .dl{color:#f1fa8c}[data-theme=dark] .chroma .sd{color:#f1fa8c}[data-theme=dark] .chroma .s2{color:#f1fa8c}[data-theme=dark] .chroma .se{color:#f1fa8c}[data-theme=dark] .chroma .sh{color:#f1fa8c}[data-theme=dark] .chroma .si{color:#f1fa8c}[data-theme=dark] .chroma .sx{color:#f1fa8c}[data-theme=dark] .chroma .sr{color:#f1fa8c}[data-theme=dark] .chroma .s1{color:#f1fa8c}[data-theme=dark] .chroma .ss{color:#f1fa8c}[data-theme=dark] .chroma .m{color:#bd93f9}[data-theme=dark] .chroma .mb{color:#bd93f9}[data-theme=dark] .chroma .mf{color:#bd93f9}[data-theme=dark] .chroma .mh{color:#bd93f9}[data-theme=dark] .chroma .mi{color:#bd93f9}[data-theme=dark] .chroma .il{color:#bd93f9}[data-theme=dark] .chroma .mo{color:#bd93f9}[data-theme=dark] .chroma .o{color:#ff79c6}[data-theme=dark] .chroma .ow{color:#ff79c6}[data-theme=dark] .chroma .or{color:#ff79c6}[data-theme=dark] .chroma .p{color:#f8f8f2}[data-theme=dark] .chroma .c{color:#6272a4}[data-theme=dark] .chroma .ch{color:#6272a4}[data-theme=dark] .chroma .cm{color:#6272a4}[data-theme=dark] .chroma .c1{color:#6272a4}[data-theme=dark] .chroma .cs{color:#6272a4}[data-theme=dark] .chroma .cp{color:#ff79c6}[data-theme=dark] .chroma .cpf{color:#ff79c6}[data-theme=dark] .chroma .gd{color:#f55}[data-theme=dark] .chroma .ge{text-decoration:underline}[data-theme=dark] .chroma .gr{color:#f8f8f2}[data-theme=dark] .chroma .gh{font-weight:700}[data-theme=dark] .chroma .gi{color:#50fa7b;font-weight:700}[data-theme=dark] .chroma .go{color:#44475a}[data-theme=dark] .chroma .gp{color:#f8f8f2}[data-theme=dark] .chroma .gs{color:#f8f8f2}[data-theme=dark] .chroma .gu{font-weight:700}[data-theme=dark] .chroma .gt{color:#f8f8f2}[data-theme=dark] .chroma .gl{text-decoration:underline}[data-theme=dark] .chroma .w{color:#f8f8f2}