/* ── Credits page ── */
.credits-hero {
  padding: 5rem 0 3.5rem;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, #6366f110 0%, transparent 70%),
    linear-gradient(180deg, #0f1117 0%, #12141e 100%);
  text-align: center;
  border-bottom: 1px solid #2d3048;
}
.credits-hero h1 { font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 800; margin-bottom: .6rem; }
.credits-hero p  { color: #94a3b8; font-size: 1rem; margin: 0; }

.credits-section { padding: 4rem 0; }
.credits-section + .credits-section { border-top: 1px solid #2d3048; }

.credit-card {
  background: #1a1d27; border: 1px solid #2d3048;
  border-radius: .75rem; padding: 1.5rem;
  height: 100%; transition: border-color .2s, transform .2s;
}
.credit-card:hover { border-color: #6366f155; transform: translateY(-2px); }
.credit-card-icon { font-size: 1.8rem; margin-bottom: .75rem; }
.credit-card h5   { font-size: .92rem; font-weight: 700; margin-bottom: .3rem; }
.credit-card p    { font-size: .82rem; color: #64748b; margin: 0; line-height: 1.65; }
.credit-card .badge-tech {
  display: inline-block; background: #6366f115; color: #818cf8;
  border: 1px solid #6366f130; border-radius: .25rem;
  padding: .15rem .5rem; font-size: .7rem; font-weight: 600; margin-top: .5rem;
}

.author-card {
  background: linear-gradient(135deg, #1a1d27 0%, #1e2140 100%);
  border: 1px solid #6366f133;
  border-radius: 1rem; padding: 2.5rem;
  text-align: center; max-width: 460px; margin: 0 auto;
  box-shadow: 0 0 60px #6366f108;
}
.author-avatar {
  width: 80px; height: 80px;
  border-radius: 50%; margin: 0 auto 1rem;
  overflow: hidden;
  border: 2px solid #6366f144;
  box-shadow: 0 0 20px #6366f122;
}
.author-avatar img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.author-name { font-size: 1.3rem; font-weight: 800; margin-bottom: .25rem; }
.author-role { font-size: .82rem; color: #64748b; margin-bottom: 1.25rem; }
.author-links { display: flex; gap: .6rem; justify-content: center; flex-wrap: wrap; }
.author-link {
  background: #13151f; border: 1px solid #2d3048;
  border-radius: .35rem; padding: .35rem .85rem;
  font-size: .78rem; color: #94a3b8; text-decoration: none;
  transition: border-color .2s, color .2s;
}
.author-link:hover { border-color: #6366f1; color: #818cf8; }

.lib-row {
  display: flex; align-items: center; gap: .75rem;
  padding: .75rem 1rem;
  background: #1a1d27; border: 1px solid #2d3048; border-radius: .5rem;
  margin-bottom: .5rem;
  transition: border-color .2s;
}
.lib-row:hover { border-color: #6366f133; }
.lib-name  { font-size: .85rem; font-weight: 600; color: #e2e8f0; }
.lib-desc  { font-size: .78rem; color: #64748b; }
.lib-badge {
  margin-left: auto; flex-shrink: 0;
  background: #13151f; border: 1px solid #2d3048;
  border-radius: .25rem; padding: .15rem .55rem;
  font-size: .68rem; color: #64748b;
}
