*,*:before,*:after{box-sizing:border-box}body{margin:0;line-height:1.6}img{max-width:100%;height:auto}:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-mono: ui-monospace, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--max-width: 650px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 3rem}:root{--color-bg: #ffffff;--color-text: #1a1a1a;--color-text-muted: #666666;--color-link: #0066cc;--color-link-hover: #004499;--color-border: #e5e5e5}[data-theme=dark]{--color-bg: #1a1a1a;--color-text: #e5e5e5;--color-text-muted: #999999;--color-link: #6bb3ff;--color-link-hover: #99ccff;--color-border: #333333}body{font-family:var(--font-sans);font-size:16px;color:var(--color-text);background:var(--color-bg);transition:background-color .2s ease,color .2s ease}h1,h2,h3{line-height:1.3;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);font-weight:600}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}p{margin:0 0 var(--spacing-md)}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover);text-decoration:underline}ul,ol{margin:0 0 var(--spacing-md);padding-left:var(--spacing-lg)}li{margin-bottom:var(--spacing-xs)}hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-lg) 0}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-border);padding:.1em .3em;border-radius:3px}.container{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-lg)}.profile{text-align:center;margin-bottom:var(--spacing-xl)}.profile-photo{width:120px;height:120px;border-radius:50%;margin-bottom:var(--spacing-md)}.profile-name{margin:0 0 var(--spacing-xs);font-size:1.5rem}.profile-tagline{color:var(--color-text-muted);margin:0 0 var(--spacing-md)}.social-icons{display:flex;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.social-icons a{color:var(--color-text-muted);transition:color .2s ease}.social-icons a:hover{color:var(--color-link);text-decoration:none}.social-icons svg{width:20px;height:20px;fill:currentColor}.nav{text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.nav a{margin:0 var(--spacing-sm);color:var(--color-text)}.nav a:hover{color:var(--color-link)}.nav a.active{font-weight:600}.nav-separator{color:var(--color-text-muted)}.theme-toggle{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:var(--color-text-muted);margin-left:var(--spacing-sm);vertical-align:middle}.theme-toggle:hover{color:var(--color-link)}.theme-toggle svg{width:18px;height:18px;fill:currentColor}main{min-height:60vh}.paper{margin-bottom:var(--spacing-lg)}.paper-title{font-weight:600;margin:0 0 var(--spacing-xs)}.paper-date{color:var(--color-text-muted);font-size:.9rem;margin:0 0 var(--spacing-sm)}.paper-excerpt{margin:0;color:var(--color-text-muted)}.paper-links{margin-top:var(--spacing-sm);font-size:.9rem}.paper-links a{margin-right:var(--spacing-md)}.project{margin-bottom:var(--spacing-lg)}.project-title{font-weight:600;margin:0 0 var(--spacing-xs)}.project-date{color:var(--color-text-muted);font-size:.9rem;margin:0 0 var(--spacing-sm)}.project-description{margin:0;color:var(--color-text-muted)}.project-links{margin-top:var(--spacing-sm);font-size:.9rem}.project-links a{margin-right:var(--spacing-md)}.timeline-item{margin-bottom:var(--spacing-lg)}.timeline-header{margin-bottom:var(--spacing-xs)}.timeline-company{font-weight:600}.timeline-position{color:var(--color-text-muted)}.timeline-date{color:var(--color-text-muted);font-size:.9rem;margin-bottom:var(--spacing-sm)}.timeline-description{margin:0}footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);font-size:.9rem}.post-list{list-style:none;padding:0}.post-list li{margin-bottom:var(--spacing-md)}.post-date{color:var(--color-text-muted);font-size:.9rem;margin-right:var(--spacing-sm)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-bg);color:var(--color-link);padding:var(--spacing-sm) var(--spacing-md);z-index:100;transition:top .2s;text-decoration:none}.skip-link:focus{top:0}@media (max-width: 600px){.container{padding:var(--spacing-md)}.profile-photo{width:100px;height:100px}.nav a{display:inline-block;margin:var(--spacing-xs) var(--spacing-sm)}}
