.prose h2:not(.timeline-body *){font-size:calc(22px * var(--fsm));color:var(--ink);letter-spacing:-.01em;margin:40px 0 14px;font-weight:700}.prose p{font-size:calc(16.5px * var(--fsm));color:var(--reading);text-wrap:pretty;margin:16px 0;line-height:1.7}.prose a{color:var(--accent-text);text-underline-offset:2px;text-decoration:none}.prose a:hover,.prose a:focus-visible{text-decoration:underline}.skills-list{flex-direction:column;gap:14px;margin:0;display:flex}.skills-row{grid-template-columns:200px 1fr;align-items:baseline;gap:16px;display:grid}.skills-row dt{font-family:var(--mono);font-size:calc(12.5px * var(--fsm));color:var(--mut);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.skills-row dd{margin:0}@media (width<=620px){.skills-row{grid-template-columns:1fr;gap:6px}}.timeline{flex-direction:column;gap:28px;display:flex}.timeline-item{border-left:2px solid var(--line);padding-left:18px}.timeline-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.timeline-head h3{font-size:calc(17px * var(--fsm));color:var(--ink);letter-spacing:-.01em;margin:0;font-weight:600}.timeline-period{font-family:var(--mono);font-size:calc(12.5px * var(--fsm));color:var(--dim);white-space:nowrap}.timeline-org{font-size:calc(14.5px * var(--fsm));color:var(--mut);margin-top:3px;font-weight:500}.timeline-org a{color:inherit;text-underline-offset:2px;text-decoration:none}.timeline-org a:hover,.timeline-org a:focus-visible{color:var(--accent-text);text-decoration:underline}.timeline-loc{font-size:calc(13px * var(--fsm));color:var(--mut);margin-top:2px}.timeline-body{margin-top:14px}.timeline-body .section-anchor-link{display:none}.timeline-body :is(h1,h2,h3,h4,h5,h6){font-family:var(--mono);font-size:calc(12px * var(--fsm));color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin:14px 0 8px;font-weight:600}.timeline-body :is(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}.timeline-body p{font-size:calc(14.5px * var(--fsm));color:var(--reading);margin:12px 0 8px;line-height:1.6}.timeline-body ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.timeline-body li{font-size:calc(14.5px * var(--fsm));color:var(--reading);text-wrap:pretty;padding-left:16px;line-height:1.6;position:relative}.timeline-body li:before{content:"";background:var(--dim);border-radius:50%;width:5px;height:5px;position:absolute;top:.7em;left:0}.timeline-body li a{color:var(--accent-text);text-underline-offset:2px;text-decoration:none}.timeline-body li a:hover,.timeline-body li a:focus-visible{text-decoration:underline}.product-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.product-list li{font-size:calc(14.5px * var(--fsm));color:var(--reading);text-wrap:pretty;line-height:1.65}.product-name{font-family:var(--mono);color:var(--ink);font-weight:600}.product-name a{color:var(--accent-text);text-decoration:none}.product-name a:hover,.product-name a:focus-visible{text-decoration:underline}.pub-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.pub-list li{flex-direction:column;gap:2px;display:flex}.pub-title{font-size:calc(14.5px * var(--fsm));color:var(--accent-text);text-wrap:pretty;line-height:1.5}.pub-list a{text-decoration:none}.pub-list a:hover .pub-title,.pub-list a:focus-visible .pub-title{text-decoration:underline}.pub-venue{font-family:var(--mono);font-size:calc(12px * var(--fsm));color:var(--mut);font-style:italic}.page-head{align-items:center;gap:1em;display:flex}.social-list{flex-direction:column;gap:2px;margin:8px 0;display:flex}.social-row{border-radius:10px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;transition:background .15s;display:flex}.social-row:hover{background:var(--card-hover)}.social-row .ic{background:var(--chip-bg);border:1px solid var(--line);width:34px;height:34px;color:var(--ink);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.social-row .ic svg{width:17px;height:17px}.social-row .lbl{font-size:calc(15px * var(--fsm));color:var(--accent-text);font-weight:600}.social-row:hover .lbl,.social-row:focus-visible .lbl{text-decoration:underline}.social-row .handle{font-family:var(--mono);font-size:calc(12.5px * var(--fsm));color:var(--mut);white-space:nowrap}
