:root{--accent: #3f3f46;--accent-hover: #27272a;--black: 15, 18, 25;--gray: 71, 85, 105;--gray-light: 229, 233, 240;--gray-dark: 34, 41, 57;--box-shadow: 0 2px 6px rgba(var(--gray), 20%);--bg-primary: color-mix(in srgb, var(--accent) 4%, #ffffff);--bg-secondary: color-mix(in srgb, var(--accent) 9%, #ffffff);--accent-tint: color-mix(in srgb, var(--accent) 13%, transparent)}[data-theme=dark]{color-scheme:dark;--accent: #a1a1aa;--accent-hover: #d4d4d8;--black: 241, 245, 249;--gray: 148, 163, 184;--gray-light: 71, 85, 105;--gray-dark: 226, 232, 240;--box-shadow: 0 2px 6px rgba(0, 0, 0, 40%);--bg-primary: color-mix(in srgb, var(--accent) 7%, #0b0f14);--bg-secondary: color-mix(in srgb, var(--accent) 13%, #131a22);--accent-tint: color-mix(in srgb, var(--accent) 22%, transparent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}html{background-color:var(--bg-primary)}body{font-family:Atkinson,sans-serif;margin:0;padding:0;text-align:left;min-height:100vh;background-color:var(--bg-primary);word-wrap:break-word;overflow-wrap:break-word;color:rgb(var(--gray-dark));font-size:20px;line-height:1.7;scroll-behavior:smooth}main{width:720px;max-width:calc(100% - 2em);margin:auto;padding:3em 1em}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem;color:rgb(var(--black));line-height:1.2}.prose h2,.prose h3{padding-bottom:.3em;border-bottom:1px solid rgb(var(--gray-light));margin-top:1.5em}h1{font-size:3.052em}h2{font-size:2.441em}h3{font-size:1.953em}h4{font-size:1.563em}h5{font-size:1.25em}strong,b{font-weight:700}a{color:var(--accent);text-decoration:underline;text-decoration-color:rgba(var(--gray),.55);text-underline-offset:2px;transition:color .2s ease,text-decoration-color .2s ease}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}nav a{text-decoration:none}p{margin-bottom:1em}.prose p{margin-bottom:2em}textarea{width:100%;font-size:16px}input{font-size:16px}table{width:100%}img{max-width:100%;height:auto;border-radius:8px}code{padding:2px 5px;background-color:rgb(var(--gray-light));border-radius:2px;font-family:Courier New,Courier,monospace}pre{padding:1.5em;border-radius:8px;overflow-x:auto;border:1px solid rgba(var(--gray-light),.3)}pre>code{all:unset}blockquote{border-left:4px solid var(--accent);background-color:var(--bg-secondary);margin:0;padding:1em 1.5em;border-radius:0 8px 8px 0}hr{border:none;border-top:1px solid rgb(var(--gray-light))}@media(max-width:720px){body{font-size:18px}main{padding:1em}}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}.skills-section{margin:2rem 0 3rem}.publications-section{margin:2rem 0 3rem;display:grid;gap:1.5rem}.publication-card{background:var(--bg-secondary);border:1px solid rgb(var(--gray-light));border-radius:12px;padding:1.5rem;transition:border-color .2s ease;display:flex;gap:1.5rem;align-items:flex-start}.publication-card.featured,.publication-card:hover{border-color:var(--accent)}.publication-icon{width:2.5rem;height:2.5rem;font-size:2.5rem;line-height:1;flex-shrink:0}.publication-content{flex:1}.publication-title{margin:0 0 .75rem;font-size:1.3em;line-height:1.3}.publication-title a{color:rgb(var(--black));text-decoration:none}.publication-title a:hover{color:var(--accent)}.publication-description{margin:0 0 1rem;color:rgb(var(--gray));line-height:1.6;font-size:.95em}.publication-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.publication-badge{display:inline-block;padding:.25rem .75rem;background:var(--accent-tint);color:var(--accent);border-radius:20px;font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.publication-link{color:var(--accent);font-size:.9em;font-weight:600}@media(max-width:720px){.publication-card{flex-direction:column;gap:1rem;padding:1.25rem}.publication-icon{font-size:2em}.publication-title{font-size:1.2em}.publication-description{font-size:.9em}}pre.astro-code{background-color:var(--bg-secondary)!important;border:1px solid rgba(var(--gray-light),.5);border-radius:8px}[data-theme=dark] pre.astro-code,[data-theme=dark] pre.astro-code span{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}a[data-astro-cid-eimmu3lg]{display:inline-block;text-decoration:none}a[data-astro-cid-eimmu3lg].active{font-weight:bolder;text-decoration:underline}header[data-astro-cid-3ef6ksr2]{margin:0;padding:0 1em;background:color-mix(in srgb,var(--bg-primary) 70%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 8px rgba(var(--black),5%);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(var(--gray-light),.3)}[data-theme=dark] header[data-astro-cid-3ef6ksr2]{background:color-mix(in srgb,var(--bg-primary) 90%,transparent);border-bottom:1px solid rgba(55,65,81,.4);box-shadow:0 2px 8px #00000080}h2[data-astro-cid-3ef6ksr2]{margin:0;font-size:1em}h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].logo{text-decoration:none;color:rgb(var(--black));font-weight:700}h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].logo:hover{color:var(--accent)}h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:1rem}.internal-links[data-astro-cid-3ef6ksr2]{display:flex;gap:.5rem}.header-actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:1rem}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:1em .5em;color:rgb(var(--black));text-decoration:none;position:relative;transition:color .2s ease}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:not(.logo):hover{color:var(--accent)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active:after{content:"";position:absolute;width:80%;height:2px;bottom:0;left:50%;transform:translate(-50%);background:var(--accent)}#theme-toggle[data-astro-cid-3ef6ksr2]{background:none;border:2px solid rgba(var(--gray),.3);border-radius:50%;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:rgb(var(--black));transition:border-color .2s ease;padding:0}#theme-toggle[data-astro-cid-3ef6ksr2]:hover{border-color:var(--accent)}.sun-icon[data-astro-cid-3ef6ksr2]{display:block}.moon-icon[data-astro-cid-3ef6ksr2],[data-astro-cid-3ef6ksr2][data-theme=dark] .sun-icon[data-astro-cid-3ef6ksr2]{display:none}[data-astro-cid-3ef6ksr2][data-theme=dark] .moon-icon[data-astro-cid-3ef6ksr2]{display:block}.social-links[data-astro-cid-3ef6ksr2],.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:flex;gap:.5rem}.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{transition:color .2s ease}.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}@media(max-width:720px){.social-links[data-astro-cid-3ef6ksr2]{display:none}nav[data-astro-cid-3ef6ksr2]{gap:.5rem}.internal-links[data-astro-cid-3ef6ksr2]{gap:0}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:1em .3em;font-size:.9em}#theme-toggle[data-astro-cid-3ef6ksr2]{width:36px;height:36px}}footer[data-astro-cid-sz7xmlte]{padding:2em 1em 3em;background-color:var(--bg-secondary);border-top:1px solid rgb(var(--gray-light));color:rgb(var(--gray));text-align:center}.social-links[data-astro-cid-sz7xmlte]{display:flex;justify-content:center;gap:1em;margin-top:1em}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{text-decoration:none;color:rgb(var(--gray));transition:color .2s ease}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}
