/* ============================================================
   github — seitenspezifische Stile

   Aus page-github.php herausgeloest (Befund ARC-01).
   Wird in functions.php nur auf dieser Seite geladen.

   Farbwerte sind bewusst unveraendert uebernommen. Zur
   Token-Migration siehe den Hinweis in pages/dashboard.css:
   sie ist nicht mechanisch moeglich, solange zwei Token-Saetze
   uebereinanderliegen.
   ============================================================ */

/* ===== GitHub Tools Page (scoped) ===== */
.github-tools-page { max-width:1320px; margin:0 auto; padding:var(--ht-space-6) var(--ht-space-6) var(--ht-space-10); box-sizing:border-box; }
.github-tools-page *, .github-tools-page *::before, .github-tools-page *::after { box-sizing:border-box; }
.github-tools-page .card { background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 100%); border:1px solid rgba(45,108,246,.14); border-radius:12px; padding:var(--ht-pad-card); box-shadow:0 18px 45px rgba(0,0,0,.24); }
.github-tools-page .gh-link { color:var(--ht-primary-text); font-weight:var(--ht-font-weight-semibold); text-decoration:none; font-size:var(--ht-type-body-sm); display:inline-flex; align-items:center; gap:var(--ht-space-1); }
.github-tools-page .gh-link:hover { text-decoration:underline; }
.github-hero { display:grid; grid-template-columns:minmax(0,1fr) 640px; gap:var(--ht-space-7); align-items:stretch; margin-bottom:var(--ht-space-6); }
.github-hero-copy { position:relative; min-height:320px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
.github-hero-copy .hero-glow { position:absolute; top:10%; right:-5%; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle, rgba(45,108,246,.16), transparent 65%); pointer-events:none; }
.github-hero-copy .hero-dots { position:absolute; inset:0; background-image:radial-gradient(rgba(45,108,246,.18) 1px, transparent 1.4px); background-size:13px 13px; -webkit-mask:radial-gradient(ellipse 50% 60% at 80% 30%, #000 10%, transparent 70%); mask:radial-gradient(ellipse 50% 60% at 80% 30%, #000 10%, transparent 70%); pointer-events:none; }
.github-hero-badge { position:relative; display:inline-flex; width:fit-content; margin-bottom:var(--ht-space-4); padding:var(--ht-space-15) var(--ht-space-25); border-radius:7px; background:rgba(45,108,246,.12); border:1px solid rgba(45,108,246,.35); color:var(--ht-primary-text); font-size:var(--ht-type-caption); font-weight:var(--ht-font-weight-heavy); text-transform:uppercase; letter-spacing:.04em; }
.github-hero h1 { position:relative; margin:0 0 var(--ht-space-4); color:#0F1B2D; font-size:clamp(40px,4.4vw,60px); line-height:var(--ht-leading-tight); font-weight:var(--ht-font-weight-heavy); letter-spacing:-.045em; }
.github-hero h1 span { color:var(--ht-primary-text); }
.github-hero p { position:relative; max-width:560px; color:#566276; font-size:var(--ht-type-body-lg); line-height:var(--ht-leading-relaxed); margin:0 0 var(--ht-space-6); }
.github-hero-btns { position:relative; display:flex; gap:var(--ht-space-3); flex-wrap:wrap; }
.github-tools-page .primary-btn { height:44px; padding:0 var(--ht-space-5); border-radius:8px; border:0; background:var(--ht-primary); color:#FFFFFF; font-weight:var(--ht-font-weight-heavy); cursor:pointer; display:inline-flex; align-items:center; gap:var(--ht-space-2); text-decoration:none; }
.github-tools-page .secondary-btn { height:44px; padding:0 var(--ht-space-5); border-radius:8px; border:1px solid rgba(16,30,54,.12); background:rgba(16,30,54,.03); color:#0F1B2D; font-weight:var(--ht-font-weight-bold); cursor:pointer; display:inline-flex; align-items:center; gap:var(--ht-space-2); text-decoration:none; }

.github-overview-card { min-height:320px; }
.github-overview-card .ov-head { display:flex; align-items:center; justify-content:space-between; gap:var(--ht-space-25); margin-bottom:var(--ht-space-35); }
.github-overview-card h2 { margin:0; font-size:var(--ht-type-title); color:#0F1B2D; display:flex; align-items:center; gap:var(--ht-space-2); }
.github-stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ht-gap-grid); margin-bottom:var(--ht-space-4); }
.github-stat { background:rgba(16,30,54,.025); border:1px solid rgba(16,30,54,.06); border-radius:10px; padding:var(--ht-space-35); }
.github-stat .gs-ic { color:var(--ht-primary-text); font-size:var(--ht-icon-sm); margin-bottom:var(--ht-space-15); }
.github-stat-value { color:#0F1B2D; font-size:var(--ht-type-metric); font-weight:var(--ht-font-weight-heavy); line-height:var(--ht-leading-tight); }
.github-stat-label { color:#566276; font-size:var(--ht-type-caption); margin-top:var(--ht-space-1); }
.github-overview-bottom { display:grid; grid-template-columns:1fr 1.1fr; gap:var(--ht-space-4); }
.gh-activity-list .ov-sub { font-size:var(--ht-type-body-sm); font-weight:var(--ht-font-weight-bold); color:#0F1B2D; margin-bottom:var(--ht-space-25); }
.gh-act-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:var(--ht-space-2); align-items:center; padding:var(--ht-space-15) 0; border-bottom:1px solid rgba(16,30,54,.045); }
.gh-act-row:last-of-type { border-bottom:none; }
.gh-act-ic { color:var(--ht-primary-text); font-size:var(--ht-icon-sm); }
.gh-act-name { color:#0F1B2D; font-size:var(--ht-type-caption); font-weight:var(--ht-font-weight-bold); }
.gh-act-action { color:var(--ht-text-muted); font-size:var(--ht-type-meta); }
.gh-act-time { color:var(--ht-text-muted); font-size:var(--ht-type-meta); white-space:nowrap; }
.gh-chart-head { display:flex; align-items:center; justify-content:space-between; gap:var(--ht-space-2); margin-bottom:var(--ht-space-2); }
.gh-chart-head .ov-sub { font-size:var(--ht-type-body-sm); font-weight:var(--ht-font-weight-bold); color:#0F1B2D; }
.gh-chart-pill { font-size:var(--ht-type-meta); font-weight:var(--ht-font-weight-bold); color:var(--ht-primary-text); background:rgba(45,108,246,.12); border:1px solid rgba(45,108,246,.3); padding:var(--ht-space-05) var(--ht-space-15); border-radius:6px; }

.github-tools-page .section-title { text-align:center; margin-bottom:var(--ht-space-6); }
.github-tools-page .section-title h2 { color:#0F1B2D; font-size:var(--ht-type-section); margin:0 0 var(--ht-space-15); font-weight:var(--ht-font-weight-heavy); }
.github-tools-page .section-title p { color:#566276; margin:0; font-size:var(--ht-type-body); }
.github-projects-section, .github-category-section { margin-bottom:var(--ht-space-45); }
.github-project-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ht-gap-grid); }
.github-project-card { min-height:290px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.github-project-icon { width:88px; height:88px; margin-bottom:var(--ht-space-45); border-radius:24px; display:grid; place-items:center; color:var(--ht-primary-text); font-size:var(--ht-icon-3xl); background:rgba(45,108,246,.08); box-shadow:0 0 42px rgba(45,108,246,.16); }
.github-project-card h3 { margin:0 0 var(--ht-space-25); color:#0F1B2D; font-size:var(--ht-type-section); word-break:break-word; }
.github-project-card p { margin:0 0 var(--ht-space-4); color:#566276; line-height:var(--ht-leading-normal); font-size:var(--ht-type-body); }
.github-project-tags { display:flex; justify-content:center; gap:var(--ht-space-2); flex-wrap:wrap; margin-bottom:var(--ht-space-4); }
.gh-tag { font-size:var(--ht-type-meta); font-weight:var(--ht-font-weight-bold); padding:var(--ht-space-1) var(--ht-space-25); border-radius:7px; display:inline-flex; align-items:center; gap:var(--ht-space-15); }
.gh-tag.lang { background:rgba(16,30,54,.04); color:#566276; border:1px solid rgba(16,30,54,.08); }
.gh-tag.lang .ld { width:8px; height:8px; border-radius:50%; }
.gh-tag.cat { background:rgba(16,30,54,.04); color:#566276; border:1px solid rgba(16,30,54,.08); }
.github-project-actions { display:grid; grid-template-columns:1fr 1fr; gap:var(--ht-space-25); width:100%; margin-top:auto; }
.gh-btn-sm { height:38px; border-radius:8px; font-size:var(--ht-type-body-sm); font-weight:var(--ht-font-weight-bold); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:var(--ht-space-15); text-decoration:none; }
.gh-btn-sm.ghost { background:rgba(16,30,54,.04); border:1px solid rgba(16,30,54,.12); color:#0F1B2D; }
.gh-btn-sm.dark { background:#F4F7FB; border:1px solid rgba(16,30,54,.12); color:#0F1B2D; }
.gh-btn-sm:hover { border-color:rgba(45,108,246,.4); }
.github-project-meta { display:flex; justify-content:center; gap:var(--ht-space-6); margin-top:var(--ht-space-4); color:#566276; font-size:var(--ht-type-body-sm); }
.github-project-meta span { display:inline-flex; align-items:center; gap:var(--ht-space-15); }

.github-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ht-gap-grid); }
.github-category-card { display:grid; grid-template-columns:auto 1fr; gap:var(--ht-space-4); align-items:center; }
.github-category-icon { width:58px; height:58px; border-radius:16px; display:grid; place-items:center; color:var(--ht-primary-text); background:rgba(45,108,246,.08); font-size:var(--ht-icon-2xl); flex:0 0 auto; }
.github-category-card h3 { margin:0 0 var(--ht-space-1); color:#0F1B2D; font-size:var(--ht-type-title); }
.github-category-card p { margin:0 0 var(--ht-space-15); color:#566276; font-size:var(--ht-type-body-sm); line-height:var(--ht-leading-snug); }
.github-category-card .cat-repo { color:var(--ht-primary-text); font-size:var(--ht-type-caption); font-weight:var(--ht-font-weight-bold); }

.github-why-section { display:grid; grid-template-columns:minmax(0,1fr) 520px; gap:var(--ht-space-6); align-items:center; margin-bottom:var(--ht-space-45); }
.github-why-section h2 { margin:0 0 var(--ht-space-45); color:var(--ht-text-primary); font-size:var(--ht-type-section); font-weight:var(--ht-font-weight-heavy); }
.github-why-list { display:flex; flex-direction:column; gap:var(--ht-space-3); }
.github-why-list .wl { display:flex; align-items:flex-start; gap:var(--ht-space-25); color:var(--ht-text-primary); line-height:var(--ht-leading-normal); font-size:var(--ht-type-body); }
.github-why-list .wl i { color:var(--ht-primary-text); font-size:var(--ht-icon-lg); flex:0 0 auto; margin-top:var(--ht-space-05); }
.github-world-visual { min-height:200px; border-radius:12px; background:radial-gradient(circle at 50% 50%, rgba(45,108,246,.06), transparent 70%), linear-gradient(180deg,#FFFFFF,#FFFFFF); border:1px solid rgba(45,108,246,.12); position:relative; overflow:hidden; }
.github-world-visual .world { position:absolute; inset:0; background-image:radial-gradient(rgba(45,108,246,.3) 1px, transparent 1.4px); background-size:11px 11px; -webkit-mask:radial-gradient(ellipse 64% 64% at 50% 48%, #000 55%, transparent 100%); mask:radial-gradient(ellipse 64% 64% at 50% 48%, #000 55%, transparent 100%); }
.github-world-visual .node { position:absolute; width:7px; height:7px; border-radius:50%; background:var(--ht-primary); box-shadow:0 0 10px var(--ht-primary); }

.github-links-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ht-gap-grid); margin-bottom:var(--ht-space-45); }
.github-link-card .gl-ic { width:46px; height:46px; border-radius:12px; background:rgba(45,108,246,.08); color:var(--ht-primary-text); display:grid; place-items:center; font-size:var(--ht-icon-xl); margin-bottom:var(--ht-space-3); }
.github-link-card h3 { margin:0 0 var(--ht-space-15); color:#0F1B2D; font-size:var(--ht-type-title); }
.github-link-card p { margin:0 0 var(--ht-space-3); color:#566276; font-size:var(--ht-type-body-sm); line-height:var(--ht-leading-normal); }

.github-newsletter-cta { margin-top:var(--ht-space-45); display:grid; grid-template-columns:auto 1fr minmax(360px,480px); gap:var(--ht-space-6); align-items:center; padding:var(--ht-space-55) var(--ht-space-7); background:linear-gradient(90deg,rgba(45,108,246,.16),rgba(7,19,30,.95)); border:1px solid rgba(45,108,246,.28); border-radius:14px; }
.github-newsletter-cta .nc-icon { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; color:var(--ht-primary-text); background:rgba(45,108,246,.12); box-shadow:0 0 40px rgba(45,108,246,.24); font-size:var(--ht-icon-2xl); }
.github-newsletter-cta h3 { margin:0 0 var(--ht-space-1); color:#0F1B2D; font-size:var(--ht-type-section); }
.github-newsletter-cta p { margin:0; color:#566276; font-size:var(--ht-type-body-sm); line-height:var(--ht-leading-normal); }
.github-newsletter-cta .nc-form { display:flex; flex-direction:column; gap:var(--ht-space-25); }
.github-newsletter-cta .nc-input { display:flex; gap:var(--ht-space-25); }
.github-newsletter-cta input { flex:1; min-width:0; background:#F4F7FB; border:1px solid rgba(16,30,54,.12); border-radius:8px; height:44px; color:#0F1B2D; padding:0 var(--ht-space-35); font-size:var(--ht-type-body-sm); }
.github-newsletter-cta .nc-btn { background:var(--ht-primary); color:#FFFFFF; font-weight:var(--ht-font-weight-bold); border:none; border-radius:8px; height:44px; padding:0 var(--ht-space-55); cursor:pointer; white-space:nowrap; }
.github-newsletter-cta .nc-bullets { display:flex; gap:var(--ht-space-45); font-size:var(--ht-type-caption); color:var(--ht-text-muted); flex-wrap:wrap; }
.github-newsletter-cta .nc-bullets span { display:inline-flex; align-items:center; gap:var(--ht-space-15); }
.github-newsletter-cta .nc-bullets i { color:var(--ht-primary-text); }

.gh-fallback-note { display:flex; align-items:center; gap:var(--ht-space-25); margin-bottom:var(--ht-space-45); padding:var(--ht-space-3) var(--ht-space-4); background:rgba(255,138,0,.08); border:1px solid rgba(255,138,0,.3); border-radius:10px; color:#566276; font-size:var(--ht-type-body-sm); line-height:var(--ht-leading-normal); }
.gh-fallback-note i { color:#FF8A00; font-size:var(--ht-icon-lg); flex:0 0 auto; }

@media (max-width:1180px){
  .github-hero { grid-template-columns:1fr; }
  .github-overview-card { min-height:0; }
  .github-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .github-category-grid, .github-links-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .github-why-section { grid-template-columns:1fr; }
  .github-newsletter-cta { grid-template-columns:1fr; text-align:center; justify-items:center; }
  .github-newsletter-cta .nc-form { width:100%; }
}
@media (max-width:760px){
  .github-project-grid, .github-category-grid, .github-links-grid { grid-template-columns:1fr; }
  .github-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .github-overview-bottom { grid-template-columns:1fr; }
  .github-hero h1 { font-size:38px; }
  .github-newsletter-cta .nc-input { flex-direction:column; }
}
