/* 6.8: descriptions of model objects (web/descriptions.js): card on the object page,
   language tabs and the editor shared with the table dialog. */
.scs-description-body {
  display: grid;
  gap: var(--scs-space-2);
}
.scs-description-langs {
  display: inline-flex;
  gap: 2px;
  width: fit-content;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--scs-surface-2);
}
html:root .scs-description-langs button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  padding: 2px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
html:root .scs-description-langs button small {
  color: inherit;
  font-weight: 400;
  letter-spacing: 0;
}
html:root .scs-description-langs button.active {
  background: var(--scs-surface);
  color: var(--scs-ink);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--scs-ink) 18%, transparent);
}
.scs-description-missing {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--scs-warn);
}
.scs-description-text {
  white-space: normal;
  line-height: 1.55;
}
.scs-description-text p,
.scs-description-text ul,
.scs-description-text ol {
  margin: 0 0 var(--scs-space-2);
}
.scs-description-text > :last-child {
  margin-bottom: 0;
}
.scs-description-editor {
  display: grid;
  gap: var(--scs-space-2);
}
.scs-description-editor textarea {
  width: 100%;
  min-height: 140px;
  font: inherit;
  line-height: 1.5;
  resize: vertical;
}
.scs-description-hint {
  margin: 0;
  font-size: 12px;
}
.scs-description-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--scs-space-2);
}
.scs-description-actions.start {
  justify-content: flex-start;
}
/* Preview hints of a model document: shown while editing, never exported. */
.doc-preview .doc-hint {
  margin: 6px 0 12px;
  padding: 7px 10px;
  /* The page is paper in both themes, so the hint keeps paper colours too. */
  border: 1px dashed var(--scs-paper-hint-line);
  border-radius: 6px;
  background: var(--scs-paper-hint);
  color: var(--scs-paper-ink);
  font-size: 12.5px;
  line-height: 1.45;
}
.doc-preview .doc-hint button {
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: inherit;
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
}
.doc-preview .doc-hint small {
  display: block;
  opacity: 0.8;
}
.doc-preview .doc-hint-frozen,
.doc-preview .doc-hint-changed {
  border-style: solid;
  border-left-width: 3px;
}

/* 6.13: the catalog's description column edits with a quiet pencil like the ↗ next to the name. */
html:root .grid .appearance-cell > button.grid-description-edit {
  flex: 0 0 28px;
  width: 28px;
  min-width: 28px;
  height: 30px;
  padding: 3px;
  margin-right: 6px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--teal);
  border-radius: 5px;
}
html:root .grid .appearance-cell > button.grid-description-edit:is(:hover, :focus-visible) {
  background: var(--scs-accent-soft);
  border-color: var(--teal);
}
html:root .grid .appearance-cell > button.grid-description-edit .grid-editor-content {
  display: grid;
  place-items: center;
}

/* 6.13: the card's text is edited like a diagram title: a pencil appears on hover or focus. */
.scs-description-target {
  position: relative;
  padding-right: 36px;
  border-radius: 6px;
}
.scs-description-target > p {
  margin: 0;
}
html:root .scs-description-target > .scs-description-pencil {
  position: absolute;
  top: -2px;
  right: 0;
  display: grid;
  place-items: center;
  width: 28px;
  min-width: 28px;
  height: 28px;
  min-height: 28px;
  padding: 5px;
  opacity: 0;
  transition: opacity 0.12s;
}
html:root .scs-description-target:is(:hover, :focus-within) > .scs-description-pencil {
  opacity: 1;
}
@media (hover: none) {
  html:root .scs-description-target > .scs-description-pencil {
    opacity: 1;
  }
}
