@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/about-me/assets/JetBrainsMono-Regular-CA-Os4ii.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/about-me/assets/JetBrainsMono-Medium-DoKWA_AF.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-color:#0a0a0a;--card-bg:#0d1117;--text-primary:#c9d1d9;--text-secondary:#8b949e;--accent:#58a6ff;--accent-hover:#79c0ff;--border:#21262d;--muted:#161b22;--radius:.375rem}*{box-sizing:border-box;margin:0;padding:0;font-family:JetBrains Mono,Cascadia Code,monospace}html{scroll-behavior:smooth}img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body{background-color:var(--bg-color);color:var(--text-primary);font-size:14px;line-height:1.6;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;opacity:.03;background-image:linear-gradient(to right, var(--text-primary) 1px, transparent 1px), linear-gradient(to bottom, var(--text-primary) 1px, transparent 1px);background-size:32px 32px;position:fixed;inset:0}::selection{color:var(--text-primary);background-color:#58a6ff4d}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}main{z-index:1;max-width:1280px;margin:0 auto;padding:0;position:relative}.hero-section,.skills-section,.projects-section{padding:5rem 2rem 4rem}.reveal-section{opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);transform:translateY(30px)}.reveal-section.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal-section{opacity:1!important;transition:none!important;transform:none!important}}@media (width<=768px){.hero-section,.skills-section,.projects-section{padding:3.5rem 1.25rem 2.5rem}.scroll-top-btn{bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));right:calc(1.5rem + env(safe-area-inset-right,0px));width:40px;height:40px}}@media (width<=480px){.hero-section,.skills-section,.projects-section{padding:2.75rem .85rem 2rem}}.section-title{text-align:left;letter-spacing:0;color:var(--text-primary);margin-bottom:2rem;font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:500}.hero-section{position:relative;overflow:hidden}.hero-content{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:900px;margin:0 auto;position:relative;overflow:hidden}.hero-body{justify-content:space-between;align-items:flex-start;gap:2rem;padding:1.5rem;display:flex}@media (width<=768px){.hero-body{text-align:left;flex-direction:column-reverse;gap:1.5rem}}@media (width<=480px){.hero-body{padding:1.1rem}.hero-contacts{gap:.5rem}.contact-link{padding:.45rem .7rem;font-size:.8rem}}.avatar-container{flex-shrink:0;position:relative}.avatar{z-index:1;object-fit:cover;border:2px solid var(--border);filter:grayscale(30%)contrast(1.1);border-radius:4px;max-width:180px;height:auto;transition:filter .3s;position:relative}.avatar-container:hover .avatar{filter:grayscale(0%)contrast()}.hero-text h1{letter-spacing:0;color:var(--text-primary);margin-bottom:1.25rem;font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:500}.bio{color:var(--text-secondary);letter-spacing:-.01em;max-width:100%;font-size:.95rem;line-height:1.75}.bio-greeting{color:var(--accent);margin-bottom:.75rem;font-weight:500}.bio p{margin-bottom:.75rem}.bio p:last-child{margin-bottom:0}.hero-contacts{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.contact-link{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);min-height:40px;color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .85rem;font-family:JetBrains Mono,monospace;font-size:.85rem;text-decoration:none;transition:border-color .2s,background-color .2s,color .2s,transform .2s;display:inline-flex}.contact-link:hover{border-color:var(--accent);color:var(--accent);background-color:#58a6ff1a;transform:translateY(-1px)}.contact-icon{object-fit:contain;pointer-events:none;flex-shrink:0;width:16px;height:16px}.contact-arrow{color:var(--text-secondary);font-size:.8rem;line-height:1;transition:transform .2s,color .2s}.contact-link:hover .contact-arrow{color:var(--accent);transform:translate(2px,-2px)}@media (width<=768px){.hero-text h1{font-size:1.35rem}}.awards-section{padding:3rem 2rem 3.5rem}.awards-content{width:100%;max-width:900px;margin:0 auto}.awards-card{background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.awards-list{flex-direction:column;display:flex}.award-row{border:none;border-bottom:1px solid var(--border);color:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:1.25rem;width:100%;min-height:48px;padding:1rem 1.25rem;font-family:inherit;transition:background-color .15s,padding-left .15s;display:flex}.award-row:last-child{border-bottom:none}.award-row:hover{background-color:#58a6ff0d;padding-left:1.5rem}.award-row:hover .award-title{color:#fff}.award-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.award-year{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:2.75rem;font-size:.85rem}.award-rank{color:var(--accent);white-space:nowrap;flex-shrink:0;min-width:7.2rem;font-size:.82rem}.award-bracket{color:var(--text-secondary);opacity:.45}.award-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.9rem;font-weight:500;transition:color .15s;overflow:hidden}.award-arrow{color:var(--text-secondary);flex-shrink:0;margin-left:auto;font-size:.85rem;transition:color .15s,transform .15s}.award-row:hover .award-arrow{color:var(--accent);transform:translate(2px,-2px)}@media (width<=640px){.awards-section{padding:2rem 1.25rem 2.5rem}.award-row{grid-template-columns:auto auto 1fr;grid-template-areas:"year rank arrow""title title title";align-items:center;gap:.35rem .75rem;padding:.85rem 1rem;display:grid}.award-row:hover{padding-left:1rem}.award-year{grid-area:year;min-width:auto}.award-rank{grid-area:rank;min-width:auto}.award-title{white-space:normal;grid-area:title;font-size:.88rem}.award-arrow{grid-area:arrow;justify-self:end}}@media (width<=480px){.awards-section{padding:2rem .85rem}.award-row{padding:.75rem .85rem}}.skills-content{width:100%;max-width:900px;margin:0 auto}.skills-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.marquee-container{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;gap:1rem;width:100%;padding:1.5rem 0;display:flex;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}@media (hover:hover){.marquee-container:hover .track-left,.marquee-container:hover .track-right{animation-play-state:paused}}.marquee-row{width:100%;display:flex;overflow:hidden}.marquee-track{width:max-content;display:flex}.marquee-content{gap:1rem;padding-right:1rem;display:flex}.track-left{animation:40s linear infinite scroll-left}.track-right{animation:40s linear infinite scroll-right}@media (prefers-reduced-motion:reduce){.track-left,.track-right{animation:none}.marquee-container{pointer-events:auto;-webkit-user-select:auto;user-select:auto;-webkit-mask-image:none;mask-image:none}.marquee-row{scrollbar-width:thin;-webkit-overflow-scrolling:touch;overflow-x:auto}}@keyframes scroll-left{to{transform:translate(-50%)}}@keyframes scroll-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.skill-card{background-color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;transition:border-color .2s,background-color .2s;display:flex}.skill-card:hover{border-color:var(--accent);background-color:#58a6ff14}.skill-card img{object-fit:contain;pointer-events:none;-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;width:22px;height:22px}.projects-content{width:100%;max-width:1140px;margin:0 auto}.projects-layout{grid-template-columns:minmax(0,1fr) 210px;align-items:start;gap:2.5rem;display:grid}.projects-list{flex-direction:column;gap:2rem;width:100%;min-width:0;display:flex}.project-card{background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;padding:1.5rem;scroll-margin-top:2rem;transition:border-color .3s;overflow:hidden}@media (width<=960px){.projects-layout{flex-direction:column;gap:1rem;display:flex}.project-card{scroll-margin-top:5rem}}@media (width<=480px){.project-card{padding:1rem}}.project-card:hover{border-color:var(--accent)}.project-header{margin-bottom:1rem}.project-title-area h3{color:var(--accent);letter-spacing:0;overflow-wrap:break-word;margin-bottom:.5rem;font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:500}.project-tags{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.project-tag{color:var(--text-secondary);background-color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);-webkit-user-select:none;user-select:none;align-items:center;padding:.2rem .5rem;font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.2;transition:color .2s,border-color .2s;display:inline-flex}.project-tag:hover{color:var(--text-primary);border-color:var(--accent)}.project-tag-hash{color:var(--accent);opacity:.7;margin-right:2px}.project-full-desc{color:var(--text-secondary);letter-spacing:-.01em;font-size:.92rem;line-height:1.75}.project-full-desc p{margin-bottom:.85rem}.project-full-desc p:last-child{margin-bottom:0}.projects-nav{z-index:10;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;scrollbar-width:none;-ms-overflow-style:none;width:210px;max-height:calc(100vh - 4rem);padding-top:.25rem;position:sticky;top:2rem;overflow-y:auto}.projects-nav::-webkit-scrollbar{display:none}.projects-nav-header{color:var(--text-secondary);text-transform:lowercase;letter-spacing:.05em;opacity:.6;margin-bottom:.65rem;font-family:JetBrains Mono,monospace;font-size:.78rem}.projects-nav-list{border-left:1px solid var(--border);flex-direction:column;gap:.25rem;margin:0;padding-left:.65rem;list-style:none;display:flex}.projects-nav-item{position:relative}.projects-nav-link{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.2rem 0;font-family:JetBrains Mono,monospace;font-size:.82rem;line-height:1.4;transition:color .2s,transform .2s;display:flex}.projects-nav-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (hover:hover){.projects-nav-link:hover{color:var(--text-primary);transform:translate(2px)}.projects-nav-link:hover .projects-nav-prefix{color:var(--text-secondary)}}.projects-nav-link.active{color:var(--accent);font-weight:500;transform:translate(4px)}.projects-nav-prefix{color:var(--border);flex-shrink:0;width:.75rem;font-size:.7rem;transition:color .2s}.projects-nav-link.active .projects-nav-prefix{color:var(--accent)}@media (width<=960px){.projects-nav{z-index:20;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background-color:#0a0a0ae6;order:-1;width:100%;max-height:none;padding:.75rem 0;position:sticky;top:0}.projects-nav-header{display:none}.projects-nav-list{white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;border-left:none;flex-direction:row;gap:.5rem;padding-bottom:.25rem;padding-left:.25rem;padding-right:1.5rem;overflow-x:auto}.projects-nav-list::-webkit-scrollbar{display:none}.projects-nav-link{background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .8rem;font-size:.82rem}@media (hover:hover){.projects-nav-link:hover{border-color:var(--accent);transform:none}}.projects-nav-link.active{border-color:var(--accent);color:var(--accent);background-color:#58a6ff1f;transform:none}.projects-nav-prefix{display:none}}.ascii-diagram{margin-top:.75rem}.ascii-diagram-toggle{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.6rem 1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;transition:border-color .2s,background-color .2s;display:flex}.ascii-diagram-toggle:hover{border-color:var(--accent)}.diagram-title{color:var(--text-primary);font-weight:500}.diagram-toggle-state{color:var(--accent);opacity:.8;font-size:.75rem}.ascii-diagram-content{background-color:var(--muted);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);border-top:none;animation:.3s ease-out diagramReveal;overflow:hidden}@keyframes diagramReveal{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ascii-diagram-content pre{color:var(--text-primary);-webkit-overflow-scrolling:touch;white-space:pre;margin:0;padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;line-height:1.4;overflow-x:auto}@media (width<=480px){.ascii-diagram-content pre{padding:.75rem;font-size:.72rem}}.inference-gallery{flex-direction:column;gap:1.5rem;margin-top:1.25rem;display:flex}.inference-gallery-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.inference-gallery-grid .inference-item{aspect-ratio:4/3}.inference-gallery-grid .image-wrapper{height:100%}.inference-item-full{grid-column:span 2}@media (width<=768px){.inference-gallery-grid{grid-template-columns:1fr}.inference-gallery-grid .inference-item{aspect-ratio:auto}.inference-item-full{grid-column:auto}}.inference-item{background-color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.inference-item:hover{border-color:var(--accent)}.image-wrapper{cursor:zoom-in;width:100%;height:100%;min-height:200px;font:inherit;color:inherit;background-color:#050505;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.image-skeleton{background:linear-gradient(90deg, var(--muted) 0%, var(--border) 50%, var(--muted) 100%);background-size:200% 100%;animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.image-wrapper img{object-fit:cover;pointer-events:none;-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.lightbox-modal{z-index:2000;-webkit-backdrop-filter:blur(12px);background-color:#0a0a0af2;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s lightboxFadeIn;display:flex;position:fixed;top:0;left:0;overflow:hidden}.lightbox-modal:focus{outline:none}.lightbox-content{object-fit:contain;border-radius:var(--radius);border:1px solid var(--border);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:90vw;max-height:80vh;margin-top:auto;animation:.3s cubic-bezier(.4,0,.2,1) lightboxZoomIn;display:block}.lightbox-content:last-child{margin-bottom:auto}.lightbox-caption{text-align:center;width:80%;max-width:700px;color:var(--text-primary);margin-bottom:auto;padding:1.5rem 0;font-size:.9rem;line-height:1.6}.lightbox-caption code{background-color:var(--muted);border-radius:var(--radius);color:var(--accent);padding:.15rem .4rem;font-family:JetBrains Mono,monospace}.lightbox-close{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:var(--radius);touch-action:manipulation;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-family:inherit;font-size:32px;font-weight:300;line-height:1;transition:color .2s,transform .2s;display:flex;position:absolute;top:25px;right:35px}.lightbox-close:hover{color:var(--accent);transform:scale(1.15)}.lightbox-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=768px){.lightbox-modal{-webkit-overflow-scrolling:touch;padding:calc(3.5rem + env(safe-area-inset-top,0px)) 1rem calc(1.5rem + env(safe-area-inset-bottom,0px));overflow-y:auto}.lightbox-content{flex-shrink:0;max-height:65vh}.lightbox-close{top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px))}.lightbox-caption{flex-shrink:0;width:96%;padding:1rem 0;font-size:.85rem}}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}@keyframes lightboxZoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.inference-caption{color:var(--text-secondary);border-top:1px solid var(--border);padding:.75rem 1rem;font-size:.8rem;line-height:1.5}.inference-caption code{background-color:var(--muted);border-radius:var(--radius);color:var(--accent);padding:.15rem .4rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.scroll-top-btn{bottom:calc(2rem + env(safe-area-inset-bottom,0px));right:calc(2rem + env(safe-area-inset-right,0px));z-index:90;border-radius:var(--radius);background:var(--card-bg);border:1px solid var(--border);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;transform:translateY(20px)}.scroll-top-btn.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-top-btn:hover{background:var(--accent);color:var(--bg-color);border-color:var(--accent)}.scroll-top-btn svg{width:16px;height:16px}
