.shiki .line {
  --_bg-opacity: var(--bg-opacity, 1);
  --c-red-soft: rgba(244, 63, 94, var(--_bg-opacity));
  --c-orange-soft: rgba(255, 217, 112, var(--_bg-opacity));
  --c-green-soft: rgba(16, 185, 129, var(--_bg-opacity));

  &:where(.error, .warning, .diff) {
    --bg-opacity: 0.2;
    --_bg-color: var(--bg-color, orangered);
    position: relative;
    display: inline-block;
    inline-size: 100%;
    background-color: var(--_bg-color);
  }
  &::after {
    position: absolute;
    inset-inline-end: 4px;
    inset-block-start: 50%;
    translate: 0 -50%;
  }
  &.error {
    --bg-color: var(--c-red-soft);
    &::after {
      content: '🔴';
    }
  }
  &.warning {
    --bg-color: var(--c-orange-soft);
    &::after {
      content: '🟠';
    }
  }
  &.diff {
    &.remove {
      --bg-color: var(--c-red-soft);
      opacity: 0.7;
      &::after {
        content: '-';
        color: red;
        font-size: var(--size-0);
      }
    }
    &.add {
      --bg-color: var(--c-green-soft);
      &::after {
        content: '+';
        font-size: var(--size-0);
        color: greenyellow;
      }
    }
  }
  .highlighted-word {
    margin-inline: 1px;
    padding: 1px;
    outline: 1px solid grey;
    border-radius: 2px;
  }
}
