.sc-link-atom {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  padding: 0 4px;
  color: var(--sc-ui-primary, #2f76ff);
  border-radius: 4px;
  cursor: pointer;
}
.sc-link-atom:hover {
  background: var(--sc-ui-active);
}
.sc-link-atom--selected {
  background: var(--sc-ui-active);
}
/* 换行时 icon 必须贴第一行，不能用 align-items: center（会相对整段标题居中）。
   直接子级 flex-start + 1lh 偏移，只在第一行行盒内视觉居中。 */
.sc-link-atom > .sc-link-atom__icon {
  align-self: flex-start;
  margin-top: calc((1lh - 1em) / 2);
}
@supports not (height: 1lh) {
  .sc-link-atom > .sc-link-atom__icon {
    margin-top: calc((var(--sc-content-line-height, 1.6) * 1em - 1em) / 2);
  }
}
.sc-link-atom__icon {
  flex-shrink: 0;
  border-radius: 2px;
  object-fit: cover;
}
.sc-link-atom__icon img,
.sc-link-atom__icon svg {
  display: block;
  width: 1em;
  height: 1em;
}
.sc-link-atom__icon--default {
  stroke: currentColor;
  display: block;
  width: 1em;
  height: 1em;
}
.sc-link-atom > .sc-link-atom__loading {
  align-self: flex-start;
  margin-top: calc((1lh - 0.85em) / 2);
}
@supports not (height: 1lh) {
  .sc-link-atom > .sc-link-atom__loading {
    margin-top: calc((var(--sc-content-line-height, 1.6) * 1em - 0.85em) / 2);
  }
}
.sc-link-atom__loading {
  display: block;
  flex-shrink: 0;
  width: 0.85em;
  height: 0.85em;
  border: 1.5px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: sc-link-atom-spin 0.6s linear infinite;
}
@keyframes sc-link-atom-spin {
  to {
    transform: rotate(360deg);
  }
}
.sc-link-atom__title {
  word-break: break-word;
  overflow-wrap: anywhere;
}

