@font-face{font-family:rounded;src:url(../media/SFProRounded_Regular.p.0g00fymzmr6kx.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:rounded;src:url(../media/SFProRounded_Medium.p.2ntpnd03ua-i-.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:rounded;src:url(../media/SFProRounded_Semibold.p.1pniibnryc5w4.woff2)format("woff2");font-display:swap;font-weight:600}._00bKZq_className{font-family:rounded,ui-rounded,system-ui,sans-serif}._00bKZq_variable{--font-rounded:"rounded", ui-rounded, system-ui, sans-serif}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#161618;--ink:#fff;--ink-2:#ffffff8c;--ink-3:#ffffff4d;--fill:#ffffff0e;--line:#ffffff1a;--card-radius:14px}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:72px}body{font-family:var(--font-rounded),ui-rounded,system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,video:focus-visible{outline-offset:5px;border-radius:6px;outline:2px solid #81acec}.page{min-height:100dvh;padding:78px 16px 40px}.column{width:100%;max-width:400px;margin:0 auto;padding:0 14px}.topbar{justify-content:space-between;align-items:center;gap:16px;width:min(100%,432px);height:64px;padding:0 30px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.site-name{color:#fffc;font-size:15px;font-weight:500}.contact{background:#ffffff17;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:8px 13px;font-size:13px;display:inline-flex}.contact:hover{background:#ffffff24}.contact svg{width:13px;height:13px}.intro{text-align:center;flex-direction:column;align-items:center;margin-bottom:16px;display:flex}.portrait{object-fit:cover;border-radius:50%;width:88px;height:88px;display:block}h1{letter-spacing:-.4px;margin:14px 0 10px;font-size:24px;font-weight:600;line-height:28px}.location{color:var(--ink-2);justify-content:center;align-items:center;gap:9px;font-size:13px;line-height:18px;display:flex}.location>span,.local-time{align-items:center;gap:4px;display:inline-flex}.intro p{color:var(--ink-2);text-wrap:balance;max-width:310px;margin:13px 0 12px;font-size:15px;line-height:22px}.intro p strong{color:#ffffffeb;font-weight:500}.intro p a{color:#ffffffeb;text-underline-offset:3px;font-weight:500;-webkit-text-decoration:underline #ffffff40;text-decoration:underline #ffffff40}.socials{justify-content:center;gap:7px;display:flex}.socials a{background:var(--fill);border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;line-height:16px;display:inline-flex}.socials a:hover{background:#ffffff1a}.work-section{margin-top:30px}.section-title{justify-content:space-between;align-items:baseline;gap:8px;padding:0 2px 12px;display:flex}h2{letter-spacing:-.15px;font-size:15px;font-weight:500}.section-title>span{color:var(--ink-3);font-size:12px}.project-list{flex-direction:column;gap:14px;display:flex}.project-card{background:var(--fill);border-radius:var(--card-radius);padding-bottom:10px;overflow:hidden}.project-heading{align-items:center;gap:10px;padding:16px 16px 0;display:flex}.project-heading>svg{color:var(--ink-3);margin-left:auto}.project-heading:hover>svg{color:var(--ink)}.app-icon{background:#fff1;border-radius:10px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:26px;font-weight:600;line-height:1;display:flex}h3{font-size:16px;font-weight:500;line-height:20px}.project-name>span{color:var(--ink-2);font-size:12px;line-height:16px}.project-meta{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.github-stars{color:#ffffffb8;font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.project-description{color:var(--ink-2);padding:12px 16px 16px;font-size:14px;line-height:20px}.project-description strong{color:#ffffffe0;font-weight:500}::selection{color:#fff;background:#7355f7}.project-media{background:#111113;border-radius:8px;margin:0 10px;overflow:hidden}.project-media img,.project-media video{aspect-ratio:16/9;object-fit:cover;object-position:center top;width:100%;height:auto;display:block}.project-media-portrait{background:radial-gradient(at 50% 35%,#252529,#111113 80%);justify-content:center;padding:18px;display:flex}.project-media-portrait .project-media-frame{background:#000;border-radius:12px;max-width:100%;height:min(380px,65svh);overflow:hidden;box-shadow:0 8px 28px #00000059,0 0 0 1px #ffffff14}.project-media-portrait img,.project-media-portrait video{object-fit:contain;object-position:center;width:100%;height:100%}footer{text-align:center;color:var(--ink-2);padding-top:36px;font-size:13px}footer>div{justify-content:center;gap:16px;margin:12px 0 28px;display:flex}footer a{align-items:center;gap:3px;display:inline-flex}footer svg{width:12px;height:12px}footer>span{color:var(--ink-3);font-size:11px}@media (max-width:420px){.page{padding-left:6px;padding-right:6px}.column{padding:0 12px}.topbar{padding:0 20px}}@media (pointer:coarse){.contact,.socials a{min-height:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.app-icon img{object-fit:contain;border-radius:6px;width:28px;height:28px;display:block}.app-icon-full{background:0 0;overflow:hidden}.app-icon-full img{border-radius:0;width:38px;height:38px}#yab .app-icon img{transform:scale(1.24)}.agent-summary{background:var(--fill);border-radius:var(--card-radius);margin-top:14px;padding:14px}.agent-summary-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.agent-summary-head h2{font-size:14px}.agent-summary-head a{color:var(--ink-2);align-items:center;gap:4px;font-size:12px;display:inline-flex}.agent-summary-head a:hover{color:var(--ink)}.agent-figures{grid-template-columns:1fr 1fr;gap:14px;display:grid}.agent-figures>div{flex-direction:column;gap:3px;min-width:0;display:flex}.agent-figures>div>span{color:#ffffffa6;font-size:13px}.agent-figures strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(20px,6vw,24px);font-weight:500;line-height:28px}.agent-chart{gap:3px;height:86px;margin-top:18px;display:flex}.agent-day{min-width:0;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:7px;padding:0;transition:opacity .15s ease-out;display:flex}.agent-day:focus-visible,.agent-summary-empty button:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #81acec}.agent-day-dimmed{opacity:.35}.agent-bar-slot{align-items:flex-end;width:min(24px,100%);height:64px;display:flex}.agent-bar{background:#7355f7;border-radius:3px 3px 1px 1px;width:100%}.agent-day-label{font-size:11px;line-height:15px}.agent-day[aria-pressed=true] .agent-day-label{color:var(--ink)}.agent-tool-track{border-radius:999px;gap:2px;height:4px;margin-top:14px;display:flex;overflow:hidden}.agent-tool-other{background:#ba9bf5}.agent-tool-codex{background:#7355f7}.agent-tools{flex-wrap:wrap;gap:4px 12px;margin-top:7px;display:flex}.agent-tools>span{color:var(--ink-2);align-items:center;gap:4px;font-size:11px;display:inline-flex}.agent-tools i{border-radius:50%;width:5px;height:5px}.agent-summary-foot{color:var(--ink-2);border-top:1px solid #ffffff0d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;margin-top:14px;padding-top:11px;font-size:11px;display:flex}.agent-summary-foot time{color:var(--ink-3)}.agent-number-skeleton{background:#ffffff14;border-radius:5px;width:94px;height:23px;margin:3px 0 2px;animation:.9s ease-in-out infinite alternate agent-breathe;display:inline-block}.agent-chart-skeleton{background:#ffffff06;border-radius:6px;width:100%}.agent-summary-empty{min-height:58px;color:var(--ink-2);flex-direction:column;align-items:flex-start;gap:8px;font-size:13px;display:flex}.agent-summary-empty button{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:3px 0}@keyframes agent-breathe{0%{opacity:.5}to{opacity:1}}@media (prefers-reduced-motion:reduce){.agent-number-skeleton{animation:none}.agent-day{transition:none}}
