/* GITHUB — Contribution graph section */
.github-section { background: hsla(270, 20%, 5%, 0.5); }
.contrib-wrap {
  background: var(--bg-card); border: 1px solid var(--bg-card-border);
  border-radius: var(--radius-xl); padding: 2rem 2rem 1.5rem;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  margin-bottom: 2rem; transition: border-color var(--transition);
}
.contrib-wrap:hover { border-color: hsla(270, 60%, 55%, 0.35); }
.contrib-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; }
.contrib-title { font-size: 0.85rem; font-weight: 700; color: var(--text-secondary); letter-spacing: 0.06em; text-transform: uppercase; }
.contrib-link { font-size: 0.82rem; color: var(--purple-1); text-decoration: none; font-weight: 600; transition: color var(--transition); }
.contrib-link:hover { color: var(--purple-glow); }
.contrib-chart-box { width: 100%; overflow-x: auto; border-radius: 10px; background: hsla(270, 10%, 8%, 0.5); padding: 1rem; }
.contrib-chart-img {
  width: 100%; max-width: 820px; height: auto; display: block; margin: 0 auto;
  border-radius: 6px; filter: invert(1) hue-rotate(200deg) saturate(1.3) brightness(0.9);
}
.contrib-note { font-size: 0.75rem; color: var(--text-muted); text-align: center; margin-top: 1rem; letter-spacing: 0.04em; }
/* GitHub API stat cards (kept in CSS for potential future use) */
.gh-stats-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 2.5rem; }
.gh-stats-card {
  background: var(--bg-card); border: 1px solid var(--bg-card-border);
  border-radius: var(--radius-lg); padding: 1.5rem;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  display: flex; align-items: center; justify-content: center;
  transition: border-color var(--transition), transform var(--transition); overflow: hidden;
}
.gh-stats-card:hover { border-color: hsla(270, 60%, 55%, 0.35); transform: translateY(-4px); }
.gh-api-card { align-items: stretch; padding: 0; }
.gha-card { width: 100%; padding: 1.5rem; }
.gha-card-title {
  display: flex; align-items: center; gap: 0.5rem; font-size: 0.8rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-secondary);
  margin-bottom: 1.5rem; padding-bottom: 0.75rem; border-bottom: 1px solid hsla(270,20%,30%,0.2);
}
.gha-stat-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; }
.gha-stat {
  text-align: center; padding: 0.75rem 0.5rem; border-radius: 10px;
  background: hsla(270,15%,10%,0.4); border: 1px solid hsla(270,20%,30%,0.15);
  transition: border-color var(--transition), transform var(--transition);
}
.gha-stat:hover { border-color: hsla(270,60%,55%,0.3); transform: translateY(-2px); }
.gha-val {
  display: block; font-size: 1.55rem; font-weight: 800;
  background: linear-gradient(135deg, var(--purple-1), #fff 120%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; line-height: 1.2;
}
.gha-lbl { display: block; font-size: 0.68rem; color: var(--text-muted); margin-top: 0.25rem; letter-spacing: 0.04em; font-weight: 500; text-transform: uppercase; }
.gha-langs { display: flex; flex-direction: column; gap: 0.7rem; }
.gha-lang-row { display: grid; grid-template-columns: 10px 90px 1fr 42px; align-items: center; gap: 0.6rem; }
.gha-lang-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; flex-shrink: 0; box-shadow: 0 0 6px currentColor; }
.gha-lang-name { font-size: 0.8rem; color: var(--text-secondary); font-weight: 500; white-space: nowrap; }
.gha-lang-bar-bg { height: 6px; background: hsla(270,10%,20%,0.5); border-radius: 3px; overflow: hidden; }
.gha-lang-bar { height: 100%; border-radius: 3px; transition: width 1s cubic-bezier(0.22, 1, 0.36, 1); }
.gha-lang-pct { font-size: 0.72rem; color: var(--text-muted); text-align: right; font-weight: 500; }
.gh-loading { padding: 2.5rem; text-align: center; color: var(--text-muted); font-size: 0.85rem; width: 100%; animation: pulse 1.5s ease-in-out infinite; }
