*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px}:root{--text: #1a1a1a;--text-secondary: #555;--accent: #2563eb;--accent-hover: #1d4ed8;--bg: #fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}.container{max-width:680px;margin:0 auto;padding:3rem 1.5rem 4rem}.header{display:flex;gap:1.75rem;align-items:flex-start;margin-bottom:2.5rem}.headshot{width:130px;height:130px;flex-shrink:0;border-radius:50%;object-fit:cover;display:block}.header-info h1{font-size:1.6rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.2rem}.header-info .role{color:var(--text-secondary);font-size:.95rem;margin-bottom:.05rem}.header-info .affiliation{color:var(--text-secondary);font-size:.95rem;margin-bottom:.5rem}.links{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.875rem}section{margin-bottom:2rem}section h2{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);margin-bottom:.6rem}section p,section li{font-size:.93rem;color:var(--text)}.inline-muted{font-weight:400;text-transform:none;letter-spacing:0;color:#bbb}.sub-label{font-size:.8rem;font-weight:600;color:var(--text);margin-top:.9rem;margin-bottom:.3rem}.sub-label:first-child{margin-top:0}.pub-entry{margin-bottom:.8rem}.pub-entry:last-child{margin-bottom:0}.pub-title{font-weight:600;font-size:.93rem;line-height:1.4}.pub-meta,.pub-authors{font-size:.83rem;color:var(--text-secondary)}.pub-links{display:inline;font-size:.83rem}.pub-links a{margin-right:.6rem}.plain-list{list-style:none;padding:0}.plain-list li{font-size:.9rem;padding:.25rem 0}.plain-list .prof{font-weight:600}.school-logo{height:1.1em;width:1.1em;object-fit:contain;vertical-align:-.2em;margin-right:.4em}.software-links{font-size:.83rem}.education-list{margin-top:.6rem}.footer{margin-top:2.5rem;font-size:.8rem;color:#bbb;text-align:center}.cart-zone{position:relative;width:100%;height:92px;margin:1.5rem 0 0;overflow:visible;touch-action:none}.cart-hint{margin:.5rem 0 0;font-size:.7rem;color:#999;text-align:center}.cart-track{position:absolute;left:0;right:0;top:52px;border-top:1px solid #111}.cart{position:absolute;left:0;top:37px;width:30px;height:18px;transform:translate(0);will-change:transform;transition:filter .12s ease-out,opacity .12s ease-out;--cart-x: 0px}.pendulum{position:absolute;left:14px;top:-38px;width:2px;height:38px;transform-origin:50% 100%;will-change:transform}.pendulum-rod{position:absolute;left:0;top:0;width:2px;height:38px;border-radius:1px;background:#111}.pendulum-bob{position:absolute;left:-3px;top:-6px;width:8px;height:8px;border:1px solid #111;border-radius:50%;background:#fff}.cart-body{position:absolute;left:2px;top:0;width:26px;height:10px;border:1px solid #111;border-radius:3px;background:#fff;transition:background .12s ease-out,border-color .12s ease-out}.cart-wheel{position:absolute;top:12px;width:6px;height:6px;border:1px solid #111;border-radius:50%;background:#fff;transition:background .12s ease-out,border-color .12s ease-out,opacity .12s ease-out}.cart-shatter{position:absolute;left:2px;top:0;width:26px;height:10px;border-radius:3px;pointer-events:none;opacity:0;background:linear-gradient(145deg,transparent 22%,rgba(24,24,24,.9) 23%,transparent 24%),linear-gradient(35deg,transparent 57%,rgba(24,24,24,.75) 58%,transparent 59%);transition:opacity .12s ease-out}.cart[data-damage-level="2"] .cart-body{background:#f8f8f8;border-color:#444}.cart[data-damage-level="2"] .cart-wheel{background:#fbfbfb;border-color:#444}.cart[data-damage-level="3"] .cart-body{background:#f2f2f2;border-color:#2f2f2f}.cart[data-damage-level="3"] .cart-wheel{background:#f4f4f4;border-color:#2f2f2f}.cart[data-wall-hits="1"] .cart-shatter{opacity:.28}.cart[data-wall-hits="2"] .cart-shatter{opacity:.55;background:linear-gradient(145deg,transparent 19%,rgba(24,24,24,.9) 20%,transparent 21%),linear-gradient(35deg,transparent 53%,rgba(24,24,24,.78) 54%,transparent 55%),linear-gradient(118deg,transparent 70%,rgba(24,24,24,.8) 71%,transparent 72%)}.cart[data-wall-hits="3"] .cart-shatter{opacity:.8;background:linear-gradient(145deg,transparent 16%,rgba(20,20,20,.95) 17%,transparent 18%),linear-gradient(35deg,transparent 49%,rgba(20,20,20,.84) 50%,transparent 51%),linear-gradient(118deg,transparent 65%,rgba(20,20,20,.86) 66%,transparent 67%),linear-gradient(82deg,transparent 30%,rgba(20,20,20,.75) 31%,transparent 32%)}.cart.cart-dead{filter:grayscale(1);animation:cart-fall-through 1.4s cubic-bezier(.26,.84,.38,1) forwards}.cart.cart-dead .cart-body{background:#d9d9d9;border-color:#202020}.cart.cart-dead .cart-wheel{background:#dcdcdc;border-color:#202020;opacity:.65}.cart.cart-dead .cart-shatter{opacity:1;background:linear-gradient(145deg,transparent 12%,rgba(10,10,10,.95) 13%,transparent 14%),linear-gradient(35deg,transparent 40%,rgba(10,10,10,.9) 41%,transparent 42%),linear-gradient(118deg,transparent 55%,rgba(10,10,10,.9) 56%,transparent 57%),linear-gradient(82deg,transparent 72%,rgba(10,10,10,.88) 73%,transparent 74%)}.cart.cart-dead .pendulum{opacity:.35}.cart-fragment{position:absolute;left:3px;top:1px;width:8px;height:4px;border:1px solid #202020;border-radius:1px;background:#e9e9e9;opacity:0;pointer-events:none}.cart-fragment-a{left:3px;top:1px}.cart-fragment-b{left:11px;top:2px}.cart-fragment-c{left:19px;top:1px}.cart.cart-dead .cart-fragment{opacity:1}.cart.cart-dead .cart-fragment-a{animation:cart-fragment-a-fall 1.25s ease-out forwards}.cart.cart-dead .cart-fragment-b{animation:cart-fragment-b-fall 1.35s ease-out forwards}.cart.cart-dead .cart-fragment-c{animation:cart-fragment-c-fall 1.2s ease-out forwards}@keyframes cart-fall-through{0%{transform:translate(var(--cart-x)) translateY(0) rotate(0);opacity:1}to{transform:translate(var(--cart-x)) translateY(220px) rotate(28deg);opacity:0}}@keyframes cart-fragment-a-fall{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(-24px,165px) rotate(-160deg);opacity:0}}@keyframes cart-fragment-b-fall{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(6px,185px) rotate(135deg);opacity:0}}@keyframes cart-fragment-c-fall{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(28px,175px) rotate(170deg);opacity:0}}.cart-wheel-left{left:4px}.cart-wheel-right{right:4px}@media(max-width:520px){.header{flex-direction:column;align-items:center;text-align:center}.links{justify-content:center}.container{padding:2rem 1.25rem 3rem}}
