*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:var(--font-smoothing-webkit);-moz-osx-font-smoothing:var(--font-smoothing-moz)}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-sans);line-height:1.5}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}h1,h2,h3,h4,h5,h6,button,label,figcaption,blockquote{text-wrap:balance}p,li,dd{text-wrap:pretty}.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}.page{display:flex;flex-direction:column;gap:var(--space-20);max-width:calc(1280px + var(--page-outer-padding) * 2);margin:0 auto;width:100%;min-height:100vh;padding:calc(var(--space-8) + env(safe-area-inset-top)) calc(var(--page-outer-padding) + env(safe-area-inset-right)) calc(var(--page-outer-padding) + env(safe-area-inset-bottom)) calc(var(--page-outer-padding) + env(safe-area-inset-left));box-sizing:border-box;overflow-x:clip}.profile-section{display:flex;flex-direction:column;gap:0;width:50%;max-width:600px;padding-inline:var(--content-indent)}.profile-group+.bio{margin-top:var(--space-6)}.bio+.contact{margin-top:calc(var(--space-6) + var(--space-1))}.projects{display:flex;flex-direction:column;gap:var(--space-8);min-width:0}.footer{display:flex;align-items:center;gap:var(--space-4);padding-inline:var(--content-indent)}.footer .copyright{flex:1}.profile-group{display:flex;flex-direction:column;gap:var(--space-3)}.profile{display:flex;align-items:center;gap:var(--space-4)}.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--avatar-border)}.avatar--dark{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .avatar--light{display:none}:root:not([data-theme=light]) .avatar--dark{display:block}}:root[data-theme=dark] .avatar--light{display:none}:root[data-theme=dark] .avatar--dark{display:block}.identity{display:flex;flex-direction:column;gap:0}.name-row{display:flex;align-items:baseline;gap:var(--space-1-5)}.name-row .name{margin:0;color:var(--color-text-primary)}.name-row .name-separator,.name-row .name-label,.job-title,.bio{font-size:var(--type-body);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);line-height:1.5}.contact{display:flex;align-items:center;gap:var(--space-4);container-type:inline-size}@media(min-width:1280px){.name,.job-title,.bio{font-size:1.13rem}}@media(min-width:810px)and (max-width:1199px){.page{padding:calc(var(--space-6) + env(safe-area-inset-top)) calc(var(--page-outer-padding) + env(safe-area-inset-right)) calc(var(--page-outer-padding) + env(safe-area-inset-bottom)) calc(var(--page-outer-padding) + env(safe-area-inset-left));gap:var(--space-16)}.profile-section{width:100%}.bio+.contact{margin-top:var(--space-6)}.projects{gap:var(--space-6)}.name,.job-title,.bio{font-size:1rem}}@media(max-width:809px){.page{padding:calc(var(--page-outer-padding) + env(safe-area-inset-top)) calc(var(--page-outer-padding) + env(safe-area-inset-right)) calc(var(--page-outer-padding) + env(safe-area-inset-bottom)) calc(var(--page-outer-padding) + env(safe-area-inset-left));gap:var(--space-16);min-height:unset}.footer{flex-direction:column-reverse;align-items:flex-start;gap:var(--space-12)}.theme-switcher,.profile-section{width:100%}.profile-group+.bio{margin-top:var(--space-4)}.bio+.contact{margin-top:var(--space-6)}.contact{flex-direction:column;align-items:stretch}.contact .btn-group{flex:0 0 auto}.profile-section,.footer{padding-inline:0}.projects{gap:var(--space-5)}.profile{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.avatar{width:32px;height:32px}.name,.job-title,.bio{font-size:1rem}}
