@font-face{font-display:swap;font-family:Basier Circle;src:url(/fonts/basiercircle-regular-webfont.woff2)format("woff2");font-weight:400;font-style:normal}@font-face{font-display:swap;font-family:Basier Circle;src:url(/fonts/basiercircle-regularitalic-webfont.woff2)format("woff2");font-weight:400;font-style:italic}@font-face{font-display:swap;font-family:Basier Circle;src:url(/fonts/basiercircle-medium-webfont.woff2)format("woff2");font-weight:500;font-style:normal}@font-face{font-display:swap;font-family:Basier Circle;src:url(/fonts/basiercircle-mediumitalic-webfont.woff2)format("woff2");font-weight:500;font-style:italic}@font-face{font-display:swap;font-family:Basier Circle;src:url(/fonts/basiercircle-semibold-webfont.woff2)format("woff2");font-weight:600;font-style:normal}@font-face{font-display:swap;font-family:Basier Circle;src:url(/fonts/basiercircle-semibolditalic-webfont.woff2)format("woff2");font-weight:600;font-style:italic}@font-face{font-display:swap;font-family:Basier Circle;src:url(/fonts/basiercircle-bold-webfont.woff2)format("woff2");font-weight:700;font-style:normal}@font-face{font-display:swap;font-family:Basier Circle;src:url(/fonts/basiercircle-bolditalic-webfont.woff2)format("woff2");font-weight:700;font-style:italic}@font-face{font-display:swap;font-family:Basier Square;src:url(/fonts/basiersquare-regular-webfont.woff2)format("woff2");font-weight:400;font-style:normal}@font-face{font-display:swap;font-family:Basier Square;src:url(/fonts/basiersquare-regularitalic-webfont.woff2)format("woff2");font-weight:400;font-style:italic}@font-face{font-display:swap;font-family:Basier Square;src:url(/fonts/basiersquare-medium-webfont.woff2)format("woff2");font-weight:500;font-style:normal}@font-face{font-display:swap;font-family:Basier Square;src:url(/fonts/basiersquare-mediumitalic-webfont.woff2)format("woff2");font-weight:500;font-style:italic}@font-face{font-display:swap;font-family:Basier Square;src:url(/fonts/basiersquare-semibold-webfont.woff2)format("woff2");font-weight:600;font-style:normal}@font-face{font-display:swap;font-family:Basier Square;src:url(/fonts/basiersquare-semibolditalic-webfont.woff2)format("woff2");font-weight:600;font-style:italic}@font-face{font-display:swap;font-family:Basier Square;src:url(/fonts/basiersquare-bold-webfont.woff2)format("woff2");font-weight:700;font-style:normal}@font-face{font-display:swap;font-family:Basier Square;src:url(/fonts/basiersquare-bolditalic-webfont.woff2)format("woff2");font-weight:700;font-style:italic}:root{--font-sans:"Basier Circle", sans-serif;--font-mono:"Basier Square", monospace;--color-bg:#f3f3f1;--color-text:#161616;--color-secondary:#444;--color-muted:#7d7d7d;--color-border:#eaeaea;--color-white:#fff;--transition-fast:background-color .15s ease, color .15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;display:flex;overflow-x:clip}:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::selection{background:var(--color-text);color:var(--color-white)}.hub-container{text-align:left;flex:1 0 auto;grid-template-columns:1fr minmax(0,400px) 1fr;align-items:start;width:100%;min-height:80vh;padding-top:10vh;display:grid}.sidebar{flex-direction:column;grid-column:1;justify-self:end;align-items:flex-start;width:180px;margin-right:5.5rem;display:flex;position:sticky;top:10vh}.name{margin-top:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:1.1}.header-clock{font-family:var(--font-mono);color:var(--color-muted);white-space:nowrap;font-size:.9rem;font-weight:600;display:block}.hub-nav{flex-direction:column;gap:.3rem;margin-top:2.5rem;display:flex}.hub-nav a{font-family:var(--font-sans);color:var(--color-text);transition:var(--transition-fast);padding:.1rem .4rem;font-weight:600;text-decoration:none;display:inline-block}.hub-nav a:hover,.hub-nav a.active{background-color:var(--color-text);color:var(--color-white)}.page-body{flex-direction:column;grid-column:2;align-items:flex-start;width:100%;max-width:400px;display:flex}.page-body--wide{grid-column:2/-1;max-width:100%;padding-right:2rem}.page-title{background-color:var(--color-text);color:var(--color-white);margin-bottom:2rem;padding:.1rem .6rem;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:700;display:inline-block}.detail-title{margin:0;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:700;line-height:1.2}.md{color:var(--color-text);font-size:1rem;line-height:1.7}.md p{margin:0 0 1rem}.md h2{margin:2.5rem 0 .5rem;font-size:1.15rem;font-weight:600}.md h3{margin:2rem 0 .5rem;font-size:1rem;font-weight:600}.md ul,.md ol{margin:0 0 1rem;padding-left:1.25rem}.md li{margin-bottom:.35rem}.md a{color:var(--color-text);text-underline-offset:2px;text-decoration:underline 1px}.md a:hover{background-color:var(--color-text);color:var(--color-white)}.md code{font-family:var(--font-mono);background:#1616160f;padding:.1em .3em;font-size:.85em}.md pre{font-family:var(--font-mono);background:#1616160f;margin:0 0 1rem;padding:1rem;font-size:.85rem;line-height:1.6;overflow-x:auto}.md pre code{font-size:inherit;background:0 0;padding:0}.md blockquote{border-left:1px solid var(--color-border);color:var(--color-secondary);margin:0 0 1rem;padding-left:1rem}.md img{max-width:100%;height:auto;margin:.75rem 0}.md iframe{aspect-ratio:16/9;border:0;width:100%;margin:.75rem 0}.md hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.site-footer{border-top:1px solid var(--color-border);width:100%;color:var(--color-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-top:3rem;padding:1.25rem 2rem 1.5rem;font-size:.85rem;display:flex}.footer-logo{opacity:.8;align-items:center;text-decoration:none;transition:opacity .2s;display:inline-flex}.footer-logo:hover{opacity:1}.footer-logo img{width:20px;height:20px;display:block}.footer-email{color:var(--color-muted);text-decoration:none;transition:color .2s}.footer-email:hover{color:var(--color-text)}@media (width<=960px){.hub-container{grid-template-columns:1fr;gap:3rem;padding:3rem 1.5rem}.sidebar{justify-self:start;width:100%;max-width:240px;margin-right:0;position:static}.header-clock{font-size:.8rem}.hub-nav{flex-flow:wrap;gap:1rem;margin-top:1.5rem}.page-body,.page-body--wide{grid-column:1/-1;max-width:100%;padding-left:0;padding-right:0}}@media (width<=480px){.hub-container{gap:2.5rem;padding:2rem 1.25rem}}
