/* ─── Right-click context menu ────────────────────────────── */

.chart-ctx-menu {
  position: fixed;
  z-index: 2100;
  background: var(--bg-bar);
  border: 1px solid var(--blue-border);
  border-radius: 6px;
  padding: 4px 0;
  min-width: 270px;
  display: none;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.75);
  font-family: 'B612 Mono', ui-monospace, monospace;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.chart-ctx-menu--open {
  display: block;
}

/* ─── Coordinate rows ─────────────────────────────────────── */

.ccm-coord-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  cursor: pointer;
  transition: background 0.1s;
  user-select: none;
}

.ccm-coord-row:hover {
  background: rgba(43, 58, 171, 0.28);
}

.ccm-format {
  font-size: 9px;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.35);
  width: 34px;
  flex-shrink: 0;
}

.ccm-value {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.85);
  flex: 1;
  letter-spacing: 0.03em;
}

.ccm-copied {
  font-size: 9px;
  letter-spacing: 0.08em;
  color: var(--gold);
  opacity: 0;
  transition: opacity 0.15s;
  flex-shrink: 0;
}

.ccm-copied--visible {
  opacity: 1;
}

/* ─── Divider ─────────────────────────────────────────────── */

.ccm-divider {
  height: 1px;
  background: var(--blue-border);
  margin: 4px 0;
}

/* ─── Airspace rows ───────────────────────────────────────── */

.ccm-airspace-row {
  display: flex;
  align-items: center;
  padding: 5px 12px;
  transition: background 0.1s;
}

.ccm-airspace-row--has-alt {
  cursor: default;
}

.ccm-airspace-row--has-alt:hover {
  background: rgba(43, 58, 171, 0.18);
}

.ccm-airspace-name {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0.04em;
}

/* ─── Nearby point rows ───────────────────────────────────── */

.ccm-point-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  cursor: pointer;
  transition: background 0.1s;
  user-select: none;
}

.ccm-point-row:hover {
  background: rgba(43, 58, 171, 0.28);
}

.ccm-point-ident {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.05em;
  min-width: 52px;
  flex-shrink: 0;
}

.ccm-point-type {
  font-size: 9px;
  color: rgba(255, 255, 255, 0.38);
  letter-spacing: 0.06em;
  flex: 1;
}

.ccm-point-dist {
  font-size: 9px;
  color: var(--gold);
  letter-spacing: 0.04em;
  flex-shrink: 0;
}

/* ─── Plan edit rows ──────────────────────────────────────── */

.ccm-edit-row {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  cursor: pointer;
  transition: background 0.1s;
  font-size: 11px;
  color: var(--gold);
  letter-spacing: 0.05em;
  user-select: none;
}

.ccm-edit-row:hover {
  background: rgba(43, 58, 171, 0.28);
}

/* ─── Altitude side-tooltip ───────────────────────────────── */

.ccm-alt-tip {
  position: fixed;
  z-index: 2200;
  background: var(--bg-bar);
  border: 1px solid var(--blue-border);
  border-radius: 4px;
  padding: 4px 10px;
  font-family: 'B612 Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.8);
  white-space: nowrap;
  pointer-events: none;
  transform: translateY(-50%);
  display: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
}

.ccm-alt-tip--visible {
  display: block;
}
