@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Roboto:wght@400;700&family=Roboto+Mono&display=swap";:root{--font-sans:Roboto, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;--font-serif:Roboto, ui-serif, Georgia, serif !important;--font-mono:"Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;--default-font-family:var(--font-sans) !important;--default-mono-font-family:var(--font-mono) !important}html{font-family:Roboto,sans-serif!important}body{font-family:inherit!important}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif!important}.navbar-light,nav{font-family:Roboto,sans-serif!important}pre,code{font-family:roboto mono,monospace!important}.bio-text{max-width:none!important}.resume-biography .bio-text,.resume-biography-3 .bio-text{max-width:none!important}.resume-biography .prose,.resume-biography-3 .prose{max-width:none!important}@media(min-width:80rem){.resume-biography .grid.xl\:grid-cols-3,.resume-biography-3 .grid.xl\:grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.resume-biography .flex.flex-wrap,.resume-biography-3 .flex.flex-wrap{max-width:none!important;width:100%!important}.blox-resume-biography-3 .grid.md\\:grid-cols-12{column-gap:1.5rem!important}@media(min-width:48rem){.blox-resume-biography-3 .grid.md\\:grid-cols-12{column-gap:3rem!important}}@media(min-width:64rem){.blox-resume-biography-3 .grid.md\\:grid-cols-12{column-gap:4rem!important}}.flex.flex-wrap.justify-center.gap-4 a[aria-label*="brands/"],.flex.flex-wrap.justify-center.gap-4 a[aria-label*="academicons/"],.flex.flex-wrap.justify-center.gap-4 a[aria-label*=at-symbol]{color:#1565c0!important;background-color:rgba(21,101,192,5%)!important;border-color:rgba(21,101,192,.2)!important}.flex.flex-wrap.justify-center.gap-4 a[aria-label*="brands/"]:hover,.flex.flex-wrap.justify-center.gap-4 a[aria-label*="academicons/"]:hover,.flex.flex-wrap.justify-center.gap-4 a[aria-label*=at-symbol]:hover{color:#0d47a1!important;background-color:rgba(21,101,192,.1)!important;border-color:rgba(21,101,192,.4)!important}.flex.flex-wrap.justify-center.gap-4 a[aria-label*="brands/"] svg,.flex.flex-wrap.justify-center.gap-4 a[aria-label*="academicons/"] svg,.flex.flex-wrap.justify-center.gap-4 a[aria-label*=at-symbol] svg{color:#1565c0!important;fill:currentColor!important}.flex.flex-wrap.justify-center.gap-4 a[aria-label*="brands/"]:hover svg,.flex.flex-wrap.justify-center.gap-4 a[aria-label*="academicons/"]:hover svg,.flex.flex-wrap.justify-center.gap-4 a[aria-label*=at-symbol]:hover svg{color:#0d47a1!important}.wechat-modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.8);animation:fadeIn .3s ease}.wechat-modal.active{display:flex;align-items:center;justify-content:center}.wechat-modal-content{position:relative;background-color:#fff;padding:20px;border-radius:8px;max-width:90%;max-height:90%;box-shadow:0 4px 20px rgba(0,0,0,.3);animation:slideIn .3s ease}.wechat-modal-content img{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;border-radius:4px}.wechat-modal-close{position:absolute;top:-10px;right:-10px;width:32px;height:32px;background-color:#1565c0;color:#fff;border:none;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.wechat-modal-close:hover{background-color:#0d47a1}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideIn{from{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}