.dark-rooms-shell {
  display: grid;
  gap: 2rem;
}

.dark-rooms-intro,
.dark-room-panel,
.dark-room-feed,
.dark-room-manifest,
.dark-room-links {
  background:
    linear-gradient(180deg, var(--room-panel-top, var(--bg-alt)), var(--room-panel-bottom, var(--bg-surface)));
  border: 1px solid var(--room-border, var(--border-accent));
  border-radius: 1.5rem;
  box-shadow: 0 1.25rem 2.5rem var(--room-shadow, var(--shadow-glow));
  padding: clamp(1.25rem, 2vw, 2rem);
}

.dark-rooms-intro p,
.dark-room-panel p,
.dark-room-feed p,
.dark-room-manifest p,
.dark-room-empty p,
.dark-room-card p,
.dark-room-linkcard p {
  color: var(--room-text, var(--text-secondary));
}

.dark-rooms-grid,
.dark-room-feed-grid,
.dark-room-linkgrid {
  display: grid;
  gap: 1.25rem;
}

.dark-rooms-grid {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.dark-room-feed-grid,
.dark-room-linkgrid {
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.dark-room-card,
.dark-room-linkcard {
  display: grid;
  gap: 0.8rem;
  padding: 1.25rem;
  min-height: 100%;
  text-decoration: none;
  background: linear-gradient(180deg, var(--room-bg, var(--bg-secondary)), var(--room-bg-deep, var(--bg-primary)));
  border: 1px solid var(--room-border, var(--border-accent));
  border-radius: 1.25rem;
  box-shadow: 0 0.85rem 2rem var(--room-shadow, var(--shadow-glow));
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.dark-room-card:hover,
.dark-room-card:focus-visible,
.dark-room-linkcard:hover,
.dark-room-linkcard:focus-visible {
  transform: translateY(-0.2rem);
  border-color: var(--room-accent-secondary, var(--text-accent));
  box-shadow: 0 1rem 2.4rem var(--room-shadow-strong, var(--accent-glow));
}

.dark-room-card.is-static {
  cursor: default;
}

.dark-room-card.is-static:hover,
.dark-room-card.is-static:focus-visible {
  transform: none;
}

.dark-room-kicker {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--room-accent-secondary, var(--text-accent));
}

.dark-room-glyph {
  font-size: 1.7rem;
  color: var(--room-accent-primary, var(--text-accent));
}

.dark-room-card h3,
.dark-room-linkcard h3,
.dark-room-panel h2,
.dark-room-feed h2,
.dark-room-manifest h2,
.dark-room-links h2 {
  margin: 0;
  color: var(--room-accent-primary, var(--text-accent));
}

.dark-room-card p,
.dark-room-linkcard p {
  margin: 0;
}

.dark-room-empty {
  padding: 1rem 0 0;
  border-top: 1px solid var(--room-border, var(--border-accent));
}

.dark-room-list {
  display: grid;
  gap: 0.9rem;
  margin: 1rem 0 0;
  padding-left: 1.1rem;
}

.dark-room-list li::marker {
  color: var(--room-accent-primary, var(--text-accent));
}

.dark-room-linkcard .dark-room-linklabel {
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--room-accent-secondary, var(--text-accent));
}

.dark-room-linkcard.is-muted {
  opacity: 0.92;
}

@media (max-width: 48rem) {
  .dark-rooms-shell {
    gap: 1.5rem;
  }
}
