@font-face{font-family:regular-font;src:url(../../../assets/font/ServerMono-Regular.woff2) format("woff2"),url(../../../assets/font/ServerMono-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:italic-font;src:url(../../../assets/font/ServerMono-Regular-Italic.woff2) format("woff2"),url(../../../assets/font/ServerMono-Regular-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:fira-code;src:url(../../../assets/font/FiraCode-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--background: rgb(24, 24, 27);--background-elevated: rgb(34, 34, 38);--text: rgb(248, 250, 252);--text-dim: rgba(248, 250, 252, .72);--text-subtle: rgba(248, 250, 252, .5);--accent: rgb(243, 197, 136);--accent-soft: rgba(243, 197, 136, .14);--border: rgba(248, 250, 252, .14);--border-soft: rgba(248, 250, 252, .08);--border-strong: rgb(248, 250, 252)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html,body{background-color:var(--background);color:var(--text);margin:0;padding:0;line-height:1.55;font-family:regular-font,ui-serif,Georgia,serif}::selection{background:var(--accent);color:var(--background)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#f8fafc47}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}a{color:inherit;text-decoration:none;display:block}main{max-width:768px;margin:0 auto;padding:24px 16px;animation:page-in .5s ease-out both}@media screen and (min-width:768px){main{padding:24px 48px}}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}main>header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--border-strong);padding-bottom:10px;gap:16px}main>header>a:first-child{font-size:1.05rem;letter-spacing:.02em}main>header nav{display:flex;gap:24px;font-size:.95rem}main>header a{display:inline-block;position:relative;padding-bottom:2px;transition:color .2s ease}main>header a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--text);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}main>header a:hover:after{transform:scaleX(1);transform-origin:left}main>header a:hover{color:var(--accent)}footer{display:grid;place-items:center;gap:16px;padding:20px 0 12px;margin-top:24px;border-top:1px solid var(--border-soft);color:var(--text-subtle);font-size:.85rem;letter-spacing:.04em}@media screen and (min-width:500px){footer{display:flex;justify-content:space-between}}h1,h2,h3,h4{font-family:regular-font;font-weight:400;line-height:1.15;letter-spacing:-.005em;word-wrap:break-word;overflow-wrap:break-word;margin:0}p,div,span,code{font-family:regular-font;font-weight:400;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}p{margin:0}ul,ol,menu{margin:0;padding:0}h5,h6{font-family:regular-font;font-weight:400;line-height:1.3;opacity:.6;margin:0}h1{font-size:clamp(2.4rem,5vw,3.2rem)}h2{font-size:clamp(1.9rem,3.6vw,2.4rem)}h3{font-size:clamp(1.35rem,2.3vw,1.7rem)}h4{font-size:1.2rem}p{font-size:1.05rem;color:var(--text-dim)}em,i{font-family:italic-font;font-style:italic}img{max-width:100%;display:block}.pixel-img,section>img,.entry img{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;border:1px solid var(--border);border-radius:2px}.underline{text-decoration:underline;text-underline-offset:.28rem;text-decoration-thickness:1px;text-decoration-color:var(--border);transition:text-decoration-color .2s ease,color .2s ease}.underline:hover{color:var(--accent);text-decoration-color:var(--accent)}.border-b{border-bottom:2px solid var(--border-strong)}.section{padding:28px 0;border-bottom:2px solid var(--border-strong)}.section:last-of-type{border-bottom:none}.grid{display:grid}.gap-2,.gap-4{gap:1rem}.gap-8{gap:2rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.pb-2{padding-bottom:.5rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pr-8{padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.flex-grow{flex-grow:1}.justify-between{justify-content:space-between}@media screen and (min-width:768px){.md-flex{display:flex}}.project{padding:4px 0}.project h3{transition:color .2s ease}.project:hover h3{color:var(--accent)}.reveal{counter-reset:entry-counter}.entry{counter-increment:entry-counter;display:block;padding:18px 0 18px 2.75rem;border-bottom:1px dashed var(--border);position:relative;transition:border-bottom-color .2s ease}.entry:before{content:counter(entry-counter,decimal-leading-zero);position:absolute;left:0;top:24px;font-family:fira-code,ui-monospace,monospace;font-size:.72rem;letter-spacing:.15em;color:var(--text-subtle);transition:color .25s ease}.entry h3{font-size:1.2rem;transition:color .25s ease}.entry p{color:var(--text-dim);font-size:.95rem;margin-top:6px}.entry:hover{border-bottom-color:var(--accent-soft)}.entry:hover:before{color:var(--accent)}.entry:hover h3{color:var(--accent)}.cert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cert-list li{border-bottom:1px dashed var(--border)}.cert-list li:last-child{border-bottom:none}.cert-list a{display:flex;flex-direction:column;gap:6px;padding:14px 0;transition:color .2s ease}.cert-list a:hover{color:var(--accent)}.cert-title{display:block}.cert-meta{display:block;color:var(--text-subtle);font-family:fira-code,ui-monospace,monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{display:inline-flex;align-items:center;font-family:regular-font;font-size:.85rem;line-height:1;padding:9px 14px 5px;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);letter-spacing:.01em;transition:border-color .2s ease,color .2s ease,background .2s ease;cursor:default}.chip:hover{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.eyebrow{font-family:fira-code,ui-monospace,monospace;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-subtle);margin:0;line-height:1.2}.section-head{display:grid;gap:.75rem;margin-bottom:1.25rem}.section-head h1,.section-head h2,.section-head h3{margin:0}.reveal>*{opacity:0;transform:translateY(6px);animation:page-in .5s ease-out forwards}.reveal>*:nth-child(1){animation-delay:40ms}.reveal>*:nth-child(2){animation-delay:90ms}.reveal>*:nth-child(3){animation-delay:.14s}.reveal>*:nth-child(4){animation-delay:.19s}.reveal>*:nth-child(5){animation-delay:.24s}.reveal>*:nth-child(n+6){animation-delay:.29s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
