﻿@font-face{font-family:"et-book";src:url("/fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot");src:url("/fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot?#iefix") format("embedded-opentype"),url("/fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff") format("woff"),url("/fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf") format("truetype"),url("/fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg#etbookromanosf") format("svg");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:"et-book";src:url("/fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot");src:url("/fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot?#iefix") format("embedded-opentype"),url("/fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff") format("woff"),url("/fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf") format("truetype"),url("/fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg#etbookromanosf") format("svg");font-weight:normal;font-style:italic;font-display:swap}@font-face{font-family:"et-book";src:url("/fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot");src:url("/fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot?#iefix") format("embedded-opentype"),url("/fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff") format("woff"),url("/fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf") format("truetype"),url("/fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg#etbookromanosf") format("svg");font-weight:bold;font-style:normal;font-display:swap}@font-face{font-family:"Cardo";src:url("/fonts/Cardo/Cardo-Regular.ttf");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:"Cardo";src:url("/fonts/Cardo/Cardo-Italic.ttf");font-weight:normal;font-style:italic;font-display:swap}@font-face{font-family:"Cardo";src:url("/fonts/Cardo/Cardo-Bold.ttf");font-weight:bold;font-style:normal;font-display:swap}@font-face{font-family:"Fira";src:url("/fonts/Fira_Sans/FiraSans-Regular.ttf");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:"Fira";src:url("/fonts/Fira_Sans/FiraSans-Bold.ttf");font-weight:bold;font-style:normal;font-display:swap}@font-face{font-family:"Fira";src:url("/fonts/Fira_Sans/FiraSans-Italic.ttf");font-weight:normal;font-style:italic;font-display:swap}@font-face{font-family:"Fira";src:url("/fonts/Fira_Sans/FiraSans-BoldItalic.ttf");font-weight:bold;font-style:italic;font-display:swap}@font-face{font-family:"Fantasque Sans Mono";src:url("/fonts/FantasqueSansMono/FantasqueSansMono-Regular.woff2") format("woff2"),url("/fonts/FantasqueSansMono/FantasqueSansMono-Regular.woff") format("woff");font-weight:400;font-style:normal}@font-face{font-family:"Fantasque Sans Mono";src:url("/fonts/FantasqueSansMono/FantasqueSansMono-Bold.woff2") format("woff2"),url("/fonts/FantasqueSansMono/FantasqueSansMono-Bold.woff") format("woff");font-weight:700;font-style:normal}@font-face{font-family:"Fantasque Sans Mono";src:url("/fonts/FantasqueSansMono/FantasqueSansMono-BoldItalic.woff2") format("woff2"),url("/fonts/FantasqueSansMono/FantasqueSansMono-BoldItalic.woff") format("woff");font-weight:700;font-style:italic}@font-face{font-family:"Fantasque Sans Mono";src:url("/fonts/FantasqueSansMono/FantasqueSansMono-Italic.woff2") format("woff2"),url("/fonts/FantasqueSansMono/FantasqueSansMono-Italic.woff") format("woff");font-weight:400;font-style:italic}:root{--gap: 24px;--transition: 75ms}body{--base: #fff;--base-dark: #1b1b1b;--surface: rgba(0, 0, 0, 0.05);--surface-dark: #171717;--overlay: rgba(0, 0, 0, 0.08);--overlay-dark: var(--surface-dark);--gold: #ea9d34;--gold-text: #db8510;--gold-muted: #f6c177;--gold-muted-tr: #f6c1772b;--foam: #9ccfd8;--foam-darker: #c;--foam-tr: #9ccfd82b;--lightgreen: #9cd8a0;--lightgreen-tr: #9cd8a02b;--rose-muted: #ebbcba;--iris: #c4a7e7;--iris-muted: #D1BBEC;--iris-muted-tr: #D1BBEC2b;--pine: #31748f;--pine-darker: #24586A;--pine-even-darker: #245666;--pine-muted: #3e8fb0;--text: #252237;--text-highlighted: var(--text);--text-light: #e2e2e2;--link: var(--pine);--link-highlighted: var(--pine-even-darker);--muted: #9893a5;--subtle: #6D6986;--highlight: #dfdad9;--highlight-low: #f4ede8;--highlight-med: #dfdad9;--dark-highlight-med: rgb(50, 50, 50);--highlight-high: #cecacd;--radius: 8px;--content-gap: 1.8rem;--slider-height: 8px;--body-font: "et-book", "Cardo"}pre code ins{background-color:var(--lightgreen);color:var(--text-highlighted);text-decoration:none}body{font-family:var(--body-font);font-weight:400;font-size:1.6rem;line-height:140%;color:var(--text);padding:0;margin:0;background-color:var(--base)}.frontpage{font-size:1.6rem}abbr{font-variant:all-small-caps;font-size:115%}main img{max-width:100%}figure img{width:unset}figure{margin-bottom:calc(2*var(--gap));text-align:center}figure figcaption{font-size:1.1rem;text-align:center}blockquote,figure.quote{border-left:1px solid var(--text);padding-left:var(--content-gap);text-align:left;font-size:90%;line-height:130%}figure.quote figcaption{text-align:right;font-size:inherit}figure.quote figcaption:before{content:"— "}@media screen and (-webkit-min-device-pixel-ratio: 0){input[type=range]{background-color:rgba(0,0,0,0)}}input[type=range]::-moz-range-progress{background-color:var(--foam)}input[type=range]::-moz-range-track{background-color:var(--text-light)}input[type=range]::-moz-range-thumb{appearance:none;-moz-appearance:none;overflow:visible;width:20px;height:20px;border-radius:50%;border-color:rgba(0,0,0,0);background:var(--foam);z-index:0}a,a:visited{color:var(--link)}a{overflow-wrap:break-word;hyphenate-character:"/"}::selection{background-color:var(--foam);color:var(--base-dark)}.highlight pre ::selection,pre code ::selection,pre ::selection{background-color:var(--dark-highlight-med);color:unset}ol{counter-reset:ol-counter;list-style:none}ol>li{break-inside:avoid-column;margin-bottom:calc(.5*var(--gap))}ol>li::before{counter-increment:ol-counter;content:counter(ol-counter);color:var(--muted);margin-left:calc(-1.5*var(--gap));position:absolute;border:1px solid currentColor;width:.9em;height:.9em;font-size:.7em;margin-top:.35em;border-radius:50%;display:inline-grid;place-items:center;line-height:.7em;padding:.05em}ul{list-style-type:disc}ul>li::marker{color:var(--muted)}main{max-width:50%;margin:auto;margin-top:48px;padding:20px}@media (max-width: 1200px){main{padding-left:5vw;padding-right:5px;max-width:unset;width:90vw}}nav{display:flex;flex-direction:row;justify-content:space-between;padding:20px 20px}nav a,nav a:visited{color:var(--text);text-decoration:none}header{position:relative;z-index:2}#logo-full{opacity:0;transition:all var(--transition)}#logo:hover #logo-full{opacity:1}h1{font-size:64px;font-style:italic}h2,h3,h4,h5,h6{font-style:italic;margin-top:calc(3*var(--gap))}h1,h2,h3,h4,h5,h6{line-height:1.2}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:var(--text);text-decoration:none}h1 a:visited,h2 a:visited,h3 a:visited,h4 a:visited,h5 a:visited,h6 a:visited{color:var(--text)}h1 :hover:before,h2 :hover:before,h3 :hover:before,h4 :hover:before,h5 :hover:before,h6 :hover:before{content:"§";display:block;position:absolute;text-decoration:none;color:var(--muted);border:none;margin-left:-1em;margin-top:-4px}::-webkit-scrollbar{height:5px;width:5px;background:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background:var(--muted);-webkit-border-radius:1ex;-webkit-box-shadow:0px 1px 2px rgba(0,0,0,.75)}::-webkit-scrollbar-thumb:hover{background:var(--text)}::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}pre,code{font-family:"Fantasque Sans Mono"}code{font-size:21px}pre,pre code{font-size:19px}pre{padding:10px;border-radius:var(--radius);max-height:500px;overflow:overlay;line-height:1.5rem}pre code mark{background-color:var(--gold-muted-tr);color:unset;width:100%;display:block}table{border-collapse:collapse;border-spacing:0;overflow-x:auto;word-break:keep-all;text-align:start}table th{min-width:80px;padding:12px 8px;line-height:1.5;border-bottom:1px solid var(--muted);text-align:start}table td{min-width:80px;padding:12px 8px;line-height:1.5;border-bottom:1px solid var(--muted);font-size:1.3rem}.subtitle{color:var(--subtle)}.dateline{margin-top:-18px;font-size:18px;font-family:Fira}.note::before{content:var(--note-type-title);display:flex;font-size:1.6rem;font-weight:bold;font-style:italic;margin-bottom:10px;padding-bottom:10px;font-family:var(--body-font);border-bottom:1px solid currentColor}.note{background-color:color-mix(in srgb, var(--note-type-bg), rgba(0,0,0,0) 15%);border-radius:var(--radius);color:var(--text-highlighted);line-height:130%;margin-bottom:var(--content-gap);border:2px solid currentColor;padding:15px}.note{--note-type-title: "Note";--note-type-bg: var(--foam)}.note>p:last-of-type{margin-bottom:0}.post-content .highlight pre{margin-bottom:var(--content-gap)}.tip{--note-type-title: "Tip";--note-type-bg: var(--lightgreen)}.warning{--note-type-title: "Warning";--note-type-bg: var(--gold-muted)}.btw{--note-type-title: "By the way";--note-type-bg: var(--iris-muted)}.tip a,.note a{color:var(--pine-darker)}.btw a{color:var(--pine-even-darker)}aside{margin-bottom:var(--gap)}.sidenote{font-size:80%;position:relative;margin-bottom:var(--gap)}.sidenote code{font-size:90%}@media (min-width: 1400px){.sidenote{float:right;clear:right;margin-right:-23vw;text-align:left;width:20vw;padding-left:5px}}@media (max-width: 1400px){.sidenote{float:right;text-align:left;width:100%;margin:1rem 0;padding-left:15%}}@media (max-width: 800px){code{text-wrap:wrap}a{text-wrap:wrap}.sidenote,.sidenote>*,code{max-width:100%;text-wrap:wrap;overflow-wrap:break-word;white-space:pre-wrap}}body{counter-reset:sidenote-counter}.sidenote-number{counter-increment:sidenote-counter}.sidenote::before{content:counter(sidenote-counter) ".";position:relative;vertical-align:baseline;font-size:.9em;font-weight:bold;margin-right:8px}.sidenote{font-size:80%;line-height:140%}.sidenote-number::after{content:counter(sidenote-counter);position:relative;vertical-align:baseline;font-size:.7em;top:-.7rem;font-weight:bold;margin-left:.2rem}.sidenote-ref::after{content:" ";background-color:var(--base)}.sidenote-ref{margin-right:-.4rem}@media (min-width: 1400px){.sidenote,.sidenote-ref,.sidenote *,.sidenote-ref *{transition:all var(--transition)}.sidenote-ref:hover{color:var(--text-highlighted);background-color:var(--gold-muted)}.sidenote code{display:inline-block}.sidenote-ref:hover a{color:var(--link-highlighted)}.sidenote-ref:hover>.sidenote-number>.sidenote{color:var(--text-highlighted)}.sidenote-number:hover .sidenote{background-color:var(--gold-muted)}.sidenote-ref:hover .sidenote{background-color:var(--gold-muted)}}.sidenote.marginnote::before{visibility:hidden;margin:0;display:none}.sidenote-surroundings{display:none}.toc{border:none;float:left;clear:left;position:fixed;left:0;top:0;font-family:Fira;max-width:330px;margin-left:calc(-1*var(--gap));background:0 0 !important;height:100%;display:flex;align-items:center;z-index:1;margin:0 2px 40px;margin-left:2px;border-radius:var(--radius);padding:.4em}@media (max-width: 1400px){.toc{display:none}}.toc ul{padding:0;padding-left:10px;list-style-type:none;line-height:1.5rem}.toc ul li{margin-bottom:8px}.toc ul li ul{margin-top:8px}.toc ul a{display:inline-block;height:25px;font-size:16px;color:var(--subtle);text-decoration:none;transition:all var(--transition)}.toc ul a.active{font-weight:bold;font-size:17px;color:var(--gold-text)}.toc ul a:hover{text-decoration:underline}li p{margin-top:10px;margin-bottom:10px}