:root{--background:#fff;--text-strong:#111;--text:#3d3d3d;--text-muted:#707070;--border:#e8e8e8;color:var(--text);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}:root[data-theme=dark]{--background:#1f1f1f;--text-strong:#f7f7f7;--text:#d7d7d7;--text-muted:#a9a9a9;--border:#3a3a3a}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}:root[data-theme-ready=true],:root[data-theme-ready=true] body{transition:background-color .18s}button,input,textarea,select{font:inherit}::selection{color:var(--background);background:var(--text-strong)}.site-shell{--content-width:min(760px, 100%);width:min(100%,1120px);min-height:100vh;color:var(--text);background:var(--background);margin:0 auto;padding:28px}:root[data-theme-ready=true] .site-shell{transition:color .18s,background-color .18s}.site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,40px);padding:6px 0 72px;display:grid;position:relative}.brand{color:var(--text-strong);font-weight:650;text-decoration:none}.brand-group{align-items:center;gap:14px;display:flex}.nav-links,.social-links{align-items:center;gap:clamp(12px,1.5vw,18px);display:flex}.nav-links{justify-self:center}.nav-links a,.social-links a{color:var(--text-muted);transform-origin:50%;font-size:.92rem;font-weight:500;text-decoration:none;transition:color .16s,text-shadow .16s,transform .16s;display:inline-block;position:relative;transform:scale(1)}.nav-links a:after,.social-links a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}.nav-links a:hover,.social-links a:hover{color:var(--text-strong);text-shadow:0 0 0 var(--text-strong);transform:scale(1.04)}.nav-links a[aria-current=page]{color:var(--text-strong)}.nav-links a[aria-current=page]:after,.nav-links a:hover:after,.social-links a:hover:after{transform:scaleX(1)}.theme-toggle{border:1px solid var(--border);min-width:58px;height:32px;color:var(--text);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;font-size:.86rem;font-weight:550;transition:color .16s,border-color .16s,background-color .16s,transform .16s;display:inline-flex;position:relative}.theme-toggle:hover{border-color:var(--text-muted);color:var(--text-strong);background:color-mix(in srgb, var(--text-strong) 5%, transparent);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:2px solid var(--text-strong);outline-offset:3px}@media (prefers-reduced-motion:reduce){.nav-links a,.social-links a,.nav-links a:after,.social-links a:after,.theme-toggle,.site-shell{transition:none}.nav-links a:hover,.social-links a:hover,.theme-toggle:hover{transform:none}}.social-links{justify-self:end}.about-page,.content-page{width:var(--content-width);margin:0 auto;padding-bottom:80px}.eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;font-size:.86rem;font-weight:650}.about-page h1{max-width:780px;color:var(--text-strong);margin:0;font-size:clamp(4.5rem,13vw,9.6rem);font-weight:600;line-height:.92}.about-page h1 span{display:block}.content-page h1{max-width:780px;color:var(--text-strong);margin:0;font-size:clamp(3.2rem,9vw,6.4rem);font-weight:600;line-height:1}.role-line{max-width:650px;color:var(--text-strong);margin:72px 0 0;font-size:1.24rem;font-weight:520;line-height:1.5}.intro{max-width:650px;color:var(--text);margin:18px 0 0;font-size:1.2rem;line-height:1.65}.about-grid{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:78px;padding-top:34px;display:grid}.education-image{aspect-ratio:16/10;border:1px solid var(--border);object-fit:cover;border-radius:8px;width:100%;margin-top:46px;display:block}.education-grid{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:42px;padding-top:34px;display:grid}.about-section h2{color:var(--text-strong);margin:0 0 14px;font-size:1rem;font-weight:650}.about-section p,.about-section li{color:var(--text);line-height:1.7}.about-section p{margin:0}.about-section ul{gap:10px;margin:0;padding-left:1.1rem;display:grid}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:56px;display:grid}.project-card{border:1px solid var(--border);background:color-mix(in srgb, var(--background) 94%, var(--text-strong));border-radius:8px;min-height:180px;padding:26px;transition:border-color .18s,transform .18s,background-color .18s}.project-card:hover{border-color:var(--text-muted);transform:translateY(-4px)}.project-card h2{margin:0 0 18px;font-size:1.18rem;line-height:1.25}.project-card a{color:var(--text-strong);text-decoration:none;position:relative}.project-card a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.project-card:hover a:after,.project-card a:hover:after{transform:scaleX(1)}.project-card p{color:var(--text);margin:0;line-height:1.65}.back-link{color:var(--text-muted);font-size:.95rem;font-weight:500;text-decoration:none;transition:color .16s,text-shadow .16s,transform .16s;display:inline-block;position:relative}.back-link:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}.back-link:hover{color:var(--text-strong);text-shadow:0 0 0 var(--text-strong);transform:scale(1.04)}.back-link:hover:after{transform:scaleX(1)}.project-actions{flex-wrap:wrap;gap:18px;margin-top:42px;display:flex}@media (width<=820px){.site-shell{padding:22px}.site-header{grid-template-columns:1fr;align-items:flex-start;padding-bottom:54px;display:grid}.nav-links{justify-self:start}.nav-links,.social-links{flex-wrap:wrap;justify-content:flex-start}.social-links{justify-self:start}.about-page h1{font-size:clamp(4rem,20vw,6.2rem)}.content-page h1{font-size:clamp(2.7rem,13vw,4.4rem)}.intro{margin-top:16px;font-size:1.08rem}.role-line{margin-top:20px;font-size:1.12rem}.about-grid{grid-template-columns:1fr;gap:28px;margin-top:56px}.education-image{margin-top:34px}.education-grid{grid-template-columns:1fr;gap:28px;margin-top:34px}.project-grid{grid-template-columns:1fr;margin-top:42px}}
