/* Project news, using the shared light and dark command theme. */
.news-shell {
  max-width: 1080px;
  margin-inline: auto;
  font-size: 1rem;
}

.news-intro { margin-bottom: 2.5rem; }
.news-intro h1 { margin: .5rem 0 1rem; }
.news-intro > p:last-child { max-width: 65ch; color: var(--muted); }
.news-feed { border-top: 1px solid var(--panel-border-strong); }

.news-entry {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 2rem;
  padding-block: 2rem;
  border-bottom: 1px solid var(--panel-border-strong);
  scroll-margin-top: calc(var(--app-header-height) + 1rem);
}

.news-entry-date {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .75rem;
  padding-top: .2rem;
  font-size: .875rem;
}

.news-entry-date time { color: var(--muted-strong); font-variant-numeric: tabular-nums; }
.news-latest {
  padding: .25rem .65rem;
  border: 1px solid color-mix(in srgb, var(--primary) 30%, var(--panel-border));
  border-radius: 6px;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: .8125rem;
  font-weight: 700;
}

.news-category {
  margin: 0 0 .6rem;
  color: var(--primary);
  font-size: .875rem;
  font-weight: 700;
}

.news-entry h2 { margin: 0; font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.25; }
.news-entry h2 a { color: inherit; text-decoration: none; }
.news-entry h2 a:hover { color: var(--primary); }
.news-summary { margin: 1rem 0 .75rem; max-width: 70ch; color: var(--text); }
.news-details { margin: 0; padding-left: 1.2rem; color: var(--muted-strong); }
.news-details li { padding-left: .2rem; }
.news-details li + li { margin-top: .4rem; }
.news-details li::marker { color: var(--primary); }
.news-links { display: flex; flex-wrap: wrap; gap: .35rem 1.5rem; margin-top: 1rem; }
.news-links a { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; color: var(--primary); font-weight: 700; text-underline-offset: .25rem; }

.home-news {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.5rem;
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--panel-border-strong);
  border-left: 3px solid var(--primary);
  border-radius: var(--radius-md);
  background: var(--panel);
  color: var(--text);
  text-decoration: none;
}

.home-news:hover { border-color: var(--primary); }
.home-news-label { color: var(--primary); font-size: .875rem; font-weight: 800; }
.home-news-copy { flex: 1 1 240px; min-width: 0; }
.home-news-copy strong { display: block; font-size: 1rem; }
.home-news-copy time { color: var(--muted); font-size: .8125rem; }
.home-news-action { color: var(--primary); font-size: .875rem; font-weight: 700; }

@media (max-width: 640px) {
  .news-intro { margin-bottom: 1.5rem; }
  .news-entry { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding-block: 1.5rem; }
  .news-entry-date { flex-direction: row; flex-wrap: wrap; align-items: center; }
}
