/* ── Open source page ── */

.os-entry {
  padding:3.5rem 0;
  border-bottom:1px solid var(--border);
}
.os-entry:last-of-type { border-bottom:none }

.os-name {
  font-size:clamp(1.6rem,3.2vw,2.2rem);
  margin-bottom:.5rem;
}
.os-line {
  font-size:1.05rem;
  color:var(--text);
  font-weight:500;
  max-width:640px;
  margin-bottom:1.5rem;
}
.os-body { max-width:640px }
.os-body p { font-size:.95rem; margin-bottom:1rem }
.os-body code {
  font-family:'SF Mono','Fira Code','Cascadia Code', monospace;
  font-size:.85em;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:3px;
  padding:.05em .35em;
}

.os-facts { margin:1.75rem 0 }

.os-detail {
  display:grid;
  grid-template-columns:9rem 1fr;
  gap:.5rem 2rem;
  max-width:700px;
  margin:1.75rem 0;
  font-size:.9rem;
}
.os-detail dt {
  font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--sage-text);
  padding-top:.25rem;
}
.os-detail dd { color:var(--muted); line-height:1.7 }

.os-actions {
  display:flex; gap:1rem; flex-wrap:wrap;
  margin-top:1.75rem;
}

.os-install { margin:1.75rem 0 }
/* Long clone URLs must not break mid-path on narrow screens. Keep each line
   intact and let the block scroll instead. */
.os-install .code-block {
  max-width:100%;
  overflow-x:auto;
  white-space:nowrap;
}

@media(max-width:768px) {
  .os-entry { padding:2.5rem 0 }
  .os-detail { grid-template-columns:1fr; gap:.25rem 0 }
  .os-detail dd { margin-bottom:1rem }
}
