pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--bg: #0a0a0a;--surface: #111111;--surface-2: #161616;--text: #f5f5f5;--muted: #bebebe;--accent: #ff1f1f;--accent-dark: #c81010;--focus: #ff4a4a;--border: #2b2b2b;--font-display: "Bebas Neue", sans-serif;--font-body: "Instrument Sans", sans-serif;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-body);background:radial-gradient(circle at 10% -10%,#340808 0,transparent 40%),var(--bg);color:var(--text);line-height:1.5}.noise{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.035;pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.skip-link{position:absolute;top:-100%;left:0;background:var(--accent);color:#fff;padding:.75rem 1rem;z-index:1000}.skip-link:focus{top:0}.page-shell{width:min(1100px,100% - 2rem);margin:0 auto;padding:1rem 0 3rem}.site-header{width:100%;display:flex;justify-content:center;padding:.9rem 1rem 1rem;position:sticky;top:0;z-index:20;background:linear-gradient(to bottom,#0a0a0a57,#0a0a0a24 62%,#0a0a0a00);border-radius:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-inner{width:min(1100px,100% - 2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}section[id],footer[id],main[id]{scroll-margin-top:6rem}.brand{margin:0;font-family:var(--font-display);font-size:2rem;letter-spacing:.06em;color:var(--accent)}.site-header nav{display:flex;gap:1rem;flex-wrap:wrap}.site-header a{color:var(--muted);text-decoration:none;font-weight:600}.site-header a:hover{color:var(--text)}.hero{padding:1rem 0 2.5rem;border-bottom:1px solid var(--border)}.eyebrow{margin:0;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700}.hero h1{margin:.15rem 0 0;font-family:var(--font-display);font-size:clamp(3rem,11vw,7rem);letter-spacing:.015em;line-height:.9}.hero-tagline{margin:.75rem 0 0;font-size:clamp(1.15rem,2.5vw,1.5rem);max-width:35ch}.hero-intro{margin:.75rem 0 0;color:var(--muted);max-width:66ch;line-height:1.65}.hero-contact-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.35rem}.hero-icon-link{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:#ffffff09;color:var(--text);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.hero-icon-link:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px)}.hero-icon-link svg{width:21px;height:21px;fill:currentColor}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.btn{display:inline-block;padding:.7rem 1.1rem;border:2px solid transparent;text-decoration:none;font-weight:700}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{border-color:#fff;color:#fff}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.section-block{padding:2.25rem 0;border-bottom:1px solid var(--border)}.section-header h2{margin:.2rem 0 0;font-family:var(--font-display);font-size:clamp(2rem,5vw,3.2rem);letter-spacing:.02em}.section-header-row{display:flex;align-items:end;justify-content:space-between;gap:1rem}.section-action{color:var(--text);font-weight:700;text-underline-offset:3px;white-space:nowrap}.card-grid{display:grid;gap:1rem;margin-top:1rem}.card-grid-blogs,.card-grid-projects{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.card-grid-experience{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.card{background:linear-gradient(160deg,var(--surface),var(--surface-2));border:1px solid var(--border);padding:1.05rem}.card h3{margin:.35rem 0;font-size:1.08rem}.card p{margin:0;color:var(--muted);line-height:1.6}.meta{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.card-link,.link-row a{display:inline-block;margin-top:.8rem;color:var(--text);font-weight:700;text-underline-offset:2px}.link-row{display:flex;gap:.9rem;flex-wrap:wrap}.section-note{margin-top:1rem;color:var(--muted);font-size:.9rem}.experience-card{display:grid;gap:.9rem;align-self:start}.experience-head{display:flex;align-items:center;gap:.85rem}.experience-logo{width:100%;height:100%;object-fit:contain;display:block}.experience-logo-wrap{width:64px;height:64px;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--border);padding:.28rem}.experience-logo-trim{transform:scale(1.9);transform-origin:center}.experience-head h3{margin:0;font-size:1.08rem}.experience-head .meta{margin:.1rem 0 0}.experience-period{margin:0;color:var(--muted);font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}.experience-summary{margin:0;color:var(--muted);line-height:1.65}.experience-points{margin:0;padding-left:1.1rem;display:grid;gap:.45rem;color:var(--muted)}.experience-points li{line-height:1.55}.education-card{display:grid;gap:1rem;padding:1.2rem;background:linear-gradient(160deg,#131313,#1a1a1a)}.education-top{display:flex;align-items:center;gap:.95rem}.education-logo-wrap{width:72px;height:72px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--border);padding:.32rem;flex:0 0 auto}.education-logo{width:100%;height:100%;object-fit:contain;display:block}.education-title{min-width:0}.education-title .meta{margin:0 0 .3rem}.education-title h3{margin:0;font-size:clamp(1.2rem,2.1vw,1.45rem);line-height:1.2}.education-details{border-top:1px solid var(--border);padding-top:.85rem;display:grid;gap:.4rem}.education-degree{color:var(--text)!important;font-weight:650}.education-minor{color:var(--muted)}.highlight-list{margin:1rem 0 0;padding:0;list-style:none;display:grid;gap:.9rem}.highlight-list li{border-left:3px solid var(--accent);background:#121212;padding:.8rem .8rem .8rem 1rem;color:var(--muted)}.site-footer{padding-top:2rem}.site-footer h2{margin:0;font-family:var(--font-display);font-size:2.1rem;letter-spacing:.03em}.site-footer p{margin:.65rem 0 0;color:var(--muted)}.site-footer a{color:var(--text)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (max-width: 700px){.page-shell{width:min(1100px,100% - 2.5rem);padding-top:1.2rem}.site-header{padding:.75rem 1rem .9rem}.header-inner{display:grid;grid-template-columns:1fr;justify-items:start;gap:.9rem;width:100%}.brand{font-size:1.85rem;line-height:1}.site-header nav{display:flex;flex-wrap:nowrap;width:100%;min-width:0;justify-content:flex-start;gap:.75rem;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none}.site-header nav::-webkit-scrollbar{display:none}.site-header a{font-size:.92rem;letter-spacing:.01em;flex:0 0 auto}.hero{padding:.55rem 0 2.7rem}.hero h1{font-size:clamp(2.5rem,13vw,4.2rem)}.hero-tagline{margin-top:1rem;line-height:1.45}.hero-intro{margin-top:.95rem;line-height:1.75}.hero-actions{margin-top:1.8rem;gap:.9rem}.section-block{padding:2.75rem 0}.section-header-row{align-items:start;flex-direction:column;gap:.7rem}.section-action{display:inline-block;margin-top:.1rem}.card-grid{margin-top:1.2rem;gap:1.15rem}.card-grid-experience{grid-template-columns:1fr}.card{padding:1.15rem}.experience-logo-wrap{width:58px;height:58px;border-radius:10px}.education-card{padding:1.1rem;gap:.9rem}.education-top{gap:.8rem;align-items:flex-start}.education-logo-wrap{width:62px;height:62px;border-radius:12px}.education-details{padding-top:.75rem;gap:.48rem}.highlight-list{margin-top:1.2rem;gap:1.05rem}.highlight-list li{padding:.95rem .9rem .95rem 1.1rem}.site-footer{padding-top:2.75rem}.blog-main,.blog-list-main{padding:1.35rem 0 3.6rem}.blog-list-hero{padding-bottom:1.55rem}.blog-list-hero h1{font-size:clamp(2.25rem,11vw,3.5rem)}.blog-article h1{font-size:clamp(2rem,10.5vw,3.25rem)}.blog-meta{margin-bottom:1.6rem}.markdown-content{gap:1.05rem}.markdown-content p{font-size:1rem;line-height:1.8}}@media (max-width: 430px){.page-shell{width:min(1100px,100% - 2.25rem)}.site-header nav{justify-content:flex-start;gap:.6rem}.site-header a{font-size:.86rem}.hero-actions .btn{width:100%;text-align:center}}.blog-main{padding:1.2rem 0 3.2rem;min-width:0}.blog-list-main{padding:1.2rem 0 3.2rem}.blog-list-hero{max-width:760px;padding:0 0 1.75rem;border-bottom:1px solid var(--border)}.blog-list-hero h1{margin:.2rem 0 0;font-family:var(--font-display);font-size:clamp(2.7rem,8vw,5rem);line-height:.95;letter-spacing:.02em}.blog-list-hero p:last-child{margin:.8rem 0 0;color:var(--muted);max-width:58ch;line-height:1.65}.blog-list-section{padding-top:1.5rem}.blog-list-grid{margin-top:0}.blog-article{max-width:760px;width:min(760px,100%);min-width:0}.blog-article h1{margin:.2rem 0 0;font-family:var(--font-display);font-size:clamp(2.3rem,7vw,4.5rem);line-height:.95}.blog-meta{color:var(--muted);margin-top:.6rem;margin-bottom:1.4rem;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}.markdown-content{display:grid;gap:.95rem;min-width:0}.markdown-content>*{min-width:0}.markdown-content h2,.markdown-content h3,.markdown-content h4{margin:1.6rem 0 .25rem;font-family:var(--font-display);letter-spacing:.02em;color:var(--text)}.markdown-content h2{font-size:clamp(1.7rem,5vw,2.5rem)}.markdown-content h3{font-size:clamp(1.3rem,4vw,1.8rem)}.markdown-content p{margin:0;color:var(--muted);font-size:1.03rem;line-height:1.75;overflow-wrap:anywhere}.markdown-content ul,.markdown-content ol{margin:.2rem 0 .2rem 1.2rem;color:var(--muted)}.markdown-content li{margin:.35rem 0;line-height:1.6;overflow-wrap:anywhere}.markdown-content a{color:var(--text);text-decoration-color:var(--accent);text-underline-offset:3px;overflow-wrap:anywhere;word-break:break-word}.markdown-content pre{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:1rem;overflow-x:auto;margin:1rem 0}.markdown-content code{font-family:Fira Code,Monaco,Consolas,monospace;font-size:.9em;background:var(--surface-2);color:var(--accent);padding:.1em .3em;border-radius:3px}.markdown-content pre code{background:none;padding:0;border:none;border-radius:0;color:var(--text)}.markdown-content table{border-collapse:collapse;width:100%;color:var(--muted);font-size:.95rem;line-height:1.6}.markdown-content table thead{background:var(--surface-2);border-bottom:2px solid var(--border)}.markdown-content table th{padding:.75rem .5rem;text-align:left;font-weight:600;color:var(--text)}.markdown-content table td{padding:.75rem .5rem;border-bottom:1px solid var(--border)}.markdown-content table tr:hover{background:#ff1f1f05}.markdown-content img{max-width:100%;height:auto;display:block;border-radius:8px;margin:1rem 0}@media (max-width: 700px){.markdown-content table{font-size:.85rem;border-collapse:collapse;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border)}.markdown-content table th{padding:.6rem .4rem;white-space:nowrap;min-width:80px}.markdown-content table td{padding:.6rem .4rem;white-space:nowrap}.markdown-content img{margin:.75rem 0}}
