.reveal-clear [data-market-grid] {
  overflow: visible;
}

.going-rate-line {
  position: absolute;
  z-index: 20;
  right: 0;
  left: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
}

.going-rate-line span {
  display: block;
  border-top: 1px solid var(--lime);
}

.going-rate-line.is-visible {
  opacity: 1;
}

.rate-row-0 {
  top: 8.333%;
}

.rate-row-1 {
  top: 25%;
}

.rate-row-2 {
  top: 41.667%;
}

.rate-row-3 {
  top: 58.333%;
}

.rate-row-4 {
  top: 75%;
}

.rate-row-5 {
  top: 91.667%;
}

[data-market-row].is-clear-visited::before {
  position: absolute;
  z-index: 0;
  inset: -2px;
  border: 1px solid rgba(232, 230, 225, 0.14);
  content: "";
  pointer-events: none;
}

.task-cell.is-clear-current {
  z-index: 7;
  outline: 1px solid rgba(206, 255, 0, 0.6);
  outline-offset: -2px;
}

.task-cell.is-clear-filled .work-token,
.task-cell.is-clear-partial .work-token {
  animation: allocation-settle 160ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

.task-cell.is-clear-partial {
  box-shadow: inset 0 0 0 1px rgba(232, 230, 225, 0.22);
}

.task-cell.is-clear-closed {
  background: rgba(3, 6, 9, 0.76);
}

.task-cell.is-clear-closed .work-token,
.task-cell.is-clear-closed .task-label {
  opacity: 0.34;
  filter: grayscale(1);
}

.market-row.is-below-rate {
  background:
    repeating-linear-gradient(
      135deg,
      rgba(8, 11, 16, 0.08) 0 5px,
      rgba(8, 11, 16, 0.34) 5px 7px
    ),
    rgba(8, 11, 16, 0.34);
}

.fleet-card.is-clear-settled {
  border-color: rgba(232, 230, 225, 0.4);
}

.lab-gold.is-ticking {
  animation: gold-tick 180ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

.flight-marker {
  position: fixed;
  z-index: 4000;
  top: 0;
  left: 0;
  display: grid;
  width: 17px;
  height: 17px;
  place-items: center;
  border: 1px solid var(--ink);
  background: var(--field);
  color: var(--ink);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 900;
  pointer-events: none;
  transform: translate(-100px, -100px);
}

.flight-marker--player {
  border-color: var(--volt);
  border-radius: 50%;
  color: var(--volt);
}

.flight-marker--rivalA {
  border-color: var(--kiln);
  color: var(--kiln);
  transform-origin: center;
}

.flight-marker--rivalB {
  border-color: var(--para);
  color: var(--para);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.reveal-clear .market-board .task-label,
.reveal-clear .market-board .task-state {
  transition: opacity 120ms cubic-bezier(0.4, 0, 0.2, 1);
}

.is-clear-running .clear-explainer,
.is-clear-complete .clear-explainer {
  /* The explainer is an inline ticker segment now (wave1-native.css); a
     block here would break the marquee line. */
  display: inline;
}

.is-clear-paused *,
.is-clear-paused *::before,
.is-clear-paused *::after {
  animation-play-state: paused !important;
}

@keyframes allocation-settle {
  from {
    opacity: 0.25;
    transform: translate(-50%, -50%) scale(0.9);
  }

  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes gold-tick {
  50% {
    color: var(--volt);
  }
}

@media (forced-colors: active) {
  .going-rate-line span,
  .flight-marker {
    forced-color-adjust: none;
  }
}
