/* ═══════════════ GitHub 精选（开源项目情报线） ═══════════════
   与 intel.css 同源设计语言：暖白纸面 / 发丝描边 / 衬线小标题。
   单独成文件，避免把 intel.css 撑成一坨；两页均可按需引入。
   ═══════════════ */
.gh-profile{
  margin:0 2px 18px; padding:20px 22px; border-radius:var(--r-lg);
  background:var(--panel); border:1px solid var(--border); box-shadow:var(--shadow);
}
.gh-profile-h h3{
  margin:11px 0 6px; font-size:19px; font-weight:400; font-family:var(--font-display); color:var(--text);
}
.gh-profile-sub{ margin:0 0 16px; font-size:14.5px; color:var(--muted); line-height:1.75; max-width:78ch; }
.gh-profile-body{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.gh-col h4{
  margin:0 0 8px; font-size:11.5px; font-weight:700; color:var(--muted);
  letter-spacing:.08em; text-transform:uppercase;
}
.gh-col h4:not(:first-child){ margin-top:16px; }
.gh-needs{ display:flex; flex-wrap:wrap; gap:6px; }
.gh-need{
  display:inline-flex; align-items:baseline; gap:6px; padding:3px 10px; border-radius:var(--r-full);
  background:var(--accent-soft); border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);
  font-size:14px; color:var(--text-2);
}
.gh-need b{ font-weight:600; color:var(--accent); }
.gh-need i{ font-style:normal; font-size:11px; color:var(--muted-2); }
.gh-need.none{ background:var(--panel-2); border-style:dashed; border-color:var(--border-strong); color:var(--muted); }
.gh-need.market{ background:var(--good-soft); border-color:color-mix(in srgb,var(--good) 22%,transparent); }
.gh-need.market b{ color:var(--good); }
.gh-need.mine{ background:var(--warn-soft); border-color:color-mix(in srgb,var(--warn) 24%,transparent); }
.gh-need.mine b{ color:var(--warn); }
.gh-need i[data-gh-delword]{ cursor:pointer; }
.gh-need i[data-gh-delword]:hover{ color:var(--bad); }
.gh-word-add{ display:flex; gap:7px; margin-top:10px; }
.gh-word-add .inp{ flex:1; min-width:0; }
.gh-words{ display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }

/* AI 需求解析：一句话 → 赛道 / 阶段 / 需求词 */
.gh-ai-need{
  margin-top:14px; padding:12px 13px; border:1px dashed var(--border-strong);
  border-radius:var(--r-lg); background:var(--panel-2);
}
.gh-ai-need-h{ display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; margin-bottom:2px; }
.gh-ai-need-h b{ font-size:14px; color:var(--text); font-weight:600; }
.gh-ai-need-h i{ font-style:normal; font-size:11.5px; color:var(--muted-2); }
.gh-ai-need .gh-word-add{ margin-top:9px; }
.gh-ai-need-out{ margin-top:9px; display:flex; flex-wrap:wrap; gap:6px; }
.gh-ai-need-out:empty{ margin-top:0; }
.gh-profile-note{ margin:12px 0 0; font-size:11.5px; color:var(--muted-2); line-height:1.6; }

.gh-bar{
  margin:0 2px 16px; padding:12px 14px; background:var(--panel);
  border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow);
}
.gh-bar-row{ display:flex; gap:12px; align-items:flex-start; flex-wrap:wrap; }
.gh-bar-row .chips{ flex:1 1 100%; min-width:0; }
.gh-bar-label{
  font-size:11.5px; font-weight:700; color:var(--muted); letter-spacing:.08em;
  text-transform:uppercase; padding-top:5px; flex:none;
}

.gh-sec-h{
  font-size:16px; font-weight:400; font-family:var(--font-display); color:var(--text);
  display:flex; align-items:center; gap:9px; margin:0 2px 10px;
}
.gh-sec-h .muted{ font-size:13.5px; font-family:var(--font-sans); }

.gh-top{ margin:0 2px 18px; }
.gh-top-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(268px,1fr)); gap:9px; }
.gh-top-item{
  display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; padding:10px 13px;
  background:var(--panel); border:1px solid var(--border); border-left:3px solid var(--accent);
  border-radius:var(--r-sm); box-shadow:var(--shadow-xs);
}
.gh-top-item a{ font-weight:600; font-size:15.5px; color:var(--text); text-decoration:none; }
.gh-top-item a:hover{ color:var(--accent); }
.gh-top-score{
  font-size:11px; font-weight:700; padding:1px 7px; border-radius:var(--r-full);
  background:var(--accent); color:var(--accent-ink); font-variant-numeric:tabular-nums;
}
.gh-top-reason{ font-size:11.5px; color:var(--muted); flex:1 1 100%; line-height:1.5; }
.gh-top-star{ font-size:11px; color:var(--muted-2); font-variant-numeric:tabular-nums; }

.gh-group{ margin:0 2px 22px; }
.gh-group-desc{ margin:-4px 0 11px; font-size:14px; color:var(--muted); line-height:1.6; }
.gh-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(352px,1fr)); gap:12px; }
.gh-card{
  background:var(--panel); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:15px 17px 13px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:8px;
  transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.gh-card:hover{ transform:translateY(-2px); box-shadow:var(--shadow-lg); border-color:var(--border-strong); }
.gh-card-h{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.gh-dot{ width:8px; height:8px; border-radius:50%; flex:none; }
.gh-name{
  font-size:17px; font-weight:600; color:var(--text); text-decoration:none; font-family:var(--font-display);
}
.gh-name:hover{ color:var(--accent); }
.gh-repo{ font-family:var(--font-mono); font-size:10.5px; color:var(--muted-2); background:none; border:0; padding:0; }
.gh-badge{
  font-size:10.5px; padding:1px 8px; border-radius:var(--r-full); font-weight:600;
  border:1px solid var(--border); background:var(--panel-2); color:var(--muted); white-space:nowrap;
}
.gh-badge.flagship{
  color:var(--accent); background:var(--accent-soft);
  border-color:color-mix(in srgb,var(--accent) 26%,transparent);
}
.gh-badge.rising{
  color:var(--good); background:var(--good-soft);
  border-color:color-mix(in srgb,var(--good) 26%,transparent);
}
.gh-badge.niche{
  color:var(--warn); background:var(--warn-soft);
  border-color:color-mix(in srgb,var(--warn) 26%,transparent);
}
.gh-badge.inlist{ color:var(--text-2); background:var(--panel-3); border-color:var(--border-strong); }
.gh-meta{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; font-size:11.5px; color:var(--muted-2); }
.gh-meta i{ font-style:normal; opacity:.7; }
.gh-stars{ color:var(--warn); font-weight:600; font-variant-numeric:tabular-nums; }
.gh-score{
  margin-left:auto; font-size:11px; color:var(--text-2); font-variant-numeric:tabular-nums;
  padding:1px 8px; border-radius:var(--r-full); background:var(--panel-2); border:1px solid var(--border);
}
.gh-desc{ margin:0; font-size:14.5px; color:var(--text-2); line-height:1.7; }
.gh-block{ display:flex; gap:9px; font-size:14px; line-height:1.7; color:var(--muted); }
.gh-block b{
  flex:none; width:76px; font-size:10.5px; font-weight:700; color:var(--muted-2);
  letter-spacing:.04em; text-transform:uppercase; padding-top:2px; white-space:nowrap;
}
.gh-block span{ flex:1; min-width:0; }
.gh-block em{
  font-style:normal; display:inline-block; margin:0 6px 4px 0; padding:1px 8px;
  border-radius:var(--r-xs); background:var(--panel-2); border:1px solid var(--border); color:var(--text-2);
}
.gh-rel{
  background:var(--accent-soft); border-radius:var(--r-sm); padding:8px 10px; margin:0 -2px;
}
.gh-rel b{ color:var(--accent); }
.gh-rel em{
  background:rgba(255,255,255,.55);
  border-color:color-mix(in srgb,var(--accent) 22%,transparent); color:var(--text-2);
}
html[data-theme="dark"] .gh-rel em{ background:rgba(255,255,255,.05); }
.gh-next{
  background:var(--panel-2); border-radius:var(--r-sm); padding:8px 10px; margin:0 -2px;
  border-left:2px solid var(--good);
}
.gh-next b{ color:var(--good); }
.gh-card-f{ display:flex; gap:7px; margin-top:auto; padding-top:4px; }
.gh-card-f .btn{ text-decoration:none; }

.gh-pipeline{
  margin:4px 2px 18px; padding:18px 20px; border-radius:var(--r-lg);
  background:var(--panel); border:1px solid var(--border); box-shadow:var(--shadow);
}
.gh-pipeline-h{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.gh-pipeline-h h3{ margin:0; font-size:18px; font-weight:400; font-family:var(--font-display); }
.gh-pipeline-h p{ margin:0; flex:1; font-size:14px; }
.gh-pipe-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.gh-pipe-col{ background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--r); padding:12px 13px; }
.gh-pipe-col h4{
  margin:0 0 9px; font-size:13.5px; font-weight:700; color:var(--text-2);
  display:flex; align-items:center; gap:7px;
}
.gh-pipe-col h4 span{
  margin-left:auto; font-size:11px; color:var(--muted); background:var(--panel);
  border:1px solid var(--border); border-radius:var(--r-full); padding:0 7px; font-variant-numeric:tabular-nums;
}
.gh-pipe-item{
  display:flex; align-items:center; gap:8px; padding:6px 0;
  border-bottom:1px dashed var(--border); font-size:14px; flex-wrap:wrap;
}
.gh-pipe-item:last-child{ border-bottom:none; }
.gh-pipe-item a{ font-weight:600; color:var(--text); text-decoration:none; }
.gh-pipe-item a:hover{ color:var(--accent); }
.gh-pipe-item .muted{ font-size:11px; }
.gh-pipe-item .btn{ margin-left:auto; }

@media (max-width:900px){
  .gh-profile-body{ grid-template-columns:1fr; gap:16px; }
  .gh-pipe-grid{ grid-template-columns:1fr; }
  .gh-grid{ grid-template-columns:1fr; }
}
