:root{--color-accent: oklch(65.635% .16316 275.144);--color-accent-light: oklch(65% 95% 5%);--color-text-primary: oklch(25% 0% 0);--color-text-secondary: oklch(45% 0% 0);--color-text-muted: oklch(55% 0% 0);--color-bg-primary: oklch(98% 0% 0);--color-bg-secondary: oklch(96% 0% 0);--color-bg-hover: oklch(94% 0% 0);--color-border-light: oklch(88% 0% 0);--color-border-medium: oklch(78% 0% 0);--color-focus-ring: oklch(65.635% .16316 275.144 / .3)}html.theme-transitions *,html.theme-transitions *:before,html.theme-transitions *:after{transition:background-color .15s ease,color .15s ease,border-color .15s ease}html.theme-transitions nav a:after{transition:background-color .15s ease,color .15s ease,border-color .15s ease,width .3s ease,left .3s ease}html.theme-light,html.theme-light *{--color-text-primary: oklch(25% 0% 0);--color-text-secondary: oklch(45% 0% 0);--color-text-muted: oklch(55% 0% 0);--color-bg-primary: oklch(98% 0% 0);--color-bg-secondary: oklch(96% 0% 0);--color-bg-hover: oklch(94% 0% 0);--color-border-light: oklch(88% 0% 0);--color-border-medium: oklch(78% 0% 0);--color-focus-ring: oklch(65.635% .16316 275.144 / .3)}@media (prefers-color-scheme: dark){html.theme-auto{--color-text-primary: oklch(95% 0% 0);--color-text-secondary: oklch(75% 0% 0);--color-text-muted: oklch(60% 0% 0);--color-bg-primary: oklch(15% 0% 0);--color-bg-secondary: oklch(20% 0% 0);--color-bg-hover: oklch(25% 0% 0);--color-border-light: oklch(30% 0% 0);--color-border-medium: oklch(40% 0% 0);--color-focus-ring: oklch(65.635% .16316 275.144 / .4)}}html.theme-dark{--color-text-primary: oklch(95% 0% 0);--color-text-secondary: oklch(75% 0% 0);--color-text-muted: oklch(60% 0% 0);--color-bg-primary: oklch(15% 0% 0);--color-bg-secondary: oklch(20% 0% 0);--color-bg-hover: oklch(25% 0% 0);--color-border-light: oklch(30% 0% 0);--color-border-medium: oklch(40% 0% 0);--color-focus-ring: oklch(65.635% .16316 275.144 / .4)}.color-scheme{position:absolute;top:.5rem;right:.5rem;font-size:80%;background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-light);border-radius:4px;padding:.25rem .5rem;z-index:200;box-shadow:0 2px 8px var(--color-shadow);transition:opacity .2s ease-in-out}@media (max-width: 768px){.color-scheme{top:.75rem;right:.5rem;font-size:75%}}@media (max-width: 480px){.color-scheme{top:.5rem;right:.5rem;font-size:70%}}.color-scheme select{background-color:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-light);border-radius:4px;padding:.25rem}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(16em,1fr));gap:1.25em;margin-top:2em}.projects article{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:8px;transition:box-shadow .2s ease,transform .2s ease}.projects article:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.projects article img,.project-image{width:100%;height:200px;object-fit:cover;border-radius:8px;border:1px solid var(--color-border-light)}body{font:100%/1.5 system-ui;max-width:100ch;margin-inline:auto;padding:3rem 1rem 1rem;background-color:var(--color-bg-primary);color:var(--color-text-primary);position:relative}nav{display:flex;margin-bottom:1rem;border-bottom:2px solid var(--color-border-light);position:relative;box-sizing:border-box;z-index:100}nav a{flex:1;padding:.4em;text-decoration:none;color:inherit;text-align:center;background-color:var(--color-bg-secondary);position:relative;overflow:hidden;box-sizing:border-box}nav a:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:.4em;background-color:var(--color-accent);transition:width .3s ease,left .3s ease;transform:translate(-50%)}nav a:hover:after{width:100%;left:50%}nav a.current:after,nav a.active:after{width:100%;left:50%}nav a.current,nav a.active{color:var(--color-accent);font-weight:700}.current-page-indicator{height:5px;background-color:var(--color-border-medium);position:absolute;top:0;left:0;transition:transform .3s ease,width .3s ease}nav a.current~.current-page-indicator{width:100%;transform:translate(calc())}input[type=search]{width:100%;padding:.75rem;border:1px solid var(--color-border-light);border-radius:8px;font-size:1rem;margin-bottom:1rem;background-color:var(--color-bg-primary);color:var(--color-text-primary)}input[type=search]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-focus-ring)}.contact-container{max-width:800px;margin:0 auto;padding:1rem}.contact-intro{text-align:center;margin-bottom:3rem;font-size:1.1em;color:var(--color-text-secondary)}.contact-methods{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}.contact-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:12px;padding:1.5rem;text-align:center;transition:all .3s ease;position:relative;overflow:hidden;display:block;text-decoration:none;color:inherit;cursor:pointer}.contact-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:var(--color-accent);text-decoration:none}.contact-icon{font-size:2.5rem;margin-bottom:1rem;display:block}.contact-card h3{margin:0 0 .5rem;color:var(--color-text-primary);font-size:1.2rem}.contact-link{display:inline-block;color:var(--color-accent);text-decoration:none;font-weight:500;margin-bottom:.5rem;transition:color .2s ease}.contact-card:hover .contact-link{color:var(--color-accent);filter:brightness(1.1)}.contact-card p{margin:.5rem 0 0;font-size:.9rem;color:var(--color-text-secondary);line-height:1.4}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;padding:2rem;background:var(--color-bg-secondary);border-radius:12px;border:1px solid var(--color-border-light)}.info-section h3{margin:0 0 .5rem;color:var(--color-text-primary);font-size:1.1rem}.info-section p{margin:0;color:var(--color-text-secondary);line-height:1.5}@media (max-width: 768px){.contact-methods{grid-template-columns:1fr}.contact-info{grid-template-columns:1fr;padding:1.5rem}}.cv-header{text-align:left;margin-bottom:2rem}.cv-header h1{font-size:2em;margin-bottom:.5em}.cv-header p{font-size:1.2em;color:var(--color-text-secondary)}.cv-section{margin-bottom:2rem;padding-left:0}.cv-section h2{font-size:1.8em;color:var(--color-accent);border-bottom:2px solid var(--color-border-light);padding-bottom:.5rem;margin-bottom:1rem}.cv-section p,.cv-section article p,.cv-section article h3{font-size:1rem;line-height:1.6;margin-bottom:.8rem}.cv-section article h3{font-size:1.1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem;margin-top:1rem}.cv-section article h3:first-child{margin-top:0}.cv-section time{font-size:1rem;color:var(--color-text-secondary)}.cv-section strong{font-size:1rem;font-weight:600}.cv-section a{font-size:1rem}.cv-job p{font-size:1rem!important}.cv-job h3{font-size:1.1rem!important}.cv-job{margin-bottom:1.5rem}.cv-job h3{font-size:1.4em;font-weight:700;margin-bottom:.3rem}.cv-job p{font-size:1.1em;margin:.2rem 0}.cv-job .date{font-style:italic;color:var(--color-text-muted)}.cv-section p strong{color:var(--color-text-primary)}.cv-section p strong time,.cv-section p strong .present{color:var(--color-text-secondary)}ul{list-style-type:disc;margin-left:1.5rem}.peer-reviewed-list{padding-left:0;list-style:none}.peer-reviewed-list li{margin-bottom:10px}.presentation-list{padding-left:0;list-style:none}.presentation-list li{margin-bottom:10px}.responsive-image{max-width:100%;height:auto;display:block;margin:0 auto}.project-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:8px;padding:1rem;transition:box-shadow .2s ease,transform .2s ease}.project-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.project-card h2{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.3em}.project-card .description{color:var(--color-text-secondary);margin-bottom:.75rem;line-height:1.4}.project-card .year{color:var(--color-text-muted);font-size:.9em;margin-bottom:1rem}.project-card .year strong{color:var(--color-text-secondary)}
