/* ==========================================================================
   Development activity page: filter column, heatmap, search (0.7.31)
   The column is revealed by development-activity-stream.js; without it the
   page is simply the full list. Tokens only; hairlines; small type.
   ========================================================================== */

/* The stream's own heading sits close under the header now that the generic
   96px .nc-editorial-late margin is no longer applied to this page. */
.nc-band--activity .nc-activity-stream { margin-bottom: var(--nc-space-6); }
.nc-band--activity .nc-activity-stream__title { margin-bottom: var(--nc-space-4); }

.nc-activity-filters { align-self: start; }
.nc-activity-filters[hidden] { display: none; }

.nc-activity-filters__summary {
  display: none;
  min-height: var(--nc-target-min);
  align-items: center;
  border: var(--nc-rule-width) solid var(--nc-rule-strong);
  padding-inline: var(--nc-space-4);
  font-family: var(--nc-font-operational);
  font-size: var(--nc-size-small);
  cursor: pointer;
}

/* Heatmap */
.nc-heat { margin-block-end: var(--nc-space-5); }

.nc-heat__months,
.nc-heat__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 3px;
}

.nc-heat__months { margin-block: var(--nc-space-2) var(--nc-space-1); }
.nc-heat__month { font-size: var(--nc-size-meta); color: var(--nc-ink-muted); white-space: nowrap; overflow: visible; }

.nc-heat__grid { grid-template-rows: repeat(7, auto); grid-auto-flow: column; }

.nc-heat__cell {
  display: block;
  aspect-ratio: 1;
  min-width: 0;
  padding: 0;
  border: var(--nc-rule-width) solid var(--nc-rule-light);
  border-radius: var(--nc-radius);
  background: var(--nc-paper-raised);
}

.nc-heat__cell--future { border-color: transparent; background: transparent; }
.nc-heat__cell--l1 { background: var(--nc-clay-pale); border-color: var(--nc-clay-pale); }
.nc-heat__cell--l2 { background: color-mix(in srgb, var(--nc-clay) 45%, var(--nc-clay-pale)); border-color: transparent; }
.nc-heat__cell--l3 { background: color-mix(in srgb, var(--nc-clay) 80%, var(--nc-clay-pale)); border-color: transparent; }
.nc-heat__cell--l4 { background: var(--nc-clay-text); border-color: transparent; }

button.nc-heat__cell { cursor: pointer; }
button.nc-heat__cell:hover { outline: var(--nc-rule-width) solid var(--nc-ink); outline-offset: 1px; }
button.nc-heat__cell[aria-pressed="true"] { outline: var(--nc-focus-width) solid var(--nc-charcoal); outline-offset: 1px; }
button.nc-heat__cell:focus-visible { outline: var(--nc-focus-width) solid var(--nc-clay-text); outline-offset: var(--nc-focus-offset); }

.nc-heat__legend { display: flex; align-items: center; justify-content: flex-end; gap: 3px; margin: var(--nc-space-2) 0 0; font-size: var(--nc-size-meta); color: var(--nc-ink-muted); }
.nc-heat__legend .nc-heat__cell { width: 12px; aspect-ratio: 1; display: inline-block; }
.nc-heat__legend span:first-child { margin-inline-end: var(--nc-space-1); }
.nc-heat__legend span:last-child { margin-inline-start: var(--nc-space-1); }
.nc-heat__note { margin: var(--nc-space-1) 0 0; font-size: var(--nc-size-meta); color: var(--nc-ink-muted); }

/* Search and checkbox groups */
.nc-filter__search { margin-block-end: var(--nc-space-5); }
.nc-filter__search label { display: block; margin-block-end: var(--nc-space-2); }

.nc-filter__input {
  width: 100%;
  min-height: var(--nc-target-min);
  padding-inline: var(--nc-space-3);
  border: var(--nc-rule-width) solid var(--nc-rule-strong);
  border-radius: var(--nc-radius);
  background: var(--nc-paper-raised);
  color: var(--nc-ink);
  font: inherit;
  font-size: var(--nc-size-small);
}

.nc-filter__input:focus-visible { outline: var(--nc-focus-width) solid var(--nc-clay-text); outline-offset: var(--nc-focus-offset); }

.nc-filter__group { margin: 0 0 var(--nc-space-5); padding: 0; border: 0; min-width: 0; }
.nc-filter__group legend { padding: 0; margin-block-end: var(--nc-space-1); }

.nc-filter__option {
  display: flex;
  align-items: center;
  gap: var(--nc-space-2);
  min-height: 32px;
  font-size: var(--nc-size-small);
  cursor: pointer;
}

.nc-filter__label { flex: 1 1 auto; min-width: 0; }
.nc-filter__count { color: var(--nc-ink-muted); font-size: var(--nc-size-meta); font-variant-numeric: tabular-nums; }

.nc-filter__result { margin: 0 0 var(--nc-space-3); font-size: var(--nc-size-small); color: var(--nc-ink-muted); }

.nc-filter__reset,
.nc-filter__more {
  min-height: var(--nc-target-min);
  padding-inline: var(--nc-space-4);
  border: var(--nc-rule-width) solid var(--nc-rule-strong);
  background: transparent;
  color: var(--nc-ink);
  font-family: var(--nc-font-operational);
  font-size: var(--nc-size-small);
  cursor: pointer;
}

.nc-filter__reset:hover,
.nc-filter__more:hover { background: rgb(0 0 0 / 4%); }
.nc-filter__more { margin-block-start: var(--nc-space-4); }
.nc-filter__more[hidden],
.nc-activity-stream__empty[hidden],
.nc-activity-stream__item[hidden] { display: none; }
.nc-activity-stream__empty { margin: var(--nc-space-4) 0 0; color: var(--nc-ink-muted); }

/* Narrow screens: the column folds into a disclosure above the list. */
@media (max-width: 899px) {
  .nc-activity-filters { order: -1; }
  .nc-activity-filters__summary { display: flex; }
  .nc-activity-filters__details[open] .nc-activity-filters__summary { margin-block-end: var(--nc-space-4); }
}
