@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:#f7f7f5;--text:#20211f;--muted:#6f716d;--line:#dedfdb;--accent:#a3452f;--project-hover:#e9e9e6;--logo-border:#c9cac6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--space-9:64px;color:var(--text);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;font-family:DM Sans Variable,ui-sans-serif,system-ui,sans-serif}html[data-theme=dark]{--background:#0e0d0c;--text:#f1efeb;--muted:#aaa49c;--line:#302d29;--accent:#f0a087;--project-hover:#1d1c1a;--logo-border:#55514b;color-scheme:dark}*{box-sizing:border-box}html{background:var(--background);-webkit-font-smoothing:antialiased;min-width:320px}body{background:var(--background);margin:0;transition:color .16s,background-color .16s}main{width:min(calc(100% - var(--space-7)), 600px);padding:var(--space-9) 0 var(--space-8);margin:0 auto}h1,h2,h3,p{margin:0}h1,h2,h3,strong{font-weight:600}a{color:inherit;text-underline-offset:3px;text-decoration-color:#a8aaa5}a:hover{color:var(--accent);text-decoration-color:currentColor}.theme-toggle{top:var(--space-4);right:var(--space-4);z-index:1;border:1px solid var(--line);width:36px;height:36px;color:var(--muted);background:var(--background);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:color .16s,border-color .16s,background-color .16s;display:grid;position:fixed}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--project-hover)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-icon-sun,html[data-theme=dark] .theme-icon-moon{display:none}html[data-theme=dark] .theme-icon-sun{display:block}.profile h1{letter-spacing:-.035em;font-family:DM Sans Variable,ui-sans-serif,system-ui,sans-serif;font-size:2.1rem;font-weight:650;line-height:1.1}.project>span:last-child,.education p,.dates,footer{color:var(--muted)}.intro{margin-top:var(--space-4);font-size:.925rem;line-height:1.65}.links{align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;font-size:.875rem;display:flex}.social-link{align-items:center;gap:5px;text-decoration:none;display:flex}.social-icon,.brand-icon,.brand-icon svg{flex:none;width:14px;height:14px;display:block}.brand-icon svg{fill:currentColor}.social-label{text-underline-offset:3px;text-decoration:underline #0000;transition:text-decoration-color .16s}.social-arrow{opacity:0;margin-left:-2px;transition:opacity .16s,transform .16s;transform:translate(-3px,3px)}.social-link:hover .social-label,.social-link:focus-visible .social-label{text-decoration-color:currentColor}.social-link:hover .social-arrow,.social-link:focus-visible .social-arrow{opacity:1;transform:translate(0)}.social-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}.ai-link{border:1px solid color-mix(in srgb, var(--accent) 42%, var(--line));color:var(--text);background:color-mix(in srgb, var(--accent) 7%, var(--background));box-shadow:0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);border-radius:999px;gap:7px;margin:0;padding:5px 9px 5px 5px;transition:color .18s,border-color .18s,background-color .18s,box-shadow .18s,transform .18s}.ai-link-icon{width:24px;height:24px;color:var(--background);background:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.ai-link .social-label{font-weight:600}.ai-link .social-arrow{opacity:.7;margin-left:-1px;transform:none}.ai-link:hover{color:var(--text);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--background));box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 17%, transparent);transform:translateY(-1px)}.ai-link:hover .social-arrow,.ai-link:focus-visible .social-arrow{opacity:1;transform:translate(1px,-1px)}.ai-link:focus-visible{border-radius:999px}section{margin-top:var(--space-6)}main>section:first-of-type{margin-top:var(--space-5)}section>h2{margin-bottom:var(--space-4);font-size:.95rem;font-weight:500;line-height:1.3}.experience-list,.project-list{gap:var(--space-4);display:grid}.experience-summary{cursor:pointer;border-radius:8px;margin:-8px -12px;padding:8px 12px;list-style:none;transition:background-color .18s}.experience-summary::-webkit-details-marker{display:none}.experience-summary:hover{background:var(--project-hover)}.experience-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.experience-layout,.education-layout{gap:var(--space-3);grid-template-columns:48px minmax(0,1fr);align-items:start;display:grid}.company-logo{border:1px solid var(--logo-border);background:#fff;border-radius:6px;place-items:center;width:48px;height:48px;display:grid}.company-logo img{object-fit:contain;object-position:center;width:34px;height:34px;display:block}.education-logo img{width:42px;height:auto}.experience-copy{min-width:0}.experience-meta{align-items:center;gap:var(--space-2);flex:none;display:flex}.experience-chevron{color:var(--muted);flex:none;transition:color .18s,transform .18s}.experience-item[open]:not(.is-closing) .experience-chevron{color:var(--accent);transform:rotate(180deg)}.experience-details{margin:var(--space-3) 0 0 60px;color:var(--muted);font-size:.85rem;line-height:1.55}.experience-details ul{gap:var(--space-2);padding-left:var(--space-4);margin:0;display:grid}.experience-details li{padding-left:2px}.experience-placeholder{color:color-mix(in srgb, var(--muted) 72%, transparent);font-style:italic}.experience-product-link{color:var(--text);text-decoration-color:color-mix(in srgb, var(--accent) 72%, transparent);text-decoration-thickness:1px;transition:color .16s,text-decoration-color .16s}.experience-product-link:hover{color:var(--accent);text-decoration-color:currentColor}.experience-product-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.item-heading,.education{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.item-heading h3,.education h3,.project-title{font-size:.875rem;line-height:1.4}.item-heading>div>p,.education div>p{color:var(--muted);margin-top:2px;font-size:.875rem}.dates{flex:none;font-size:.8rem;line-height:1.5}.project-list{gap:var(--space-1);margin-top:calc(-1 * var(--space-2))}.project{gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:8px;margin:0 -12px;text-decoration:none;transition:color .18s,background-color .18s,transform .18s;display:grid}.project:hover,.project:focus-visible{color:var(--text);background:var(--project-hover);transform:scale(1.02)}.project:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-title strong{transition:color .18s}.project:hover .project-title strong,.project:focus-visible .project-title strong{color:var(--text)}.project-title{justify-content:space-between;gap:var(--space-5);display:flex}.project-arrow{color:var(--muted);flex:none;transition:color .18s,opacity .18s,transform .18s}.project:hover .project-arrow,.project:focus-visible .project-arrow{color:var(--text);opacity:1;transform:translate(0)}@media (hover:hover){.project-arrow{opacity:0;transform:translate(-4px,4px)}}.project>span:last-child{font-size:.875rem;line-height:1.5}.more-link{margin-top:var(--space-4);font-size:.875rem;display:inline-block}footer{justify-content:space-between;gap:var(--space-5);margin-top:var(--space-7);padding-top:var(--space-4);border-top:1px solid var(--line);font-size:.75rem;display:flex}::selection{color:#fff;background:var(--accent)}@media (width<=560px){.theme-toggle{top:var(--space-3);right:var(--space-3)}main{width:min(calc(100% - var(--space-6)), 600px);padding-top:var(--space-8)}.intro{font-size:.925rem}.item-heading,.education{gap:var(--space-1);display:grid}.experience-meta{justify-content:space-between}.dates{grid-row:2}}@media (prefers-reduced-motion:reduce){body,.theme-toggle,.project,.project-title strong,.project-arrow,.experience-summary,.experience-chevron,.experience-product-link,.social-label,.social-arrow,.ai-link{transition:none}.project:hover,.project:focus-visible,.ai-link:hover{transform:none}}
