:root{--bg: #0b0d0e;--fg: #e6e8e3;--fg-soft: #c9ccc6;--muted: #8a918c;--faint: #6b726d;--line: #1f2326;--accent: #d6ff3f;--mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "Geist", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.muted{color:var(--muted)}.accent{color:var(--accent)}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}.topbar{border-bottom:1px solid var(--line)}.topbar-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 32px}.brand{display:flex;align-items:center;gap:12px;min-height:56px}.nav{display:flex;flex-wrap:wrap;gap:0 24px}.nav a{padding:16px 0}.logo-fallback{display:flex;align-items:center;justify-content:center;border:1px solid var(--fg);font-size:12px;font-weight:500}.hero{padding:72px 0 64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:40px 64px;align-items:start}h1{margin:12px 0 0;font-weight:500;font-size:clamp(34px,5.4vw,56px);line-height:1.05;letter-spacing:-.02em}.lead{margin:24px 0 0;max-width:520px;font-family:var(--sans);font-size:18px;line-height:1.5;color:var(--fg-soft);text-wrap:pretty}.facts{margin:0;border:1px solid var(--line)}.fact{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line)}.fact:last-child{border-bottom:0}.fact dt,.fact dd{margin:0;padding:12px 16px}.status{display:flex;align-items:center;gap:10px}.dot{width:8px;height:8px;background:var(--accent);display:block;flex:none}.section{padding:0 0 72px}.section-head{display:flex;gap:16px;align-items:center;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}.section-head h2{margin:0;font-weight:400;font-size:14px}.about{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:24px 64px;font-family:var(--sans);font-size:17px;line-height:1.6;color:var(--fg-soft)}.about p{margin:0;text-wrap:pretty}.list{margin-top:16px;display:flex;flex-direction:column}.job{display:flex;flex-wrap:wrap;gap:6px 32px;padding:24px 0;border-bottom:1px solid var(--line)}.period{flex:0 0 150px}.job-body{flex:1 1 300px;min-width:0}.company{font-weight:500;font-size:18px}.role{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 24px;color:var(--fg-soft)}.role-period{font-size:13px}.note{margin-top:8px;color:var(--faint)}.badge{flex:none;align-self:flex-start;padding:2px 8px;border:1px solid var(--accent);color:var(--accent);font-size:12px}.talk{padding:16px 0;border-bottom:1px solid var(--line)}.box{margin-top:16px;border:1px solid var(--line)}.project{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:baseline;padding:14px 16px;border-bottom:1px solid var(--line)}.project:last-child{border-bottom:0}a.project:hover{background:#111416;color:var(--fg)}a.project:hover .pname{color:var(--accent)}.pname{flex:0 0 130px;font-weight:500}.ptext{flex:1 1 300px;min-width:0;color:#a3a8a2}.pkind{flex:none;color:var(--faint)}.placeholder{color:var(--faint)}.placeholder .pname{font-weight:400}.placeholder .ptext{color:var(--faint)}.links{margin-top:16px;display:flex;flex-wrap:wrap;gap:0 32px}.links a{padding:12px 0}.footer{border-top:1px solid var(--line);padding-top:20px;padding-bottom:40px;color:var(--faint);font-size:12px}@media (max-width: 520px){.fact{grid-template-columns:1fr}.fact dt{padding-bottom:0}.period{flex-basis:100%}}
