@import "https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=block";:root{--bg:#f8f6f3;--bg-bright:#f0ede8;--fg:#1a1a1a;--link:#0f766e;--code:#c2410c;--border:#d6d3ce;--font-stack:"Spectral", "Georgia", "Liberation Serif", "serif";--mono-stack:"Menlo", "Consolas", "Monaco", "Liberation Mono", "monospace"}.dark-mode{--bg:#282828;--bg-bright:#141516;--fg:#ebdbb2;--code:#fb4934;--border:#504945;--link:#8ec07c}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{background-color:var(--bg);color:var(--fg);font-family:var(--font-stack);font-size:1.125rem;line-height:1.6;max-width:46rem;margin:0 auto;padding:0 1rem}p{margin-bottom:1.25rem;line-height:1.7}p:last-child{margin-bottom:0}h1,h2,h3,h4{color:var(--fg);font-weight:600;line-height:1.3;margin-top:1rem;margin-bottom:1rem}h1{font-size:2rem;font-weight:700;line-height:1.2;margin-top:0}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.2rem;font-weight:600}a,a:visited{color:var(--link);text-decoration:none;transition:color .15s ease}a:hover{text-decoration:underline;text-underline-offset:.25rem}.current-nav{color:var(--link);text-decoration:underline;text-underline-offset:.25rem}.current-nav:hover{text-decoration:none}.title-link:hover{text-decoration:none}ul{list-style-type:"- "}li{line-height:1.6}li:last-child{margin-bottom:0}code,kbd,samp{font-family:var(--mono-stack);font-size:.875rem;background-color:var(--bg-bright)}pre{font-family:var(--mono-stack);font-size:.875rem;background-color:var(--bg-bright)!important;margin:.5rem 0;padding:.5rem;overflow-x:auto}pre>code{font-family:var(--mono-stack);font-size:inherit}code{font-family:var(--mono-stack);font-size:.875rem}:not(pre)>code{color:var(--code);font-family:var(--mono-stack);font-size:.875rem;padding:.2em .4em;border-radius:3px}time{font-family:var(--font-stack);font-size:inherit}code[data-lang]{position:relative;display:block}code[data-lang]::before{content:attr(data-lang);position:absolute;right:8px;font-size:.75rem;color:var(--fg);background:var(--bg);padding:2px 6px;border-radius:4px;opacity:.5;z-index:99999}img{width:100%}table{border-collapse:collapse;color:var(--fg);border-color:var(--bg-bright);font-family:var(--font-stack);font-size:1rem}thead,th,tr,td{border:1px solid var(--border);padding:.25rem}blockquote{background-color:var(--bg-bright);border-left:4px solid var(--link);margin:1.5rem 0;padding:1rem 1.5rem;font-style:italic;font-size:1.05rem}blockquote p{margin:0}aside{background-color:var(--bg-bright);padding:1rem}.site-nav,footer{border-color:var(--fg)}.site-nav{border-bottom:1px dotted}.site-nav ul{list-style-type:none;display:flex;align-items:center;padding:0}.site-nav ul li{margin-right:.5rem}footer{border-top:1px dotted;padding-top:1rem;margin:1rem 0}footer p{margin:0}.post,.wiki-post{display:flex;flex-direction:row}.post time{flex-shrink:0;margin-right:.5rem}.wiki-post{justify-content:space-between}.wiki-post:first-of-type{border-bottom:1px dotted var(--fg);margin-bottom:1rem}.wiki-post p{margin:0}.post-metadata{border:1px dotted var(--fg);border-top:none;padding:1.5rem;box-shadow:7px 7px 0 var(--link);margin-bottom:2.5rem}.post-metadata h1{margin:0}.post-metadata p{margin:0}#toc{margin-top:2rem;margin-bottom:2rem;padding:0 1rem;border:1px solid var(--border);font-size:.95rem}.footnote-reference::before{content:"["}.footnote-reference::after{content:"]"}.footnote-definition{display:flex;justify-content:flex-start;align-items:top}.footnote-definition sup{font-size:inherit;top:0;line-height:inherit;padding-right:.5rem}.footnote-definition sup::after{content:"."}.footnote-definition p{display:inline-block;margin:0}summary{font-weight:700}details{margin:1rem 0;padding:1rem;border:1px solid var(--border);border-radius:8px;transition:all .3s ease}details:hover{border-color:var(--link);box-shadow:0 2px 4px rgba(0,0,0,.2)}details[open]{background-color:var(--bg)}details summary{color:var(--link)}details summary:hover{color:var(--link);text-decoration:underline}details summary::-webkit-details-marker{display:none}details summary:before{content:"λ";font-size:.9rem;color:var(--link);margin-right:.5rem;transition:transform .3s ease}details[open] summary:before{content:"λ"}details p{margin:.5rem 0 0;color:var(--fg);line-height:1.6}span.tag::before{content:"#"}.dark-mode-toggle{color:var(--code);appearance:none;cursor:pointer;font-family:inherit}.dark-mode-toggle::before{content:"[\263D]"}.dark-mode-toggle:checked::before{content:"[\263C]"}