*,:before,:after{box-sizing:border-box}html{font:16px/1.6 sans-serif;font-family:'source serif 4',serif;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}body{padding:2rem;max-width:75ch;margin:0 auto;text-align:justify}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;text-decoration:underline}h1,h2,h3,h4,h5,h6,p{text-wrap:pretty}h1,h2{font-size:1.2rem}pre,code{font-size:.9rem;background:#eee}pre{margin-bottom:2rem;overflow-x:auto;border:1px solid #64748b;border-radius:.125rem}pre code{--code-block--inline-padding:1rem;display:grid;border:none;padding:var(--code-block--inline-padding);background:0 0}pre code .line{margin-inline:calc(-1 * var(--code-block--inline-padding));padding-inline:var(--code-block--inline-padding)}code{background:#eee;padding-inline:.25rem;border-radius:.125rem}ul{padding-left:1rem}ul>li{list-style-type:disc;padding-left:.5rem}ul>li::marker{color:#bebebe}figure{margin-inline:0}figure figcaption{font-size:.8rem;text-align:center;margin-top:.5rem;color:#6b6b6b;background-color:none}.app-nav{margin-bottom:3rem}.app-nav,.app-nav *{font-size:1rem}.app-nav>*{margin:unset;display:inline}.home ul,.home li{padding:0}.home ul{display:flex;flex-direction:column;row-gap:.25rem}.home ul>li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1rem;list-style-type:none}.home ul>li time{font-variant-numeric:tabular-nums}.home ul>li a{text-wrap:pretty}.writing header{display:flex;flex-direction:column;row-gap:.25rem;margin-bottom:3rem}.writing header h1{font-size:1.75rem;margin:0}.writing header time{color:#6b6b6b;font-size:.9rem}.writing header>*{margin:0}blockquote{margin:1em 0;padding:0 2em;border-left:3px solid #eee;font-style:italic}blockquote.alert{padding:1rem;border-left-width:6px}blockquote.alert>:first-child{margin-top:0}blockquote.alert>:last-child{margin-bottom:0}blockquote.alert.alert-warning{background-color:#fefce8;border-left-color:#facc15}blockquote.alert.alert-warning .alert-heading{color:#854d0e}img{max-width:100%;display:block;height:auto}table{width:100%;border-collapse:collapse;margin:1.5em 0}table td{width:50%;padding:.5em;vertical-align:top;text-align:center}table td img{max-width:100%;height:auto;display:block;margin:0 auto}a,a:visited{color:initial}.logo{width:32px;height:32px}