@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.CHSlOQsW.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DMtmJ5ZE.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.Dm3htQBi.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.BZdD_g9V.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.b6lpi8_2.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.Cjtb1TV-.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #fafaf7;--fg: #15140f;--fg-muted: #6b6a62;--fg-faint: #a8a69b;--rule: #e6e3da;--accent: #c8553d;--accent-fg: #fafaf7;--pill-bg: #f0ede2;--code-bg: #f3f0e6;--card-bg: #fff;--serif: "Geist Variable", system-ui, sans-serif;--mono: "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace}[data-theme=dark]{--bg: #0e0d0a;--fg: #ece9df;--fg-muted: #8c8a7f;--fg-faint: #54524a;--rule: #232118;--accent: #e07a64;--accent-fg: #0e0d0a;--pill-bg: #1a1812;--code-bg: #181610;--card-bg: #14130e}*{box-sizing:border-box;margin:0}html{background:var(--bg);color:var(--fg);font-family:var(--serif);font-feature-settings:"ss01","cv11";font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;background:var(--bg)}a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule);transition:border-color .12s ease,color .12s ease}a:hover{border-bottom-color:var(--accent);color:var(--accent)}a.bare,a.bare:hover{border-bottom:none}a.bare:hover{color:var(--accent)}h1,h2,h3,h4{font-weight:500;letter-spacing:-.015em;line-height:1.2}h1{font-size:clamp(2.25rem,4vw,3.5rem);letter-spacing:-.025em}h2{font-size:1.5rem}h3{font-size:1.125rem}p{margin-block:.6em}main{max-width:720px;margin:0 auto;padding:4rem 1.5rem 8rem}@media(min-width:720px){main{padding-inline:2rem}}.mono{font-family:var(--mono);font-size:.875em;font-feature-settings:"tnum","ss02"}.muted{color:var(--fg-muted)}.faint{color:var(--fg-faint)}.rule{border:0;border-top:1px solid var(--rule);margin-block:4rem}.section{margin-block:4rem}.section-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem}.section-head h2{font-family:var(--mono);font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted)}.section-head .meta{font-family:var(--mono);font-size:.75rem;color:var(--fg-faint);margin-left:auto}.items{display:flex;flex-direction:column}.item{display:grid;grid-template-columns:2.75rem 1fr auto;gap:1rem;align-items:flex-start;padding-block:1rem;border-bottom:1px solid var(--rule)}.item:last-child{border-bottom:0}.icon{width:2.5rem;height:2.5rem;border-radius:8px;display:grid;place-items:center;font-family:var(--mono);font-weight:600;font-size:1rem;color:#fff;letter-spacing:-.02em;flex-shrink:0;user-select:none;overflow:hidden}.icon.icon-img{background:var(--card-bg);border:1px solid var(--rule);padding:0}.icon.icon-img img,.icon.icon-img svg{width:100%;height:100%;object-fit:contain;display:block}.icon-lg{width:4rem;height:4rem;border-radius:12px;font-size:1.5rem}.item .body{min-width:0}.item .title-row{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.item .name{font-weight:500;font-size:1rem}.item .name a{border-bottom:none}.item .role{font-family:var(--mono);font-size:.75rem;color:var(--fg-muted)}.item .blurb{color:var(--fg-muted);font-size:.9375rem;margin-top:.2rem}.item .meta-row{margin-top:.4rem;display:flex;gap:.75rem;flex-wrap:wrap;font-family:var(--mono);font-size:.7rem;color:var(--fg-faint);letter-spacing:.02em}.item .meta-row a{color:var(--fg-muted);border-bottom:none}.item .meta-row a:hover{color:var(--accent)}.item .when{font-family:var(--mono);font-size:.7rem;color:var(--fg-faint);white-space:nowrap;text-align:right}.status{display:inline-block;font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;padding:.05em .5em;border-radius:2px;vertical-align:1.5px;background:var(--pill-bg);color:var(--fg-muted)}.status.current{color:var(--accent)}.status.earning,.status.shipped{color:#2d7a4f}.status.open-source{color:#4a6d2d}.status.archived{color:var(--fg-muted)}.status.killed{color:#8c8a7f;text-decoration:line-through}.status.exploration{color:var(--fg-muted);font-style:italic}[data-theme=dark] .status.earning,[data-theme=dark] .status.shipped{color:#6cc59a}[data-theme=dark] .status.open-source{color:#9bcd6b}.hero h1{margin-bottom:1rem}.hero .lede{color:var(--fg-muted);font-size:1.125rem;max-width:36em;line-height:1.6}.hero .lede em{font-style:italic;color:var(--fg)}.hero .quote{margin-top:1.5rem;font-style:italic;color:var(--fg-muted);font-size:.9375rem;border-left:2px solid var(--accent);padding-left:.85rem;max-width:36em}.now ul{list-style:none;padding:0}.now li{padding-block:.5rem;font-size:.9375rem;border-bottom:1px solid var(--rule)}.now li:last-child{border-bottom:0}.now li .label{font-weight:500}.now li .detail{color:var(--fg-muted);margin-left:.5em}.now li .detail:before{content:"→";color:var(--fg-faint);margin-right:.5em;font-family:var(--mono);font-size:.75rem}.nav{max-width:720px;margin:0 auto;padding:1.25rem 1.5rem 0;display:flex;align-items:center;gap:1.25rem;font-family:var(--mono);font-size:.8125rem}@media(min-width:720px){.nav{padding-inline:2rem}}.nav a{border-bottom:none;color:var(--fg-muted)}.nav a:hover,.nav a[aria-current=page]{color:var(--fg)}.nav .mark{font-weight:600;color:var(--fg);letter-spacing:-.01em}.nav .mark-with-photo{display:inline-flex;align-items:center;gap:.55rem}.nav .mark-with-photo img{width:1.75rem;height:1.75rem;border-radius:50%;object-fit:cover;border:1px solid var(--rule);display:block}.nav .spacer{flex:1}#theme-toggle{background:none;border:none;color:var(--fg-muted);font:inherit;cursor:pointer;padding:0}#theme-toggle:hover{color:var(--fg)}footer{max-width:720px;margin:0 auto;padding:2rem 1.5rem 4rem;border-top:1px solid var(--rule);display:flex;gap:1.5rem;flex-wrap:wrap;font-family:var(--mono);font-size:.75rem;color:var(--fg-faint)}@media(min-width:720px){footer{padding-inline:2rem}}footer a{border-bottom:none;color:var(--fg-muted)}footer a:hover{color:var(--accent)}footer .spacer{flex:1}.breadcrumb{font-family:var(--mono);font-size:.75rem;color:var(--fg-faint);margin-bottom:1.5rem;letter-spacing:.02em}.breadcrumb a{color:var(--fg-muted);border-bottom:none}.breadcrumb a:hover{color:var(--accent)}.breadcrumb .sep{color:var(--fg-faint);margin:0 .4em}.item-page header{margin-bottom:1.5rem}.item-page h1{font-size:2.25rem;margin-bottom:.4rem;letter-spacing:-.025em}.item-page .lede{color:var(--fg-muted);font-size:1.0625rem;max-width:36em}.item-page .layout{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:1.5rem}@media(min-width:760px){.item-page .layout{grid-template-columns:1fr 11rem;gap:3rem}}.item-page .sidebar{font-family:var(--mono);font-size:.75rem;color:var(--fg-muted);display:flex;flex-direction:column;gap:1rem;align-items:flex-start}@media(min-width:760px){.item-page .sidebar{grid-column:2;grid-row:1;position:sticky;top:2rem;align-self:start}.item-page .body{grid-column:1;grid-row:1}}.item-page .sidebar dl{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;row-gap:.4rem;font-size:.7rem}.item-page .sidebar dt{color:var(--fg-faint);letter-spacing:.04em;text-transform:uppercase}.item-page .sidebar dd{color:var(--fg-muted);margin:0}.item-page .sidebar .links{display:flex;flex-direction:column;gap:.35rem;font-size:.7rem}.item-page .sidebar .links a{color:var(--fg-muted);border-bottom:none;padding:.25rem 0}.item-page .sidebar .links a:hover{color:var(--accent)}.prose img{max-width:100%;height:auto;border-radius:6px;border:1px solid var(--rule);margin-block:1.5rem;display:block}.prose{font-size:1rem;line-height:1.65}.prose h2{margin-block:2rem .75rem;font-family:var(--mono);font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted)}.prose h3{margin-block:1.5rem .5rem;font-size:1.125rem}.prose code{background:var(--code-bg);padding:.1em .35em;border-radius:2px;font-family:var(--mono);font-size:.875em}.prose pre{background:var(--code-bg);padding:1rem;border-radius:4px;overflow-x:auto;font-size:.8125rem;margin-block:1rem}.prose pre code{background:none;padding:0}.prose blockquote{border-left:2px solid var(--rule);padding-left:1rem;color:var(--fg-muted);margin-block:1rem;font-style:italic}.prose ul,.prose ol{padding-left:1.5rem;margin-block:.6em}.prose li{margin-block:.25rem}.prose hr{border:0;border-top:1px solid var(--rule);margin-block:2rem}.social-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--rule);border-radius:10px;background:var(--card-bg);transition:border-color .12s,transform .12s}.social-card:hover{border-color:var(--fg-muted);color:var(--fg)}.social-card-logo{width:2.25rem;height:2.25rem;border-radius:6px;display:grid;place-items:center;background:var(--fg);color:var(--bg);flex-shrink:0}.social-card-avatar{width:3rem;height:3rem;position:relative;flex-shrink:0}.social-card-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;border:1px solid var(--rule)}.social-card-badge{position:absolute;right:-3px;bottom:-3px;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--fg);color:var(--bg);display:grid;place-items:center;border:2px solid var(--bg)}.social-card-body{flex:1;min-width:0}.social-card-name{display:flex;align-items:baseline;gap:.5rem;font-weight:500;font-size:.9375rem}.social-card-handle{font-family:var(--mono);color:var(--fg-muted);font-size:.8125rem}.social-card-bio{font-size:.8125rem;color:var(--fg-muted);margin-top:.2rem;line-height:1.4}.social-card-cta{font-size:.7rem;color:var(--fg-muted);letter-spacing:.06em;text-transform:uppercase}.social-card:hover .social-card-cta{color:var(--accent)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}.project-card{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:10px;background:var(--card-bg);overflow:hidden;transition:transform .15s ease,border-color .15s ease}.project-card:hover{border-color:var(--fg-muted);transform:translateY(-2px)}.project-card .thumb{aspect-ratio:16 / 9;background:var(--pill-bg);display:grid;place-items:center;overflow:hidden;position:relative}.project-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-card .thumb .icon{width:3rem;height:3rem}.project-card .info{padding:.75rem .9rem .85rem;display:flex;flex-direction:column;gap:.3rem;flex:1}.project-card .info-row{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.project-card .info .name{font-weight:500;font-size:.9375rem;color:var(--fg)}.project-card .info .blurb{color:var(--fg-muted);font-size:.8125rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card .info .when{font-family:var(--mono);font-size:.65rem;color:var(--fg-faint);margin-left:auto}.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;align-items:center}.filters .filter-search{flex:1;min-width:200px;background:var(--card-bg);border:1px solid var(--rule);border-radius:6px;padding:.5rem .75rem;font:inherit;font-size:.875rem;color:var(--fg);font-family:var(--serif)}.filters .filter-search:focus{outline:none;border-color:var(--fg-muted)}.filters .filter-search::placeholder{color:var(--fg-faint)}.filter-chip{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:.35rem .7rem;border-radius:999px;background:var(--pill-bg);color:var(--fg-muted);border:1px solid transparent;cursor:pointer;user-select:none;transition:all .12s}.filter-chip:hover{color:var(--fg)}.filter-chip[aria-pressed=true]{background:var(--fg);color:var(--bg)}::selection{background:var(--accent);color:var(--accent-fg)}
