@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.CxiPNW_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.CxiPNW_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1icgra-w5i50b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.1g73gv09-xcb6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.gWe_kG_className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:normal;font-weight:400}.gWe_kG_variable{--font-serif:"Instrument Serif", "Instrument Serif Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#111;--panel:#161616;--line:#242424;--line-2:#2e2e2e;--fg:#ededed;--muted:#8a8a8a;--dim:#5c5c5c;--accent:#ff7a1a;--mono:var(--font-mono), ui-monospace, "SF Mono", Menlo, Consolas, monospace;--serif:var(--font-serif), "Times New Roman", serif}html{background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--fg);font-family:var(--mono);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:14px}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#111}.dim{color:var(--dim)}.serif{font-family:var(--serif);letter-spacing:-.02em;font-weight:400;line-height:1.05}.shell{grid-template-columns:minmax(380px,600px) 1fr;min-height:100vh;display:grid}.shell>*{min-width:0}.intro{scrollbar-width:none;flex-direction:column;gap:44px;height:100vh;padding:52px 40px 32px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.intro::-webkit-scrollbar{display:none}.intro>*{flex-shrink:0}.intro-id{align-items:center;gap:16px;display:flex}.avatar{border-radius:14px;flex-shrink:0;width:68px;height:68px}.handle{font-family:var(--serif);color:var(--muted);margin-bottom:6px;font-size:30px;line-height:1}.role{letter-spacing:.02em;font-size:17px;font-weight:500}.bio{color:var(--muted);font-size:18px;line-height:1.6}.bio b{color:var(--fg);white-space:nowrap;font-weight:500}.bio .hl{color:var(--accent);font-weight:600}.ico{vertical-align:-.12em;stroke-width:2px;width:.95em;height:.95em;margin:0 .25em;display:inline-block}.cta{border:1px solid var(--line-2);letter-spacing:.04em;background:linear-gradient(#262626,#1a1a1a);border-radius:999px;align-self:flex-start;padding:18px 54px;font-size:16px;font-weight:700;transition:border-color .2s,transform .2s;box-shadow:inset 0 1px #ffffff0f,0 6px 18px #0006}.cta:hover{border-color:var(--dim);transform:translateY(-1px)}.hatch{background:repeating-linear-gradient(-60deg, var(--line-2) 0 1px, transparent 1px 7px);border:0;height:10px}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000);mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000)}.marquee-track{gap:48px;width:max-content;animation:30s linear infinite marquee;display:flex}.marquee-track span{color:var(--dim);letter-spacing:-.02em;font-size:24px;font-weight:700}.marquee:hover .marquee-track{animation-play-state:paused}@keyframes marquee{to{transform:translate(calc(-50% - 24px))}}.intro h2{margin-bottom:18px;font-size:34px}.prose{color:var(--muted);font-size:15px;line-height:1.75}.rows{border-top:1px solid var(--line);list-style:none}.rows li{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:11px 0;font-size:13px;display:flex}.rows a{color:var(--fg);transition:color .2s}.rows a:hover{color:var(--accent)}.foot{justify-content:space-between;margin-top:auto;font-size:12px;display:flex}.foot a:hover{color:var(--fg)}.work{align-items:flex-start;gap:8px;padding:4px 4px 4px 0;display:flex}.work-col{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.tile{background:var(--panel);border:1px solid var(--line);transition:border-color .2s;display:block;overflow:hidden}.tile:hover{border-color:#3a3a3a}.tile-media{background:#0d0d0d;position:relative;overflow:hidden}.tile-media img{width:100%;height:auto;transition:transform .5s;display:block}.tile:hover .tile-media img{transform:scale(1.02)}.tile-cap{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px 14px;display:flex}.tile-title{margin-bottom:4px;font-size:13px;font-weight:600}.tile-desc{color:var(--dim);-webkit-line-clamp:2;white-space:pre-line;-webkit-box-orient:vertical;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.tile-arrow{width:16px;height:16px;color:var(--dim);flex-shrink:0;transition:color .2s,transform .2s}.tile:hover .tile-arrow{color:var(--accent);transform:translate(2px,-2px)}.ph{min-height:230px;color:var(--muted);flex-direction:column;font-size:12px;display:flex;position:relative}.ph-chrome{border-bottom:1px solid var(--line);background:#141414;align-items:center;gap:6px;padding:10px 12px;display:flex}.ph-chrome i{background:#2c2c2c;border-radius:50%;width:9px;height:9px}.ph-chrome span{color:var(--dim);margin-left:8px;font-size:11px}.ph-term-body,.ph-code-body{white-space:pre-wrap;word-break:break-word;padding:16px;line-height:1.8}.ph-dim{color:var(--dim)}.ph-ok{color:#6fcf73}.ph-clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ph-cursor{vertical-align:-2px;background:var(--accent);width:7px;height:14px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.ph-code-body{font-family:var(--mono);tab-size:2;font-size:12px}.ph-code-body .ln{color:#3a3a3a;-webkit-user-select:none;user-select:none;width:22px;display:inline-block}.ph-code-body .kw{color:#c792ea}.ph-code-body .fn{color:#82aaff}.ph-code-body .str{color:#c3e88d}.ph-graph{background:radial-gradient(circle,#ff7a1a14,#0000 60%),radial-gradient(#1f1f1f 1px,#0000 1px) 0 0/16px 16px;justify-content:center;min-height:260px}.ph-graph svg{width:100%;height:auto}.ph-edge{stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 4;opacity:.55;animation:2s linear infinite flow}.ph-edge--faint{stroke:#333;opacity:1;animation:none}@keyframes flow{to{stroke-dashoffset:-16px}}.ph-core{fill:#1c1c1c;stroke:var(--accent);stroke-width:1.5px}.ph-core-t{fill:var(--accent);font-size:10px;font-weight:700;font-family:var(--mono)}.ph-node{fill:var(--fg)}.ph-node-t{fill:var(--muted);font-size:10px;font-family:var(--mono)}.ph-pixel{min-height:0}.ph-pixel-grid{aspect-ratio:16/9;display:grid}.ph-pixel-grid span{box-shadow:inset -2px -2px #0000002e,inset 2px 2px #ffffff0f}.ph-pixel-label{color:#fff;background:#000000b8;padding:4px 8px;font-size:12px;position:absolute;bottom:12px;left:12px}.ph-phone{background:radial-gradient(circle at 50% 100%,#ff7a1a1f,#0000 65%);justify-content:flex-end;align-items:center;min-height:300px;padding-top:28px}.ph-phone-frame{border:1px solid var(--line-2);background:#0d0d0d;border-bottom:0;border-radius:28px 28px 0 0;flex-direction:column;gap:8px;width:180px;height:272px;padding:26px 14px 0;display:flex;position:relative}.ph-phone-notch{background:#1e1e1e;border-radius:99px;width:54px;height:10px;margin-left:-27px;position:absolute;top:9px;left:50%}.ph-phone-title{color:var(--fg);font-weight:600}.ph-phone-streak{color:var(--accent);margin-bottom:4px;font-size:11px}.ph-phone-task{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:11px}.ph-phone-task:before{content:"○ ";color:var(--dim)}.ph-phone-task.done{color:var(--dim);text-decoration:line-through}.ph-phone-task.done:before{content:"● ";color:var(--accent)}.ph-phone-xp{background:var(--line);border-radius:99px;height:4px;margin-top:auto;margin-bottom:18px;overflow:hidden}.ph-phone-xp span{background:var(--accent);height:100%;display:block}.ph-dots{background:radial-gradient(#2a2a2a 1.2px,#0000 1.2px) 0 0/12px 12px;justify-content:center;align-items:center;min-height:280px}.ph-dots-mark{font-family:var(--serif);color:var(--fg);text-shadow:0 0 40px #ff7a1a40;font-size:120px;line-height:1}.ph-dots-meta{color:var(--dim);font-size:11px;position:absolute;bottom:12px;right:12px}.index{max-width:1000px;margin:0 auto;padding:32px 24px 80px}.index-nav{color:var(--muted);justify-content:space-between;margin-bottom:64px;display:flex}.index-nav a:hover{color:var(--fg)}.index-h{margin-bottom:10px;font-size:clamp(40px,7vw,64px)}.filters{flex-wrap:wrap;gap:4px 14px;margin:32px 0 20px;display:flex}.filters button{font:inherit;color:var(--dim);cursor:pointer;background:0 0;border:0}.filters button:hover{color:var(--fg)}.filters button.on{color:var(--accent)}.ls{border-collapse:collapse;width:100%;font-size:13px}.ls th{text-align:left;color:var(--dim);border-bottom:1px solid var(--line);padding:8px 12px 8px 0;font-weight:400}.ls td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 12px 12px 0}.ls td:last-child{text-align:right;white-space:nowrap;padding-right:0}.ls tr:hover td{background:#ffffff04}.ls a{color:var(--fg)}.ls a:hover{color:var(--accent)}.ls-desc{color:var(--dim);max-width:52ch;margin-top:4px;font-size:12px;line-height:1.5;display:block}@media (max-width:1100px){.shell{grid-template-columns:1fr}.intro{height:auto;padding:40px 16px 32px;position:static;overflow:visible}.work{padding:0 16px 16px}.foot{margin-top:0}}@media (max-width:640px){.work{flex-direction:column;align-items:stretch}.work-col{display:contents}.bio{font-size:16px}.bio b{white-space:normal}.cta{text-align:center;align-self:stretch}.hide-sm{display:none}.ls-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
