/* FW3-RS-UXRS-015 — additive contextual glossary. */
.contextual-glossary {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.16);
}

.contextual-glossary-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}

.contextual-glossary-heading h3,
.contextual-glossary-heading p,
.contextual-glossary-detail h4 { margin: 0; }

.contextual-glossary-heading label {
  display: grid;
  gap: 0.3rem;
  min-width: min(20rem, 100%);
}

.contextual-glossary-heading input { min-height: 44px; }

.contextual-glossary-layout {
  display: grid;
  grid-template-columns: minmax(13rem, 0.8fr) minmax(18rem, 1.2fr);
  gap: 0.8rem;
  margin-top: 0.8rem;
}

.contextual-glossary-list {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.contextual-glossary-list button { width: 100%; min-height: 44px; text-align: left; }
.contextual-glossary-detail { min-width: 0; padding: 0.8rem; border: 1px solid var(--line); border-radius: 10px; }
.contextual-glossary-detail p { overflow-wrap: anywhere; }

@media (max-width: 760px) {
  .contextual-glossary-heading { align-items: stretch; flex-direction: column; }
  .contextual-glossary-layout { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .contextual-glossary * { scroll-behavior: auto; }
}
