body,html{background:#fff}body{margin:16px auto;padding:0 16px;max-width:1000px;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.45}a{color:#00e;text-decoration:underline}a:visited{color:#551a8b}a:active,a:hover{color:red}h1,h2,h3,h4{color:#000;line-height:1.2}h1{font-size:30px;margin:10px 0}h2{font-size:24px;margin:26px 0 8px}h3{font-size:19px;margin:16px 0 4px}h4{font-size:17px;margin:12px 0 4px}p{margin:8px 0}hr{border:0;border-top:1px solid grey;margin:12px 0}ol,ul{margin:8px 0 8px 28px;padding:0}li{margin:3px 0}table{border-collapse:collapse;width:100%;margin:10px 0}td,th{border:1px solid grey;padding:5px 8px;text-align:left;vertical-align:top}th{background:#eee}.center{text-align:center}.small{font-size:13px}.nav{font-size:16px}.caption{font-size:13px;font-style:italic}.block{margin:14px 0;padding-left:10px;border-left:3px solid #ccc}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:16px 0}.project-card{padding:10px;background:#fff}.project-banner{display:block;width:100%;height:150px;object-fit:cover;margin:0 0 8px}.project-card h3{font-size:17px;margin:6px 0 4px}.project-card p{font-size:14px;margin:4px 0}.hero{display:flex;align-items:center;gap:28px;margin:10px 0 22px}.portrait{flex:0 0 auto;width:190px;height:190px;border-radius:50%;border:2px solid #000;object-fit:cover;background:#fff}.hero-text{flex:1 1 auto}.hero-text h2{font-size:34px;margin:0 0 6px}.quote{font-size:19px;font-style:italic;margin:0 0 12px}.links{display:flex;flex-wrap:wrap;gap:8px 18px}.links,.links a{align-items:center}.links a{display:inline-flex;gap:6px}.links img{width:18px;height:18px}.icon{filter:invert(1)}.timeline{margin:16px 0 0 6px;padding-left:20px;border-left:2px solid #999}.timeline-item{position:relative;margin:0 0 24px}.timeline-item:before{content:"";position:absolute;left:-26px;top:6px;width:10px;height:10px;border-radius:50%;background:#000}.timeline-item .when{font-size:14px;color:#555;margin:0}button,input,select,textarea{font-family:Arial,Helvetica,sans-serif;font-size:15px}input,textarea{border:1px solid grey;padding:4px;background:#fff;color:#000}button{border:1px solid #000;background:#eee;color:#000;padding:4px 14px;cursor:pointer}.topbar{display:flex;align-items:flex-start;gap:12px}.topbar .nav{flex:1 1 auto}.theme-toggle{flex:0 0 auto;border:1px solid #000;background:#fff;color:#000;padding:3px 10px;font:inherit;font-size:15px;cursor:pointer}.theme-toggle:hover{background:#eee}html[data-theme=dark]{background:#111;color-scheme:dark}html[data-theme=dark] body{background:#111;color:#e8e8e8}html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] h4{color:#f2f2f2}html[data-theme=dark] a{color:#8ab4f8}html[data-theme=dark] a:visited{color:#c58af9}html[data-theme=dark] a:active,html[data-theme=dark] a:hover{color:#ff8a65}html[data-theme=dark] hr{border-top-color:#555}html[data-theme=dark] .timeline{border-left-color:#555}html[data-theme=dark] .timeline-item:before{background:#e8e8e8}html[data-theme=dark] .timeline-item .when{color:#aaa}html[data-theme=dark] .portrait{border-color:#e8e8e8}html[data-theme=dark] .block{border-left-color:#444}html[data-theme=dark] .project-card{background:#111}html[data-theme=dark] .icon{filter:none}html[data-theme=dark] td,html[data-theme=dark] th{border-color:#555}html[data-theme=dark] th{background:#222}html[data-theme=dark] input,html[data-theme=dark] textarea{border-color:#555;background:#1a1a1a;color:#e8e8e8}html[data-theme=dark] button{border-color:#e8e8e8;background:#222;color:#e8e8e8}html[data-theme=dark] .theme-toggle{border-color:#e8e8e8;background:#111;color:#e8e8e8}html[data-theme=dark] .theme-toggle:hover{background:#222}@media (max-width:800px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.hero{flex-direction:column;text-align:center}.portrait{width:150px;height:150px}.links{justify-content:center}.project-grid{grid-template-columns:1fr}.project-banner{height:180px}}