*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent;line-height:1.5}hr{height:0;color:inherit;border-top-width:1.5px}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}main ol{list-style:inside decimal}main ul{list-style:inside}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}[hidden]:where(:not([hidden=until-found])){display:none!important}@font-face{font-display:swap;font-family:Helvetica LT;font-style:normal;font-weight:bolder;size-adjust:100%;ascent-override:37.5%;src:url(/assets/fonts/helvetica-black.subset.woff2)format("woff2")}:root{--fg:light-dark(#000,oklch(97% 0 0));--bg:light-dark(oklch(97% 0 0),#000);color-scheme:light dark}::selection{background-color:var(--fg);color:var(--bg)}html{text-rendering:optimizelegibility;height:100%;font-family:Courier New,serif;font-size:max(18px,.9rem + .8vmin);font-weight:400}main{padding:0 1rem 0 0;font-family:Arial,sans-serif}@media (width>=800px) and (height>=600px){main{overflow-y:auto}}body{height:100%;color:var(--fg);background-color:var(--bg);flex-direction:column;place-content:stretch space-between;gap:1rem;display:flex}header,main,footer{margin:0 2vmin}pre,h1,h2,h3{font-family:Courier New,monospace}h1,h2{font-size:1.5rem;font-weight:700}h3{font-size:1.2rem;font-weight:700}td{vertical-align:top}header,footer>ul{flex-flow:wrap;justify-content:space-between;align-items:center;display:flex}header{gap:.5rem;margin-top:2vmin}footer{gap:.5rem;margin-bottom:2vmin}nav,footer{font-weight:700}nav{text-align:right;flex-shrink:0;margin-left:auto;font-size:1.5rem}nav>ul>li>a{flex-direction:row;justify-content:flex-end;align-items:center;padding-left:.1rem;display:flex}nav>ul>li>a:after{content:"";vertical-align:text-top;background-color:currentColor;width:1.5rem;height:1.5rem;margin-left:.1rem;display:inline-block;mask-image:url(/assets/svg/arrow-left.svg);mask-size:cover}a{text-wrap:wrap;word-break:normal}main a{text-decoration:underline}main a.external{cursor:help}main a.dead-link{opacity:.6;text-decoration:line-through}main a[href^=mailto]:after,main a[href^=http]:after{content:"​";background-color:var(--fg);vertical-align:text-top;width:.85rem;height:.85rem;margin-top:.05rem;margin-left:.11rem;display:inline-block;mask-image:url(/assets/svg/external-link.svg);mask-size:cover}main a[href^=mailto],main a[href^=http]{text-wrap:nowrap}@media (width<=400px){main a[href^=mailto],main a[href^=http]{text-wrap:wrap}}a.home{height:133px;color:var(--bg);background-color:var(--fg);text-wrap:nowrap}div.home{text-overflow:clip;width:clamp(140px,40vw,400px);height:clamp(45.5px,13vw,130px);overflow:hidden}h1.home{text-align:center;filter:blur(2px)contrast(200%);font-family:Helvetica LT;font-size:clamp(52.5px,15vw,150px);font-weight:bolder;transition:filter .2s ease-in-out;transform:skew(-34deg)translate(-6.5%)}div.home:hover h1.home{filter:blur()contrast(200%)}.off-screen-ul{z-index:1;font-weight:700;list-style:none;position:absolute;left:-100vw}.skip-link{background:var(--bg);color:var(--fg);padding:.5rem;position:fixed;top:0;left:0;transform:translateY(-10em)}.skip-link:focus{transform:translateY(0)}