.tooling-activity-shell{
  --heat-cell:11px;
  --heat-gap:2px;
  --heat-label-width:36px;
  margin:clamp(26px,3.5vh,42px) 0 0;
  padding:clamp(16px,2.1vw,24px);
  border:1px solid rgba(255,255,255,.09);
  border-radius:7px;
  background:rgba(7,9,12,.52);
}
.tooling-activity-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:clamp(14px,2vw,24px);
  margin-bottom:clamp(14px,1.8vw,18px);
}
.tooling-activity-title{
  margin:0;
  color:#dce2e6;
  font-size:clamp(.88rem,1.05vw,1rem);
  font-weight:600;
  letter-spacing:-.01em;
}
.tooling-activity-subtitle{
  margin:6px 0 0;
  color:#69747e;
  font-family:"SFMono-Regular",Consolas,monospace;
  font-size:clamp(.5rem,.6vw,.61rem);
  letter-spacing:.055em;
  text-transform:uppercase;
}
.tooling-activity-total{
  color:#aeb8c0;
  font-family:"SFMono-Regular",Consolas,monospace;
  font-size:clamp(.55rem,.65vw,.68rem);
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:nowrap;
}
.tooling-heatmap-scroll{
  width:100%;
  min-width:0;
  overflow:hidden;
  padding-bottom:0;
}
.tooling-heatmap-frame{
  width:100%;
  min-width:0;
}
.tooling-heatmap-months{
  display:grid;
  grid-template-columns:calc(var(--heat-label-width) + 8px - var(--heat-gap)) repeat(var(--week-count,53),var(--heat-cell));
  column-gap:var(--heat-gap);
  min-height:20px;
  color:#929ca6;
  font-size:clamp(.49rem,.58vw,.62rem);
  line-height:1;
}
.tooling-heatmap-months span{
  white-space:nowrap;
  transform:translateX(-1px);
}
.tooling-heatmap-body{
  display:grid;
  grid-template-columns:var(--heat-label-width) minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.tooling-heatmap-days{
  display:grid;
  grid-template-rows:repeat(7,var(--heat-cell));
  row-gap:var(--heat-gap);
  color:#929ca6;
  font-size:clamp(.48rem,.57vw,.61rem);
  line-height:var(--heat-cell);
  text-align:right;
}
.tooling-heatmap-days span:nth-child(1){grid-row:2}
.tooling-heatmap-days span:nth-child(2){grid-row:4}
.tooling-heatmap-days span:nth-child(3){grid-row:6}
.tooling-heatmap-cells{
  display:grid;
  grid-auto-flow:column;
  grid-template-rows:repeat(7,var(--heat-cell));
  grid-auto-columns:var(--heat-cell);
  gap:var(--heat-gap);
  width:max-content;
  max-width:100%;
}
.tooling-heatmap-cell{
  width:var(--heat-cell);
  height:var(--heat-cell);
  border-radius:clamp(1px,.12vw,2px);
  background:#11161c;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.012);
}
.tooling-heatmap-cell[data-level="1"]{background:rgba(145,243,156,.20)}
.tooling-heatmap-cell[data-level="2"]{background:rgba(145,243,156,.38)}
.tooling-heatmap-cell[data-level="3"]{background:rgba(145,243,156,.62)}
.tooling-heatmap-cell[data-level="4"]{background:#91f39c}
.tooling-activity-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:clamp(13px,1.55vw,17px);
  color:#74808a;
  font-size:clamp(.52rem,.6vw,.62rem);
}
.tooling-activity-legend{display:flex;align-items:center;gap:5px}
.tooling-activity-legend span[data-level]{width:11px;height:11px;border-radius:2px;background:#11161c}
.tooling-activity-legend span[data-level="1"]{background:rgba(145,243,156,.20)}
.tooling-activity-legend span[data-level="2"]{background:rgba(145,243,156,.38)}
.tooling-activity-legend span[data-level="3"]{background:rgba(145,243,156,.62)}
.tooling-activity-legend span[data-level="4"]{background:#91f39c}

/* At narrow card widths there is not enough horizontal room for all twelve
   month labels. The graph still shows the full year; only the labels thin out. */
.tooling-activity-shell[data-heat-density="compact"] .tooling-heatmap-months span[data-month-label]:not([data-quarter="true"]){visibility:hidden}
.tooling-activity-shell[data-heat-density="compact"] .tooling-heatmap-months,
.tooling-activity-shell[data-heat-density="tight"] .tooling-heatmap-months{font-size:.47rem}
.tooling-activity-shell[data-heat-density="compact"] .tooling-heatmap-days{font-size:.44rem}

.repo-languages{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  margin-top:17px;
}
.repo-languages::before{
  content:"Languages";
  margin-right:3px;
  color:#66717b;
  font-family:"SFMono-Regular",Consolas,monospace;
  font-size:.49rem;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.repo-language{
  display:inline-flex;align-items:center;gap:5px;
  color:#9ba6ae;
  font-family:"SFMono-Regular",Consolas,monospace;
  font-size:.51rem;
  letter-spacing:.04em;
}
.repo-language::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:rgba(145,243,156,.55);
}
.repo-language strong{color:#d8dee2;font-weight:600}
.repo-languages[data-empty="true"]{color:#69747e;font-family:"SFMono-Regular",Consolas,monospace;font-size:.52rem}
.plugin-focus-card>.repo-languages{margin:18px 0 0}

.software-repo-summary{
  margin-bottom:clamp(38px,5vh,58px);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  font-family:"SFMono-Regular",Consolas,monospace;
  text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;color:#8e98a2;
}
.software-repo-summary-state{display:flex;align-items:center;gap:9px;color:#b7c0c8}
.software-repo-summary-dot{width:7px;height:7px;border-radius:50%;background:#5d6872}
.software-repo-summary.is-live .software-repo-summary-dot{background:var(--accent);box-shadow:0 0 14px rgba(145,243,156,.42)}
.software-repo-summary-stats{display:flex;gap:8px 24px;flex-wrap:wrap}.software-repo-summary-stats strong{color:#eef2f4}
.software-repo-grid{margin-top:24px}
.software-repo-card .plugin-category{color:#8fc6ff}
.software-repo-card.is-selected{border-color:rgba(143,198,255,.36);background:linear-gradient(145deg,rgba(143,198,255,.05),rgba(255,255,255,.01))}
.software-focus-host{margin-bottom:22px}
.software-focus-host[hidden]{display:none!important}

.tooling-page .plugins-catalog{padding-bottom:18px}

@media(max-width:760px){
  .tooling-activity-head,.software-repo-summary{align-items:flex-start;flex-direction:column}
  .tooling-activity-total{white-space:normal}
  .tooling-activity-foot{align-items:flex-start;flex-direction:column}
}
