:root{--bg:#0c0c0d;--bg-panel:#0a0a0b;--bg-card-hover:#121213;--fg:#cfccc4;--fg-strong:#f4f2ec;--fg-muted:#a8a49b;--fg-dim:#8b877f;--fg-dimmer:#6f6c64;--fg-faint:#56544e;--fg-faintest:#4e4c47;--accent:#9fd39f;--accent-warn:#d9b26a;--line:#1e1e20;--line-soft:#18181a;--selection-bg:#2f3d2f;--font-mono:"JetBrains Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--selection-bg);color:var(--fg-strong)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#2a2a2c}.page{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font-mono);justify-content:center;padding:0 24px;font-size:15px;line-height:1.75;display:flex}.column{flex-direction:column;gap:64px;width:100%;max-width:780px;padding:88px 0 72px;display:flex}.header{flex-direction:column;gap:22px;display:flex}.header__meta{color:var(--fg-faint);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;font-size:12px;display:flex}.header__brand{align-items:baseline;gap:14px;display:flex}.locale{gap:6px;display:flex}.locale__option{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--fg-faintest);cursor:pointer;background:0 0;border:0;padding:0}.locale__option:hover{color:var(--fg-dim)}.locale__option.is-active{color:var(--accent)}.header__title{letter-spacing:-.025em;color:var(--fg-strong);margin:0;font-size:44px;font-weight:500}.header__bio{max-width:62ch;color:var(--fg-muted);text-wrap:pretty;margin:0}.terminal{border:1px solid var(--line);background:var(--bg-panel);flex-direction:column;gap:12px;display:flex}.terminal__bar{border-bottom:1px solid var(--line);color:var(--fg-faint);letter-spacing:.06em;justify-content:space-between;align-items:center;padding:10px 16px;font-size:12px;display:flex}.terminal__host{align-items:center;gap:8px;display:flex}.terminal__dot{background:var(--accent);border-radius:50%;width:7px;height:7px;display:inline-block}.terminal__scrollback{cursor:text;flex-direction:column;gap:2px;height:260px;padding:6px 16px 18px;display:flex;overflow-y:auto}.terminal__line{white-space:pre-wrap;word-break:break-word}.terminal__prompt{align-items:baseline;gap:10px;padding-top:8px;display:flex}.terminal__user{color:var(--accent)}.terminal__sigil{color:var(--fg-faintest)}.terminal__input{font:inherit;color:var(--fg-strong);min-width:40px;caret-color:var(--accent);background:0 0;border:0;outline:0;flex:1}.section{flex-direction:column;gap:18px;display:flex}.section__label{color:var(--accent)}.projects{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;display:grid}.project{background:var(--bg);color:inherit;flex-direction:column;gap:10px;padding:26px;display:flex}.project:hover{background:var(--bg-card-hover);text-decoration:none}.project__title{color:var(--fg-strong);font-weight:500}.project__description{color:var(--fg-dim);text-wrap:pretty;font-size:14px}.project__link{color:var(--accent-warn);font-size:13px}.work{flex-direction:column;gap:14px;display:flex}.work__row{border-bottom:1px solid var(--line-soft);grid-template-columns:130px 1fr;gap:8px 20px;padding-bottom:14px;display:grid}.work__row:last-child{border-bottom:0;padding-bottom:0}.work__range{color:var(--fg-dimmer)}.work__role{color:var(--fg)}.work__note{color:var(--fg-dimmer);font-size:14px}.practice__lead{max-width:62ch;color:var(--fg-muted);text-wrap:pretty;margin:0}.practice__cta{color:var(--accent-warn);margin-right:auto;font-size:13px}.practice__reveal{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.practice__reveal:hover{text-decoration:underline}.keyvalue{color:var(--fg-muted);grid-template-columns:110px 1fr;gap:10px 20px;font-size:14px;display:grid}.keyvalue__key{color:var(--fg-dimmer)}.footer{border-top:1px solid var(--line-soft);color:var(--fg-dim);flex-wrap:wrap;gap:28px;padding-top:26px;font-size:14px;display:flex}.footer__copyright{color:var(--fg-faintest);margin-left:auto}@media (width<=640px){.column{gap:48px;padding:56px 0 72px}.header__title{font-size:32px}}
