.topic-browser {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(280px, 1fr);
  gap: 24px;
  align-items: start;
}
.topic-cloud-card, .topic-results-card {
  padding: 22px;
  background: var(--bg-color);
  border: 1px solid var(--th-border-color);
  border-radius: 10px;
}
#wordcloud-container svg { display: block; width: 100%; height: auto; }
.topic-eyebrow { font-size: 0.7rem; color: var(--link-color); text-transform: uppercase; letter-spacing: 0.1em; }
.topic-results-card h3 { font-size: 1.3rem; margin: 8px 0 12px; }
.topic-hint { font-size: 0.85rem; color: var(--secondary-text); margin: 12px 0; }
.topic-shortcuts { display: flex; gap: 8px; flex-wrap: wrap; }
.topic-shortcuts button {
  font: inherit;
  font-size: 0.8rem;
  border: 1px solid var(--th-border-color);
  border-radius: 5px;
  background: var(--bg-color);
  color: var(--text-color);
  padding: 5px 9px;
}
.topic-shortcuts button[aria-pressed="true"] { border-color: var(--link-color); color: var(--link-color); }
.topic-talk { display: block; border-top: 1px solid var(--border-color); padding: 14px 0; color: var(--text-color); }
.topic-talk:hover { text-decoration: none; color: var(--link-color); }
.topic-talk time { display: block; color: var(--secondary-text); font-size: 0.75rem; }
.topic-talk strong { display: block; font-size: 0.9rem; margin: 4px 0; }
.topic-talk span { display: block; font-size: 0.85rem; }
#selected-topic-talks { max-height: 480px; overflow-y: auto; }
@media (max-width: 760px) { .topic-browser { grid-template-columns: 1fr; } }
