@font-face{font-family:Bedstead;src:url(/fonts/bedstead-extended.otf) format("opentype");font-weight:400;font-display:swap}:root{font-family:Bedstead,monospace;color:#fff;background:#000;font-synthesis:none;--blue: #0000ff;--red: #ff0000;--green: #00ff00;--yellow: #ffff00;--cyan: #00ffff}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{background:none;border:0;padding:0}a:focus-visible,button:focus-visible{outline:.08em solid #fff;outline-offset:.06em}a:hover,button:hover{color:#000;background:var(--cyan)}[hidden]{display:none!important}::selection{color:#000;background:var(--yellow)}.television{container-type:inline-size;width:min(100%,125svh);margin-inline:auto}.screen{font-size:3.333333cqw;line-height:.8;padding:0 1.25cqw .15em;min-height:100svh;display:flex;flex-direction:column}h1,h2,h3,p,dl,dd{font:inherit;margin:0}strong{font-weight:400}.red-text{color:var(--red)}.green-text{color:var(--green)}.yellow-text{color:var(--yellow)}.cyan-text{color:var(--cyan)}.transmission-bar{position:relative;display:flex;align-items:center;justify-content:space-between;white-space:nowrap;height:1em;margin-bottom:.25em}#page-display{width:4ch}.channel{color:var(--yellow);background:var(--blue);padding-inline:1ch}#clock{color:var(--yellow)}#date{white-space:pre}#hold-status{position:absolute;background:var(--red);color:#fff;right:0}.masthead{background:var(--blue);color:var(--yellow);padding:.3em 1ch .1em}#pixel-title{display:flex;justify-content:space-between;gap:1.25%;height:2em;width:80%;margin:0 auto .25em}.pixel-letter{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(7,1fr);width:11%}.pixel-letter i.lit{background:currentColor}.masthead-caption{display:flex;justify-content:flex-end;gap:4ch;color:#fff}#section-label{min-width:7ch;text-align:right}main{flex:1;outline:none}.page-heading{height:2em;padding-top:.5em;display:flex;align-items:flex-start;justify-content:space-between;gap:1ch}.page-heading h1{transform:scaleY(1.65);transform-origin:top}.page-heading>span{color:var(--yellow)}.home-grid{display:grid;grid-template-columns:22fr 16fr;gap:1ch}.welcome{color:var(--cyan)}.welcome h2{color:var(--yellow);margin-bottom:.25em}.welcome p{margin-bottom:.25em}.welcome .identity{color:#fff}.mosaic-feature{display:flex;flex-direction:column;justify-content:center;color:var(--yellow);text-align:center;border-left:.25em solid var(--blue);border-bottom:.25em solid var(--blue)}.mosaic-feature img{width:100%;height:4.8em;object-fit:contain;image-rendering:pixelated}.mosaic-feature span{padding:.1em 0}.directory{margin-top:.35em}.directory h2{background:var(--blue);color:#fff;padding-inline:1ch}.directory a{display:flex;gap:0;padding-inline:1ch}.directory a>span:first-child{white-space:nowrap}.leader{flex:1;overflow:hidden;white-space:nowrap;color:inherit}.directory a>span:last-child{color:#fff}.directory a:hover>span:last-child{color:#000}.bike-teaser{display:block;text-align:center;border:.24em solid var(--red);margin:.4em .5ch .25em;color:var(--yellow)}.bike-teaser span{color:#fff}.bike-teaser strong{color:var(--cyan)}.controls{margin-top:.25em}.keyboard-hint{background:var(--blue);color:#fff;text-align:center}kbd{font:inherit}.control-buttons{display:flex;justify-content:space-between;padding-inline:1ch}.control-buttons kbd{color:var(--cyan)}.control-buttons button[aria-pressed=true]{color:#000;background:var(--yellow)}.control-buttons button[aria-pressed=true] kbd{color:#000}.fastext{display:flex;justify-content:space-between;padding-inline:1ch;margin-top:.25em}.fastext a[aria-current=page]{text-decoration:underline;text-underline-offset:.12em}.fastext a:hover{background:#fff;color:#000}.section-intro{color:var(--cyan);margin-bottom:.5em}.section-intro h2{color:var(--yellow);margin-bottom:.5em}.career-list{font-size:.67em}.career-list article{margin-bottom:.25em}.career-list h3{color:var(--yellow)}.career-list .period{color:#000;background:var(--green);padding-inline:1ch;margin-right:1ch}.company{color:var(--green)}.career-list p{color:var(--cyan);margin-top:.1em}.page-footnote{color:var(--yellow);margin-block:.25em}.project-list{font-size:.68em}.project-list article{margin-bottom:.25em}.project-list h3{color:var(--yellow)}.project-list h3 span{color:var(--green)}.project-list p{color:var(--cyan)}.project-status{color:#fff}.about-grid{display:grid;grid-template-columns:23fr 15fr;gap:1ch}.about-copy{color:var(--cyan)}.about-copy h2{color:var(--yellow);margin-bottom:1em}.about-copy p{margin-bottom:1em}.personal-file{color:var(--green)}.file-face{font-size:2em;color:var(--yellow);background:var(--blue);text-align:center;height:2em;padding-top:.4em}.personal-file h3{background:var(--blue);color:#fff;text-align:center}.personal-file dt{color:var(--yellow);margin-top:.5em}.personal-file dd{color:var(--cyan)}.about-strip{color:#fff;background:var(--blue);margin-block:.5em;text-align:center}.cycling-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1ch}.cycling-copy h2{color:var(--yellow);margin-bottom:.25em;text-align:center}.cycling-copy p{color:var(--cyan)}.distance{color:var(--yellow);margin-top:.5em}.distance strong{display:block;font-size:1.8em;line-height:1}.distance>span{color:#fff}.distance-caption{color:var(--green)}.distance-progress{height:.6em;background:var(--blue);margin-top:.5em}.distance-progress span{display:block;height:100%;background:repeating-linear-gradient(to right,var(--green) 0,var(--green) .5ch,#000 .5ch,#000 .65ch)}.cycling-visual{width:4em;height:4em;max-width:100%;margin:auto;display:block;image-rendering:pixelated}.elevation{color:var(--cyan)}.cycling-status{background:var(--blue);color:#fff;text-align:center;margin:.25em 0}.cycling-disclaimer{color:var(--cyan)}.cycling-updated{color:var(--yellow);margin-top:.25em}.reveal-note{color:var(--yellow);margin-top:.5em}.reveal-note>span{background:var(--blue);color:#fff}dialog{font:400 clamp(12px,2.5vw,28px)/1 Bedstead,monospace;width:min(94vw,36ch);padding:0 1ch 1em;border:.3em solid var(--blue);color:#fff;background:#000}dialog::backdrop{background:#000c}.dialog-header{color:var(--yellow);display:flex;justify-content:space-between;background:var(--blue);margin:0 -1ch 1em}dialog h2{color:var(--yellow);margin-bottom:1em}.help-list{margin-block:1em}.help-list>div{display:grid;grid-template-columns:8ch 1fr}.help-list dt{color:var(--green)}.help-list dd{color:var(--cyan)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:0;left:0;z-index:10;clip-path:inset(50%);background:var(--yellow);color:#000;font-size:20px}.skip-link:focus{clip-path:none}.plain-mode{display:flow-root;background:#f8f7f3;color:#292820;min-height:100svh;font:17px/1.55 Georgia,Times New Roman,serif}.plain-page{width:min(570px,calc(100% - 48px));margin-left:clamp(24px,7vw,112px);padding:70px 0 40px;outline:none}.plain-eyebrow,.plain-page h2,.plain-page h3 span,.plain-page footer{font:11px/1.5 Courier New,monospace;color:#777367}.plain-eyebrow{margin-bottom:22px}.plain-page h1{font-size:35px;letter-spacing:-1.4px;margin-bottom:18px}.plain-page header>p:last-child{max-width:440px}.plain-page section{margin-top:42px}.plain-page h2{text-transform:uppercase;letter-spacing:1.5px;margin-bottom:20px}.plain-page article{margin-bottom:24px}.plain-page h3{font-size:18px;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}.plain-page h3 span{margin-left:12px;white-space:nowrap}.plain-page article>p{font-size:15px;max-width:480px}.plain-page .plain-role{font-style:italic;color:#777367;margin:2px 0 7px}.plain-page .plain-technologies{margin-top:10px;font-size:13px;color:#777367}.plain-project-video{display:block;width:100%;max-height:360px;margin-top:14px;border:1px solid #c9c5ba;background:#111;object-fit:contain}.plain-page a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.plain-page a:hover{background:none;color:#a33a28}.plain-page .plain-education{color:#777367;font-size:14px;margin-top:18px}.plain-page footer{margin-top:60px}.plain-mode a:focus-visible,.plain-mode button:focus-visible{outline:2px solid #a33a28;outline-offset:5px}.barca-widget{position:fixed;top:48px;right:42px;width:285px;padding-top:9px;border-top:5px solid #a50044;color:#292820;font-size:11px}.barca-widget:before{content:"";position:absolute;top:-5px;right:0;width:50%;height:5px;background:#004d98}.barca-status{color:#777367;letter-spacing:1px}.barca-status.is-live{color:#a50044}.barca-match{margin-top:8px;font-size:14px}.barca-meta{min-height:1.5em;margin-top:2px;color:#777367}.barca-widget a{display:inline-block;margin-top:7px;text-decoration:underline;text-underline-offset:3px}.barca-widget a:hover{color:#a50044;background:none}.tv-corner{position:fixed;right:42px;bottom:25px;width:285px;font:11px/1.4 Courier New,monospace}.little-tv{position:relative;display:flex;gap:12px;height:180px;padding:15px;border:2px solid #514538;border-radius:13px 13px 9px 9px;background:linear-gradient(100deg,#9a8061,#735b43 75%,#5e4d3c);box-shadow:inset 2px 2px #b09a7c,inset -5px -4px #514435,7px 10px 18px #30271920}.little-tv:after{content:"";position:absolute;bottom:-8px;left:25px;right:25px;height:6px;border-inline:15px solid #42392e}.tv-glass{flex:1;display:grid;place-items:center;overflow:hidden;text-align:center;color:#c7d2b0;border:7px solid #302e29;border-radius:46%/12%;background:repeating-linear-gradient(0deg,#0002 0 1px,transparent 1px 3px),radial-gradient(ellipse,#5c6a55,#252f28);box-shadow:inset 0 0 18px #000b,0 1px #baa384;text-shadow:0 0 5px #c7d2b080;font-size:12px;letter-spacing:1px}.tv-glass small{display:block;font-size:7px;margin-top:16px;letter-spacing:0}.tv-hardware{width:32px;display:flex;flex-direction:column;align-items:center;gap:9px;color:#e0d2b7}.tv-hardware>i{width:26px;height:26px;border:3px solid #37332c;border-radius:50%;background:linear-gradient(115deg,#817561 42%,#b5a389 43% 51%,#50493d 52%);box-shadow:1px 2px 2px #0008}.tv-speaker{width:100%;flex:1;background:repeating-linear-gradient(0deg,#332d25 0 2px,transparent 2px 5px)}.tv-hardware small{font-size:7px}.remote-area{position:relative;height:140px;padding-top:29px}#remote-hint{width:150px;color:#898376;font-size:11px;font-style:italic}.remote{position:absolute;bottom:0;right:12px;width:72px;min-height:114px;padding:10px 8px;border:1px solid #161817;border-radius:10px 10px 14px 14px;color:#e1dfd5;background:linear-gradient(100deg,#4b4d48,#262926 80%);box-shadow:inset 2px 1px #777970,5px 5px 5px #0003;transform:rotate(15deg);transition:transform .22s ease,box-shadow .22s ease}.remote.picked-up{transform:translate(-12px,-16px) rotate(-5deg) scale(1.2);box-shadow:12px 20px 20px #0003}#pickup-remote{display:block;width:100%;min-height:94px}#pickup-remote:hover,#putdown-remote:hover{background:transparent;color:#fff}.remote-light{display:block;width:10px;height:10px;border-radius:50%;background:#ae493c;margin-bottom:12px}.remote-grip{display:block;height:32px;background:repeating-linear-gradient(0deg,#151715 0 4px,transparent 4px 8px);margin-bottom:8px}.pickup-label{font-size:9px}#putdown-remote{min-height:26px;font-size:8px;text-decoration:underline}.remote-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0 10px}.remote-numbers span{background:#161816;text-align:center;border-radius:3px;font-size:8px}#teletext-button{display:grid;place-items:center;min-height:44px;border-radius:3px;background:#e0dbbd;color:#282d25;font-size:8px;box-shadow:0 2px #141814}#teletext-button:hover{background:#fff8d8}#teletext-button>span{font-size:21px;line-height:1}.remote-colors{display:flex;gap:4px;margin-top:12px}.remote-colors i{width:10px;height:5px;border-radius:2px;background:#b64c3f}.remote-colors i:nth-child(2){background:#719066}.remote-colors i:nth-child(3){background:#c2ad63}.remote-colors i:nth-child(4){background:#688da5}@media(max-width:1000px){.plain-page{margin-left:24px;padding-top:42px}.tv-corner{position:relative;right:auto;bottom:auto;margin:15px 24px 25px auto}}@media(max-width:900px){.barca-widget{position:relative;top:auto;right:auto;width:min(285px,calc(100% - 48px));margin:24px 24px 0 auto}.plain-page{padding-top:34px}}@media(prefers-reduced-motion:reduce){.remote{transition:none}}.plain-mode,.plain-mode *{font-family:JetBrains Mono,monospace}@media(max-aspect-ratio:3/4){.screen{min-height:0}}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}
