/* Nebby News — /news. Requires yinzider.css first.
   A weekly column, so it is set as one: single measure, slab headlines, rules
   between stories, and a dated archive list. */

.nebby-shell{width:min(1180px,100%);margin:0 auto;padding:0 clamp(16px,4vw,40px)}

.nebby-hero{max-width:64ch;padding:clamp(30px,4.4vw,56px) 0 clamp(20px,3vw,32px)}
.nebby-hero .kicker{margin:0 0 12px;color:var(--kielbasa);font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase}
.nebby-hero h1{font-family:var(--display);font-weight:400;font-size:clamp(30px,4vw,46px);line-height:1.04;margin:0}
.nebby-hero h2{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.4vw,38px);line-height:1.08;
  margin:16px 0 0;color:var(--kielbasa)}
.nebby-hero .dek{margin:14px 0 0;font-size:19px;color:var(--ink-soft)}
.nebby-hero .issue-date{margin:14px 0 0;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-soft)}

.nebby-media{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(20px,3.4vw,40px);align-items:center;
  background:var(--porch);color:var(--cream-dim);border-radius:var(--r-lg);padding:clamp(20px,3vw,30px);margin-bottom:34px}
.nebby-media[hidden]{display:none}
.nebby-media video{width:100%;border-radius:var(--r-md);display:block}
.nebby-media audio{width:100%;margin-top:14px}
.media-copy .kicker{margin:0 0 8px;color:var(--mustard);font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase}
.media-copy h2{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.8vw,30px);line-height:1.08;margin:0}
.media-copy p{margin:10px 0 0;color:var(--cream-dim)}
/* The stories the narration covers, anchored into the article below. */
.nebby-covered{display:grid;margin-top:18px;border-top:1px solid rgba(255,255,255,.18)}
.nebby-covered-title{margin:0;padding:12px 0 2px;font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mustard)}
.nebby-covered-item{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.12);text-decoration:none;color:var(--cream-dim)}
.nebby-covered-item:hover .nebby-covered-head{text-decoration:underline}
.nebby-covered-head{font-size:15px;line-height:1.35;font-weight:600}
.nebby-covered-src{font-size:12px;color:rgba(255,255,255,.62);white-space:nowrap}
/* Anchor targets sit under the sticky header without the heading being clipped. */
.story{scroll-margin-top:90px}

.nebby-article{max-width:66ch;padding-bottom:20px}
.nebby-intro{font-size:19px;line-height:1.55;color:var(--ink);margin:0 0 8px}
.story{padding:26px 0;border-top:1px solid var(--line)}
.story h2{font-family:var(--display);font-weight:400;font-size:clamp(21px,2.6vw,27px);line-height:1.12;margin:0 0 10px}
.story p{margin:0 0 12px;color:var(--ink-soft)}
.story a{color:var(--kielbasa);font-weight:700;text-decoration:none;border-bottom:2.5px solid var(--mustard)}
.story a:hover{color:var(--ink)}
.story-image{width:100%;border-radius:var(--r-md);margin-bottom:8px}
.attribution{font-size:12px;color:var(--ink-soft);margin:0 0 12px}

.transcript{margin-top:28px;background:var(--cream-2);border-radius:var(--r-md);padding:16px 18px}
.transcript summary{font-weight:700;cursor:pointer}
.transcript p{margin:12px 0 0;color:var(--ink-soft);font-size:15px;white-space:pre-wrap}

.nebby-archive{max-width:66ch;padding:34px 0 64px;border-top:2px solid var(--ink);margin-top:34px}
.nebby-archive .kicker{margin:0 0 8px;color:var(--kielbasa);font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase}
.nebby-archive h2{font-family:var(--display);font-weight:400;font-size:26px;margin:0 0 14px}
.archive-link{display:flex;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--ink)}
.archive-link span{min-width:92px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-soft)}
.archive-link strong{font-weight:600}
.archive-link:hover strong{color:var(--kielbasa)}

@media(max-width:860px){
  .nebby-media{grid-template-columns:1fr}
}

/* ── source board: every article in the issue, once ───────────────────── */

.nebby-source-board {
  max-width: 66ch;
  padding: 28px 0 10px;
}

.nebby-source-board .kicker {
  margin: 0 0 6px;
  color: var(--kielbasa);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.nebby-source-board h2 {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(20px, 2.4vw, 24px);
  margin: 0 0 16px;
  color: var(--ink);
}

.nebby-source-board[hidden] { display: none; }

.nebby-source-board-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.nebby-source-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  text-decoration: none;
  color: var(--ink);
  transition: border-color 0.15s ease, background 0.15s ease;
  min-width: 0;
}

.nebby-source-card:hover {
  border-color: var(--mustard);
  background: var(--cream-3);
}

.nebby-source-card:focus-visible {
  outline: 3px solid var(--kielbasa);
  outline-offset: 2px;
}

.nebby-source-card-thumb {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: contain;
  background: var(--cream-3);
  border-radius: var(--r-sm);
  display: block;
}

.nebby-source-card-initial {
  width: 100%;
  aspect-ratio: 16 / 10;
  display: grid;
  place-items: center;
  font-family: var(--display);
  font-size: 1.4rem;
  color: var(--cream);
  background: var(--kielbasa);
  border-radius: var(--r-sm);
}

.nebby-source-card-headline {
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.nebby-source-card-source {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

@media (max-width: 860px) {
  .nebby-source-board-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── event metadata ────────────────────────────────────────────────────── */

.story-event-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 12px;
  padding: 8px 12px;
  background: var(--cream-2);
  border-left: 3px solid var(--mustard);
  border-radius: var(--r-sm);
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}

.story-event-date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.story-event-date::before {
  content: '📅';
  font-size: 13px;
}

.story-event-venue {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.story-event-venue::before {
  content: '📍';
  font-size: 13px;
}