body:has(.home),html:has(.home){background:#f6f5f2;background-image:none}.home :where(h1,h2,h3){font:inherit;letter-spacing:inherit}:root{--ease-out:cubic-bezier(0.23,1,0.32,1)}.appear{animation:appear .8s var(--ease-out) backwards;animation-delay:var(--d,0s)}@keyframes appear{0%{opacity:0;filter:blur(4px);transform:translateY(6px)}}.lb{position:fixed;inset:0;z-index:60;display:grid;place-items:center;touch-action:none;animation:lb-in .2s var(--ease-out)}@keyframes lb-in{0%{opacity:0}}.lb-img{max-width:min(80vw,1152px);max-height:calc(100vh - 160px);object-fit:contain;animation:lb-in .3s linear}.lb-cap{position:absolute;bottom:32px;left:0;right:0;text-align:center;font:12px/16px var(--font-inter),system-ui;color:rgba(0,0,0,.55)}.lb-count{margin-left:8px;font-variant-numeric:tabular-nums;color:rgba(0,0,0,.35)}.lb-half{position:absolute;top:0;bottom:0;width:50%;background:none;border:0}.lb-prev{left:0;cursor:w-resize}.lb-next{right:0;cursor:e-resize}.lb-x{position:absolute;top:16px;right:16px;z-index:1;width:32px;height:32px;border:0;border-radius:999px;background:rgba(0,0,0,.05);color:#000;font-size:12px;cursor:pointer}.mono{font:12px ui-monospace,SFMono-Regular,monospace;color:var(--t3);margin-left:4px;font-variant-numeric:tabular-nums}.cta{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;height:36px;margin-top:28px;padding:0 12px;border-radius:999px;background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.7));box-shadow:0 0 0 .5px #000;color:#fff;font-size:14px;will-change:transform}.cta:before{content:"";position:absolute;inset:0;z-index:0;transition:background-color .1s var(--ease-out)}.cta:hover:before{background:hsla(0,0%,100%,.08)}.cta>span{position:relative;z-index:1;padding:0 4px}.cta:focus-visible{outline:none;box-shadow:0 0 0 .5px #000,0 0 0 2px #fafafa,0 0 0 4px #a98fd8}.rail{background:linear-gradient(var(--t1),var(--t1)) 100% 100% /0 1px no-repeat,linear-gradient(#0000001f,#0000001f) 0 100% /100% 1px no-repeat;padding-bottom:1px;transition:background-size .28s cubic-bezier(.77,0,.175,1)}.rail:hover{background-size:100% 1px,100% 1px;background-position:0 100%,0 100%;transition-duration:.18s}.cursor-preview{position:fixed;top:0;left:0;z-index:40;pointer-events:none;opacity:0;scale:.9;transition:opacity .2s,scale .28s var(--ease-out)}.cursor-preview[data-on]{opacity:1;scale:1}.cursor-preview img{width:96px;height:96px;border-radius:22px;box-shadow:0 10px 28px #00000024;object-fit:contain}.cursor-preview img.is-logo{padding:14px;background:#fff}@media (hover:none){.cursor-preview{display:none}}.home{--t1:#000000ed;--t2:#00000094;--t3:#00000059;--line:#00000014;--accent:#f1752c;min-height:100vh;background:#f6f5f2;color:var(--t1);font:450 15px/20px system-ui,-apple-system,sans-serif;letter-spacing:-.24px;text-wrap:pretty}.home ::selection{background:var(--accent);color:#fff}.h-list .h-n{transition:color .2s var(--ease-out)}.h-list li:hover .h-n{color:var(--accent)}.home .rail{background-image:linear-gradient(var(--accent),var(--accent)),linear-gradient(#0000001f,#0000001f)}.home .rail:hover{color:var(--accent)}.h-card:hover{outline-color:var(--accent)}.h-card-link{margin-top:6px}a.h-card:hover .h-card-link{color:var(--accent)}.h-dot{display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:999px;background:var(--accent);vertical-align:2px}.home .bio-link{color:var(--t1);text-decoration:underline 1px #0000002e;text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}.home .bio-link:hover{color:var(--accent);text-decoration-color:var(--accent)}.h-col{width:min(560px,100%);margin:0 auto;padding:120px 24px 140px;display:flex;flex-direction:column;gap:40px}.home hr{border:0;border-top:1px solid var(--line);margin:0}.h-t1{color:var(--t1)}.h-t2{color:var(--t2)}.h-n,.h-t3{color:var(--t3)}.h-n{font:11px/16px ui-monospace,SFMono-Regular,monospace;letter-spacing:0;font-variant-numeric:tabular-nums}.h-head{display:flex;align-items:center;gap:14px}.h-head h1{font:600 15px/20px system-ui,-apple-system,sans-serif;letter-spacing:-.24px}.h-avatar{width:44px;height:44px;border-radius:10px;object-fit:cover}.h-bio p{color:var(--t2)}.h-bio p+p{margin-top:14px}.h-label{display:flex;justify-content:space-between;margin-bottom:14px;font:500 12px/16px ui-monospace,SFMono-Regular,monospace;letter-spacing:.01em;color:var(--t3)}.h-list li{transition:opacity .2s var(--ease-out)}.h-list:hover li{opacity:.3}.h-list li:hover{opacity:1}.h-list a{display:grid;grid-template-columns:28px 104px 1fr 44px;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.h-list li:first-child a{border-top:1px solid var(--line)}.h-work a{grid-template-columns:132px 1fr 96px}.h-meta{text-align:right}.h-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:520px){.h-list a{grid-template-columns:28px 1fr 44px}.h-list .h-tag{grid-column:2/-1;grid-row:2;white-space:normal;margin-top:-8px;font-size:13px}.h-work a{grid-template-columns:1fr auto}.h-work .h-t2{grid-column:1;grid-row:2;margin-top:-8px;font-size:13px}}.h-fan{display:flex;justify-content:center;padding:12px 0 4px}.h-card{flex:1 1 0;max-width:184px;margin:0 3px;padding:10px;border-radius:16px;background:#fff;outline:1px solid var(--line);box-shadow:0 1px 2px #0000000a;transition:transform .3s cubic-bezier(.34,1.3,.64,1),box-shadow .2s}.h-card:hover{transform:translateY(-6px) scale(1.03);z-index:10!important;box-shadow:0 12px 28px #0000001a}.h-card p{font-size:13px;line-height:17px}.h-card .h-t1{font-weight:600}.h-well{display:grid;place-items:center;aspect-ratio:4/3;margin-bottom:10px;border-radius:9px;background:#f1efea}.h-well img{width:52px;height:52px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.12)}.h-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 12px}.h-photos button{display:flex;flex-direction:column;gap:6px;padding:0;border:0;background:none;text-align:left;cursor:zoom-in}.h-photos img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px;background:#ebe9e4;transition:opacity .2s var(--ease-out),transform .4s var(--ease-out)}.h-photos:hover img{opacity:.35}.h-photos button:hover img{opacity:1;transform:scale(1.02)}.h-links{display:flex;flex-wrap:wrap;gap:20px}@media (prefers-reduced-motion:reduce){.appear,.lb,.lb-img{animation:none}.h-card:hover,.h-photos button:hover img{transform:none}}@media (max-width:520px){.h-col{padding-top:64px;gap:32px}.h-fan{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;margin:0 -24px;padding:12px 24px 8px}.h-fan::-webkit-scrollbar{display:none}.h-card{flex:none;width:200px;max-width:none;scroll-snap-align:start;scroll-margin-left:24px}}.h-ico{display:none}@media (hover:none){.h-num{display:none}.h-ico{display:block;width:32px;height:32px;border-radius:8px;object-fit:contain;background:#fff;box-shadow:0 0 0 .5px #00000014}.h-list:not(.h-work) a{grid-template-columns:32px 104px 1fr 44px;align-items:center}.h-ico-s{display:inline-block;width:18px;height:18px;margin-right:8px;padding:2px;border-radius:5px;vertical-align:-3px}}@media (hover:none) and (max-width:520px){.h-list:not(.h-work) a{grid-template-columns:32px 1fr 44px}.h-lead{grid-row:1/span 2}}.h-back a{font-weight:600}.h-posts a{grid-template-columns:1fr auto}.h-post-title{font-weight:600;margin-bottom:4px}.h-prose{margin-top:32px;color:var(--t2)}.h-prose>*+*{margin-top:16px}.h-prose h2,.h-prose h3{margin-top:32px;color:var(--t1);font-weight:600;font-size:15px}.h-prose a{color:var(--t1);text-decoration:underline 1px #0000002e;text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}.h-prose a:hover{color:var(--accent);text-decoration-color:var(--accent)}.h-prose strong{color:var(--t1);font-weight:600}.h-prose ol,.h-prose ul{padding-left:20px;list-style:disc}.h-prose ol{list-style:decimal}.h-prose li+li{margin-top:6px}.h-prose blockquote{padding-left:14px;border-left:2px solid var(--accent)}.h-prose img{border-radius:6px}.h-prose :not(pre)>code{padding:1px 5px;border-radius:4px;background:#0000000a;font:13px ui-monospace,SFMono-Regular,monospace}.h-prose pre{padding:14px 0;border-radius:8px;background:#fff;outline:1px solid var(--line);overflow-x:auto;font:13px/20px ui-monospace,SFMono-Regular,monospace}.h-404{margin-top:24px}