.rate-line-question {
  margin: 0 0 34px;
  break-inside: avoid;
  page-break-inside: avoid;
}

.rate-line-question .rate-line-prompt {
  margin: 0 0 10px;
  line-height: 1.55;
  font-size: 22px;
}

body.rate-line-diagram-mode #questions {
  columns: 1 !important;
  column-gap: 0 !important;
  padding: 26px 32px;
}

.rate-line-svg {
  display: block;
  width: 100%;
  max-width: 820px;
  height: auto;
  margin: 0 auto;
}

.rate-line-svg .main-line,
.rate-line-svg .guide-line,
.rate-line-svg .tick-line {
  stroke: currentColor;
  fill: none;
  vector-effect: non-scaling-stroke;
}

.rate-line-svg .main-line {
  stroke-width: 3.4;
}

.rate-line-svg .guide-line {
  stroke-width: 1.4;
  stroke-dasharray: 4 4;
}

.rate-line-svg .tick-line {
  stroke-width: 2.3;
}

.rate-line-svg text {
  fill: currentColor;
  font-family: sans-serif;
  font-size: 18px;
}

.rate-line-svg .line-name {
  font-weight: 700;
  font-size: 18px;
}

.rate-line-svg .value-label,
.rate-line-svg .rate-label {
  font-weight: 800;
  font-size: 19px;
}

.rate-line-svg .rate-caption {
  font-size: 17px;
  font-weight: 700;
}

@media print {
  body.rate-line-diagram-mode #questions {
    columns: 1 !important;
    padding: 5mm 4mm;
  }

  .rate-line-question {
    margin-bottom: 7mm;
  }

  .rate-line-question .rate-line-prompt {
    font-size: 15pt;
    margin-bottom: 2mm;
  }

  .rate-line-svg {
    max-width: 174mm;
  }

  .rate-line-svg text {
    font-size: 18px;
  }
}
