.v2 .open-source__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.v2 .open-source__card{border:1px solid var(--v2-line-strong);background:linear-gradient(150deg, #26498838, transparent 65%), var(--v2-surface);flex-direction:column;min-width:0;padding:30px;display:flex}.v2 .open-source__overline{color:var(--v2-ink-dim);font-family:var(--font-mono), monospace;letter-spacing:.09em;overflow-wrap:anywhere;align-items:center;gap:12px;margin-bottom:24px;font-size:10px;display:flex}.v2 .open-source__number{color:#81c9fa;border-right:1px solid var(--v2-line-strong);padding-right:12px}.v2 .open-source__name{color:var(--v2-ink);letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(21px,2vw,26px);line-height:1.4}.v2 .open-source__summary{color:var(--v2-ink-dim);margin:0 0 18px;font-size:14px;line-height:1.85}.v2 .open-source__evidence{border-left:2px solid var(--v2-blue);color:var(--v2-ink);margin:0 0 20px;padding-left:12px;font-size:12px;line-height:1.8}.v2 .open-source__tech{color:var(--v2-ink-dim);font-family:var(--font-mono), monospace;margin:auto 0 20px;padding-top:12px;font-size:11px;line-height:1.7}.v2 .open-source__link{color:#d8eaff;border:1px solid #71b7f2;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:12px 15px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.v2 .open-source__link:hover{background:#4a88ff2b;border-color:#b1d7fa}.v2 .open-source__footer{border-top:1px solid var(--v2-line-strong);justify-content:space-between;align-items:center;gap:20px 36px;margin-top:22px;padding:24px 0 0;display:flex}.v2 .open-source__footer p{max-width:620px;color:var(--v2-ink-dim);margin:0;font-size:12px;line-height:1.9}.v2 .open-source__footer strong{color:var(--v2-ink)}.v2 .open-source__actions{flex-wrap:wrap;gap:14px 24px;display:flex}.v2 .open-source__actions a{color:#bddbff;text-underline-offset:5px;white-space:normal;font-size:13px}.v2 .open-source__actions a:hover{color:#fff}.v2 .open-source__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.v2 .writing__links{flex-direction:column;gap:10px;display:flex}@media (max-width:1023px){.v2 .open-source__grid{grid-template-columns:1fr}.v2 .open-source__footer{flex-direction:column;align-items:flex-start}}@media (max-width:767px){.v2 .open-source__card{padding:24px 20px}}
