:root{--font-main:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--sidebar-width:280px;--max-content-width:800px}*{box-sizing:border-box;word-wrap:break-word}html,body{width:100%;height:100%;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-color);line-height:1.6}a{color:var(--accent-color);text-decoration:none;transition:color .2s}a:visited{color:color-mix(in srgb, var(--accent-color), var(--text-muted) 50%)}a:hover{text-decoration:underline}#app{grid-template-columns:var(--sidebar-width) 1fr;width:100%;height:100%;display:grid}.sidebar{background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);z-index:100;flex-direction:column;height:100%;padding:3rem 2rem;display:flex;overflow-y:auto}.sidebar-header a.home-link{color:inherit;text-decoration:none}.sidebar-header h1{letter-spacing:-.02em;width:fit-content;margin:0;font-size:1.5rem;font-weight:700}.sidebar-header h1:focus{outline:none}.role{color:var(--text-muted);margin:.5rem 0 2rem;font-size:.9rem}.main-nav{flex-grow:1}.main-nav ul{margin:0;padding:0;list-style:none}.main-nav li{margin-bottom:.75rem}.main-nav a{color:var(--text-color);font-size:1rem;font-weight:500;text-decoration:none;transition:color .2s}.main-nav a:visited{color:var(--text-color)}.main-nav a:hover{color:var(--accent-color)}@media (hover:none){.main-nav a:hover{color:inherit}.main-nav a.active:hover{color:var(--accent-color)}}.main-nav a.active{color:var(--accent-color);font-weight:700}.content{grid-template-columns:1fr;align-items:start;max-width:100%;height:100%;padding:4rem 10% 4rem 4rem;display:grid;overflow-y:auto}section{opacity:0;pointer-events:none;grid-area:1/1;margin-bottom:5rem;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);display:none;transform:translateY(20px)}section.visible{display:block}section.active{opacity:1;pointer-events:auto;transform:translateY(0)}@media (prefers-reduced-motion:reduce){section{transition:opacity .1s linear;transform:none}}#home-section{flex-direction:column;justify-content:flex-start;display:flex}.idle-nav{color:var(--text-muted);opacity:0;cursor:pointer;pointer-events:none;justify-content:center;align-items:center;width:3px;margin-left:-1rem;font-size:1.5rem;line-height:1;transition:opacity 1.5s ease-in,transform .4s;display:flex}.idle-nav.visible{opacity:.25;pointer-events:auto}.idle-nav.visible:hover{opacity:.8;color:var(--accent-color)}.idle-nav-up{margin-bottom:1.5rem}.idle-nav-down{margin-top:2rem}.idle-nav-up.visible:hover{transform:translateY(-4px)}.idle-nav-down.visible:hover{transform:translateY(4px)}@media (prefers-reduced-motion:reduce){.idle-nav{transition:opacity .4s linear}.idle-nav.visible:hover{transform:none}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h2{letter-spacing:-.02em;isolation:isolate;border-left:3px solid #0000;width:fit-content;margin-bottom:1.5rem;margin-left:0;padding-left:0;font-size:1.8rem;font-weight:700;transition:border-color .4s,padding .4s,margin .4s;position:relative}h2:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--accent-color), transparent 92%), transparent);opacity:0;z-index:-1;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}section.active h2{border-left-color:var(--accent-color);margin-left:-1rem;padding-left:1rem}section.active h2:after{opacity:1}#app:has(.sidebar :focus-visible) section.active h2{border-left-color:#0000;margin-left:0;padding-left:0}#app:has(.sidebar :focus-visible) section.active h2:after{opacity:0}h2:focus,h2:focus-visible{outline:none}.main-nav a:focus-visible,.sidebar-header a:focus-visible{outline:1px solid var(--accent-color);outline-offset:4px;border-radius:2px}h3{margin:0;font-size:1.2rem;font-weight:600}.interest-grid{margin:0;padding:0;list-style:none}.pub-item{grid-template-columns:60px 1fr;gap:1.5rem;margin-bottom:2.5rem;display:grid}.pub-year{color:var(--text-muted);padding-top:.2rem;font-size:.9rem;font-weight:700;display:block}.pub-links{gap:1rem;display:flex}.pub-links a{color:var(--accent-color);font-size:.85rem;font-weight:600;text-decoration:none}.timeline{margin-top:3.5rem;margin-left:-1rem;padding-left:0;list-style:none;position:relative}.timeline:before{content:"";border-left:3px dotted var(--border-color);width:3px;height:3.175rem;position:absolute;top:-2.5rem;left:0}.timeline-event{margin-bottom:2.5rem;padding-left:2.5rem;position:relative}.timeline-event:before{content:"";background-color:var(--border-color);width:3px;position:absolute;top:0;bottom:-2.5rem;left:0}.timeline-event:first-child:before{top:.675rem}.timeline-event:last-child:before{bottom:0}.timeline-event:last-child:after{content:"";border-left:3px dotted var(--border-color);height:2.5rem;position:absolute;top:100%;left:0}.timeline-marker{background-color:var(--bg-color);border:2px solid var(--accent-color);z-index:1;border-radius:50%;width:12px;height:12px;transition:transform .8s cubic-bezier(.4,0,.2,1),background-color .8s cubic-bezier(.4,0,.2,1);position:absolute;top:.3rem;left:-4.5px}.timeline-event:hover .timeline-marker{background-color:var(--accent-color);transform:scale(1.2)}.timeline-content h3{margin-bottom:.25rem;font-size:1.1rem}.timeline-content time{color:var(--text-muted);font-size:.85rem;font-family:var(--font-mono,monospace);margin-bottom:.5rem;font-weight:600;display:block}.timeline-content p{margin-bottom:0;font-size:.95rem}.cv-download-link{margin-top:5rem}.cv-download-link a{color:var(--accent-color);font-weight:600;text-decoration:none}.cv-download-link a:hover{text-decoration:underline}.contact-group{margin-bottom:2rem}address{font-style:normal}p{margin-bottom:1.25rem}@media (width<=900px){html.is-home,body.is-home{height:auto;overflow-y:auto}html.is-section,body.is-section{height:100dvh!important;overflow-y:hidden!important}#app{flex-direction:column;min-height:100dvh;display:flex}.sidebar{border-right:none;border-bottom:1px solid var(--border-color);flex-shrink:0;width:100%;height:auto;padding:1rem;position:sticky;top:0;overflow:hidden}.sidebar-header{margin-bottom:.5rem}.sidebar-header h1{margin:0;font-size:1.2rem}.role{margin:0;font-size:.75rem}.main-nav ul{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:1.5rem;margin:0;padding:.5rem 0;display:flex;overflow-x:auto}.main-nav ul::-webkit-scrollbar{display:none}.main-nav li{white-space:nowrap;flex-shrink:0;margin-bottom:0}.content{flex-grow:1;width:100%;padding:1.5rem 1.5rem 1.5rem 2rem;display:grid}.is-home .content{height:auto!important;overflow-y:visible!important}.is-section .content{height:100%!important;overflow-y:auto!important}section{grid-area:1/1;width:100%;margin-bottom:0;position:relative}.pub-item{grid-template-columns:1fr;gap:.25rem}}
