.review-mode .review-target {
  position: relative;
}

.review-mode.review-selecting .review-target {
  cursor: crosshair;
}

.review-mode.review-selecting .review-target:hover {
  outline: 3px dashed #ffd84d;
  outline-offset: -3px;
}

.review-mode .review-target::after {
  position: absolute;
  z-index: 999997;
  top: 14px;
  left: 14px;
  display: none;
  max-width: calc(100% - 28px);
  padding: 7px 10px;
  background: #ffd84d;
  color: #171914;
  font: 700 12px/1.2 Manrope, sans-serif;
  letter-spacing: 0;
  content: attr(data-review-label);
  pointer-events: none;
}

.review-mode.review-selecting .review-target:hover::after,
.review-mode .review-target.is-review-selected::after {
  display: block;
}

.review-mode .review-target.is-review-selected {
  outline: 4px solid #ffd84d;
  outline-offset: -4px;
}

.review-mode.review-labels .review-target::after {
  display: block;
  content: attr(data-review-index) " · " attr(data-review-label);
}

.review-mode.review-labels .review-target {
  outline: 1px dashed rgba(255, 216, 77, 0.5);
  outline-offset: -1px;
}

.review-panel {
  position: fixed;
  z-index: 999999;
  right: 18px;
  bottom: 18px;
  display: grid;
  grid-template-columns: auto minmax(160px, auto);
  gap: 8px 14px;
  align-items: center;
  max-width: min(520px, calc(100vw - 36px));
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: rgba(20, 22, 18, 0.94);
  color: #fff;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(14px);
  font-family: Manrope, sans-serif;
}

.review-panel__mode {
  min-height: 38px;
  padding: 0 14px;
  border: 0;
  background: #ffd84d;
  color: #171914;
  font: 700 12px/1 Manrope, sans-serif;
  letter-spacing: 0;
  cursor: pointer;
}

.review-panel__selection {
  overflow: hidden;
  font-size: 12px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.review-panel__hint {
  grid-column: 1 / -1;
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 11px;
  line-height: 1.3;
}

@media (max-width: 640px) {
  .review-panel {
    right: 10px;
    bottom: 72px;
    left: 10px;
    max-width: none;
  }
}
