.helioporeo-widget {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.helioporeo-stack {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.helioporeo-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.helioporeo-row-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  font-size: 0.95rem;
}

.helioporeo-row-name {
  font-weight: 600;
}

.helioporeo-row-time {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--text);
}

.helioporeo-bar-wrap {
  position: relative;
  height: 30px;
  touch-action: none;
  user-select: none;
}

.helioporeo-bar {
  display: flex;
  height: 30px;
  width: 100%;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid var(--border);
}

.helioporeo-bar-seg {
  height: 100%;
}

.helioporeo-zone {
  position: absolute;
  top: 90%;
  height: 20%;
  border: 1px solid var(--border);
  border-radius: 2px;
  box-sizing: border-box;
  pointer-events: none;
}

.helioporeo-zone--intersection {
  background: rgba(0, 200, 0, 0.55) !important;
  z-index: 5;
}

.helioporeo-cue {
  position: absolute;
  top: 0;
  width: 30px;
  height: 30px;
  transform: translateX(-15px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  cursor: grab;
}

.helioporeo-cue:active {
  cursor: grabbing;
}

.helioporeo-cue-dot {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #ff0000;
}

.helioporeo-cue-line-portal {
  position: absolute;
  pointer-events: none;
  z-index: 9;
}

.helioporeo-cue-line-portal--hidden {
  opacity: 0;
}

.helioporeo-cue-line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #ff0000;
  opacity: 0.7;
  transform: translateX(-1px);
  pointer-events: none;
}

.helioporeo-cue--hidden {
  opacity: 0;
  pointer-events: none;
}

.helioporeo-scrub-hint {
  font-size: 0.8rem;
  color: var(--text);
  opacity: 0.85;
  margin: 0;
}
