/* 日期：保留原生日期选择器，表面统一显示“年 / 月 / 日”。 */
.date-control {
  position: relative;
  display: block;
  height: 42px;
}

.date-input {
  position: relative;
  z-index: 2;
  color: transparent;
  background: transparent;
  caret-color: transparent;
}

.date-input::-webkit-datetime-edit {
  color: transparent;
}

.date-input::-webkit-calendar-picker-indicator {
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  opacity: 0;
  cursor: pointer;
}

.date-display {
  position: absolute;
  z-index: 1;
  inset: 1px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 8px;
  color: #9aa5b8;
  background: #f9fbfe;
  pointer-events: none;
}

.date-control.has-value .date-display {
  color: #1f2a3d;
}

/* 两个倍率卡片使用相同的内部行高，数轴和快捷按钮严格对齐。 */
.axis-section {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.axis-total-placeholder {
  visibility: hidden;
}

.axis-section .quick-row {
  margin-top: auto;
}

/* 汉字、轴线、刻度数字按上中下三层排布。 */
.scale-wrap {
  margin-top: 16px;
}

.scale-labels {
  margin: 0 18px;
  line-height: 1.2;
}

.scale-track {
  height: 78px;
  margin: 3px 18px 0;
}

.scale-track::before,
.scale-fill {
  top: 23px;
}

.tick {
  top: 15px;
}

.tick-line {
  height: 24px;
}

.tick-text {
  margin-top: 9px;
  line-height: 1;
}

.pointer {
  top: 0;
}

/* 总倍率拆成正、负两个等宽结果块。 */
.overall-multiplier-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 18px 0;
}

.overall-multiplier {
  display: grid;
  place-items: center;
  min-height: 108px;
  padding: 14px 10px;
  border-radius: 11px;
  color: #8994a6;
  background: #eef2f8;
  text-align: center;
}

.overall-multiplier.ready {
  color: #fff;
}

.overall-multiplier.positive.ready {
  background: linear-gradient(135deg, #202a3a, #2f6fed);
}

.overall-multiplier.negative.ready {
  background: linear-gradient(135deg, #20242d, #b42020);
}

.overall-multiplier-label {
  align-self: end;
  font-size: 12px;
  font-weight: 800;
  opacity: .78;
}

.overall-multiplier strong {
  align-self: start;
  font-size: clamp(27px, 7vw, 43px);
  line-height: 1.1;
}

/* 原始总分旁显示本次实际应用的倍率。 */
.weighted-score-row {
  grid-template-columns: minmax(0, 1fr) 100px minmax(110px, .75fr);
  gap: 10px;
}

.applied-multiplier {
  display: grid;
  place-items: center;
  height: 42px;
  border-radius: 9px;
  color: #8994a6;
  background: #eef2f8;
  font-size: 16px;
  font-weight: 900;
}

.applied-multiplier.ready {
  color: #fff;
}

.applied-multiplier.ready.positive {
  background: linear-gradient(135deg, #202a3a, #2f6fed);
}

.applied-multiplier.ready.negative {
  background: linear-gradient(135deg, #20242d, #b42020);
}

@media (min-width: 760px) {
  .axis-list {
    align-items: stretch;
  }
}

@media (max-width: 560px) {
  .weighted-score-row {
    grid-template-columns: minmax(0, 1fr) 90px;
  }

  .score-output {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px;
    border-radius: 9px;
    background: #f3f6fb;
  }

  .score-output .detail-label {
    margin: 0;
  }
}
