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