:root{--color-primary:#0a0a0a;--color-on-primary:#fff;--color-brand-green:#00d4a4;--color-canvas:#fff;--color-surface:#f7f7f7;--color-surface-soft:#fafafa;--color-hairline:#e5e5e5;--color-hairline-soft:#ededed;--color-ink:#0a0a0a;--color-charcoal:#1c1c1e;--color-slate:#3a3a3c;--color-steel:#5a5a5c;--font-sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", "SF Mono", Menlo, Consolas, monospace;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--container:1180px}*{box-sizing:border-box}html{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans)}body{min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.page-shell{background:var(--color-canvas);min-height:100vh}.container{width:min(100% - 32px, var(--container));margin-inline:auto}.site-header{z-index:10;border-bottom:1px solid var(--color-hairline-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;position:sticky;top:0}.site-header__nav{align-items:center;gap:24px;min-height:64px;display:flex}.site-header__brand,.site-footer__brand{font-weight:600}.site-header__links{flex-wrap:wrap;flex:1;gap:4px;display:flex}.site-header__link,.site-header__github{border-radius:var(--radius-full);color:var(--color-steel);padding:8px 12px;font-size:14px}.site-header__github{border:1px solid var(--color-hairline);color:var(--color-ink)}.site-footer{border-top:1px solid var(--color-hairline);color:var(--color-steel);padding:56px 0}.site-footer__grid{grid-template-columns:2fr 1fr 1fr;gap:32px;display:grid}.site-footer h2{color:var(--color-ink);margin:0 0 12px;font-size:14px}.site-footer ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.site-footer__link{color:var(--color-steel);font-size:14px}@media (max-width:760px){.site-header__nav{flex-direction:column;align-items:flex-start;padding-block:16px}.site-footer__grid{grid-template-columns:1fr}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.badge,.tag,.pill-tab{border-radius:var(--radius-full);align-items:center;font-size:13px;line-height:1.4;display:inline-flex}.badge{background:var(--color-surface);color:var(--color-steel);padding:2px 8px}.tag{color:#3772cf;background:#3772cf1f;padding:2px 8px}.pill-tab{border:1px solid var(--color-hairline);color:var(--color-steel);padding:8px 16px}.pill-tab--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.search-box input{border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-surface);width:100%;height:44px;color:var(--color-ink);padding:0 16px}.feature-card,.resource-card,.empty-state{border:1px solid var(--color-hairline);border-radius:var(--radius-lg);background:var(--color-canvas);padding:24px}.feature-card p,.resource-card p,.empty-state p{color:var(--color-steel);line-height:1.5}.resource-card__meta,.resource-card__tags{flex-wrap:wrap;gap:8px;display:flex}.project-card{border:1px solid var(--color-hairline);border-radius:var(--radius-lg);background:var(--color-canvas);gap:16px;padding:24px;display:grid}.project-card h2{margin:0}.project-card h2 a,.compact-card h3 a{color:inherit}.project-card h2 a:hover,.compact-card h3 a:hover{color:#3772cf}.project-card p{color:var(--color-steel);margin:0;line-height:1.6}.project-card__tagline{color:var(--color-charcoal);font-weight:500}.project-card__meta,.project-card__tags,.project-card__links{flex-wrap:wrap;gap:8px;display:flex}.project-card__facts{border-top:1px solid var(--color-hairline-soft);gap:12px;margin:0;padding-top:16px;display:grid}.project-card__facts div{gap:4px;display:grid}.project-card__facts dt{color:var(--color-steel);font-family:var(--font-mono);font-size:12px}.project-card__facts dd{color:var(--color-ink);margin:0}.project-card__links a{border:1px solid var(--color-hairline);border-radius:var(--radius-full);color:var(--color-ink);padding:6px 12px;font-size:14px}.project-card__links .project-card__primary-link,.compact-card__link{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.hero-section{border-bottom:1px solid var(--color-hairline-soft);background:linear-gradient(#edf6f7 0%,#fff 78%)}.hero-section__inner{grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:32px;padding:88px 0 64px;display:grid}.hero-section__copy{align-self:center}.eyebrow{color:var(--color-steel);font-family:var(--font-mono);margin:0 0 12px;font-size:12px}h1{letter-spacing:0;margin:0;font-size:56px;line-height:1.08}h2,h3{letter-spacing:0}.hero-section__lead{color:var(--color-slate);max-width:720px;font-size:18px;line-height:1.6}.hero-section__search{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-md);color:var(--color-steel);align-items:center;max-width:680px;height:48px;margin:28px 0 0;padding:0 16px;display:flex}.hero-section__preview{background:var(--color-canvas);border:1px solid var(--color-hairline-soft);border-radius:var(--radius-lg);align-self:center;overflow:hidden;box-shadow:0 24px 48px -8px #0000001f}.preview-window__bar{border-bottom:1px solid var(--color-hairline-soft);align-items:center;gap:6px;height:36px;padding:0 14px;display:flex}.preview-window__bar span{background:var(--color-hairline);border-radius:var(--radius-full);width:10px;height:10px}.preview-window__body{grid-template-columns:132px minmax(0,1fr);min-height:230px;display:grid}.preview-window__body aside{background:var(--color-surface-soft);border-right:1px solid var(--color-hairline-soft);color:var(--color-steel);align-content:start;gap:12px;padding:18px;display:grid}.preview-window__body aside strong{color:var(--color-ink)}.preview-window__body section{padding:24px}.preview-window__body section p{color:var(--color-steel);font-family:var(--font-mono);margin-top:0;font-size:12px}.preview-line{background:var(--color-hairline-soft);border-radius:var(--radius-full);width:62%;height:10px;margin:12px 0}.preview-line--wide{width:92%}.preview-tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.preview-tags span{border-radius:var(--radius-full);color:var(--color-charcoal);background:#00d4a429;padding:4px 8px;font-size:12px}.feature-grid,.card-grid{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.section{padding:64px 0}.section-lead{color:var(--color-slate);max-width:820px;margin:20px 0 28px;font-size:18px;line-height:1.6}.section--soft{background:var(--color-surface-soft);border-top:1px solid var(--color-hairline-soft)}.project-filter-row{flex-wrap:wrap;gap:8px;margin:0 0 28px;display:flex}.project-profile{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);max-width:900px;padding:32px}.project-profile h1{font-size:44px;line-height:1.12}.project-profile h2{margin:0 0 16px;font-size:36px;line-height:1.2}.project-detail{gap:24px;display:grid}.project-detail__header{gap:16px;display:grid}.project-detail__summary{color:var(--color-slate);margin:0;font-size:18px;line-height:1.7}.project-detail__facts{border-block:1px solid var(--color-hairline-soft);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:0;padding:18px 0;display:grid}.project-detail__facts dt{color:var(--color-steel);font-family:var(--font-mono);font-size:12px}.project-detail__facts dd{margin:4px 0 0}.project-profile h3{margin-top:32px}.project-profile__links{flex-wrap:wrap;gap:8px;display:flex}.project-profile__links a{border:1px solid var(--color-hairline);border-radius:var(--radius-full);color:var(--color-ink);padding:8px 12px;font-size:14px}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.list-stack{gap:16px;display:grid}.compact-card{border:1px solid var(--color-hairline);border-radius:var(--radius-lg);padding:24px}.compact-card h3{margin:0 0 12px}.compact-card__link{border:1px solid var(--color-primary);border-radius:var(--radius-full);margin-top:8px;padding:8px 12px;font-size:14px;display:inline-flex}.compact-card p,.prose p{color:var(--color-steel);line-height:1.6}.prose{max-width:760px}.prose a{color:#3772cf}@media (min-width:1024px){h1{font-size:72px}}@media (max-width:900px){.hero-section__inner,.two-column{grid-template-columns:1fr}}@media (max-width:760px){h1{font-size:40px}}@media (max-width:480px){h1{font-size:36px}.preview-window__body{grid-template-columns:1fr}.preview-window__body aside{border-bottom:1px solid var(--color-hairline-soft);border-right:0}}
