@import"https://fonts.googleapis.com/css?family=Roboto+Mono:100,300,400,500";html,body{margin:0;min-width:320px;background:#16191b;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}:root{--bg: #16191b;--fg: #ffffff;--ease-out-quint: cubic-bezier(.23, 1, .32, 1);--ease-in-out-quint: cubic-bezier(.86, 0, .07, 1);--ease-back: cubic-bezier(.175, .885, .32, 1.275)}*{margin:0;padding:0;box-sizing:border-box}html,body{background:var(--bg);overflow:hidden;height:100%}#root{height:100%;width:100%}.app{font-family:Roboto Mono,monospace;background:var(--bg);font-weight:300;color:var(--fg);position:absolute;height:100%;width:100%;left:0;top:0}.typer{display:inline-block}.typer.reserved{position:relative;max-width:100%}.typer-ghost{visibility:hidden}.typer.reserved .typer-live{position:absolute;left:0;top:0;width:100%}.typer .temp{opacity:.45}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.cursor:before{animation:blink 1s infinite;content:"_"}.cursor.done{opacity:0;transition:opacity .5s ease}@keyframes blink{0%{opacity:.1}50%{opacity:1}to{opacity:.1}}.header{justify-content:space-between;align-items:center;position:absolute;padding:0 16px;display:flex;width:100%;height:60px;top:0;z-index:3}.logo{width:32px;height:32px;fill:none;stroke:var(--fg);stroke-width:1.5;overflow:visible}.logo path{stroke-dasharray:48;stroke-dashoffset:48;animation:draw 1.75s var(--ease-out-quint) .1s forwards}.logo path:nth-child(2){animation-delay:.35s}@keyframes draw{to{stroke-dashoffset:0}}.header-nav{display:flex;gap:16px;font-size:12px}.container{-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;overflow-y:scroll;scroll-behavior:smooth;position:absolute;display:flex;inset:60px 0 50px}.container::-webkit-scrollbar{width:0}.wrapper{max-width:720px;padding:24px 16px 64px;margin:auto;width:100%}.section{position:relative;margin:40px 0 32px;font-size:13px;line-height:1.7}.section-title{text-transform:uppercase;letter-spacing:.15em;font-size:10px;opacity:1;color:var(--fg);white-space:nowrap}.section-title:after{content:"."}@media screen and (max-width: 939px){.section-title{margin-bottom:16px;display:block}}@media screen and (min-width: 940px){.section-title{transform:translate3d(-100%,0,0);position:absolute;left:-16px;top:6px}}.reveal{transform:translate3d(0,16px,0);transition:opacity .8s var(--ease-out-quint),transform .8s var(--ease-out-quint);opacity:0}.reveal.visible{transform:translateZ(0);opacity:1}@media (prefers-reduced-motion: reduce){.reveal{transform:none;transition:none;opacity:1}}.link{text-decoration:none;position:relative;display:inline-block;overflow:hidden;color:inherit;cursor:pointer}.link .title{transition:opacity .3s var(--ease-out-quint);position:relative;overflow:hidden;opacity:1;color:#fff;display:inline-block}.link .title:after{transition:all .5s var(--ease-back);transform:translate3d(calc(-100% - 8px),0,0);background:#262626;position:absolute;content:"";bottom:-2px;height:1px;width:24px;left:0}.link:hover .title{opacity:1}.link:hover .title:after{transition:all .275s var(--ease-out-quint);transform:none;background:#bfbfbf;width:100%}.link .index{transition:opacity .3s var(--ease-out-quint);margin-right:8px;opacity:1}.link:hover .index{opacity:1}.intro{margin:8px 0 32px;display:flex;align-items:flex-start;gap:24px}.intro-body{flex:1 1 auto;min-width:0}.intro-photo{animation:photo-in 1.2s var(--ease-out-quint) .2s both;border:1px solid rgba(226,230,232,.15);border-radius:0;object-fit:cover;flex:0 0 auto;height:140px;width:140px}@keyframes photo-in{0%{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.intro-photo{animation:none}}@media screen and (max-width: 519px){.intro{gap:16px}.intro-photo{height:96px;width:96px}}.intro .greeting{font-size:32px;line-height:1.25;display:block;margin-bottom:22px}.intro .greeting .name{color:#fff}.intro p{font-size:18px;line-height:1.7;opacity:1}.intro .meta{font-size:14px;line-height:1.7;opacity:1;margin-top:14px}@media screen and (max-width: 719px){.intro .greeting{font-size:26px}.intro p{font-size:16px}}@media screen and (max-width: 519px){.intro .greeting{font-size:21px}}.entry{margin-bottom:28px}.entry:last-child{margin-bottom:0}.entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.entry-role{color:#fff;font-size:14px;font-weight:400}.entry-org{font-size:13px;opacity:1}.entry-date{font-size:11px;opacity:1;white-space:nowrap}.entry ul{list-style:none;margin-top:8px}.entry li{font-size:13px;line-height:1.75;opacity:1;padding-left:16px;position:relative}.entry li:before{content:"—";position:absolute;opacity:1;left:0}.entry-tech{font-size:11px;opacity:1;margin-top:8px}.list{list-style:none}.list>li{margin-bottom:20px}.list>li:last-child{margin-bottom:0}.list .line{line-height:28px;font-size:14px}.list .note{font-size:13px;line-height:1.75;opacity:1;padding-left:28px}.list .tech{font-size:11px;opacity:1;padding-left:28px;margin-top:4px}.entry-actions{padding-left:0;margin-top:6px;display:flex;gap:20px;font-size:11px}.list .actions{padding-left:28px;margin-top:2px;display:flex;gap:20px;font-size:11px}.two-col{column-gap:24px;columns:2 auto}@media screen and (max-width: 719px){.two-col{columns:1 auto}}.two-col li{line-height:28px;font-size:13px;break-inside:avoid;margin-bottom:0}.hackathon-line{margin-top:16px}.two-col .issuer{font-size:11px;opacity:1;margin-left:8px}.contact-list{list-style:none;font-size:13px;line-height:28px}.contact-list li{display:flex;align-items:center;gap:12px}.contact-list .label{flex:0 0 84px;opacity:1;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.footer{justify-content:space-between;align-items:center;line-height:2;font-size:12px;position:absolute;display:flex;padding:0 16px;bottom:0;width:100%;height:50px;background:var(--bg);z-index:3}.footer .status{transition:opacity .66s var(--ease-out-quint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;opacity:1}.footer .status:hover{opacity:1}.footer .social{display:flex}.footer .social a{transition:opacity .3s var(--ease-out-quint);margin-left:16px;text-decoration:none;opacity:1;color:var(--fg)}.footer .social a:hover{opacity:1}@media screen and (max-width: 719px){.header-nav,.footer .status{display:none}.entry-head{flex-direction:column;gap:2px}}
