.day-night-hud {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 18;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  background: var(--color-bg-panel);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-panel);
  pointer-events: auto;
  user-select: none;
  font-size: 0.72rem;
  color: var(--color-text-muted);
}

.day-night-hud.is-disabled {
  opacity: 0.55;
}

.day-night-hud__picker {
  display: flex;
  flex-direction: column;
  gap: 7px;
  width: 132px;
  flex-shrink: 0;
}

.day-night-hud__arc-wrap {
  width: 100%;
  height: 28px;
  flex-shrink: 0;
  cursor: pointer;
}

#day-night-arc {
  display: block;
  width: 100%;
  height: 100%;
}

.day-night-hud__slider-wrap {
  display: block;
  width: 100%;
  padding: 0 2px;
  cursor: pointer;
}

.day-night-hud__slider {
  --dn-track-h: 5px;
  --dn-thumb: 13px;
  display: block;
  width: 100%;
  height: 18px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  cursor: pointer;
  touch-action: none;
}

.day-night-hud__slider:focus {
  outline: none;
}

.day-night-hud__slider:focus-visible::-webkit-slider-thumb {
  box-shadow:
    0 0 0 2px rgba(201, 162, 39, 0.45),
    0 1px 4px rgba(0, 0, 0, 0.45);
}

.day-night-hud__slider:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.day-night-hud__slider::-webkit-slider-runnable-track {
  height: var(--dn-track-h);
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgb(36, 48, 92) 0%,
    rgb(255, 168, 88) 22%,
    rgb(255, 228, 148) 50%,
    rgb(255, 152, 72) 78%,
    rgb(36, 48, 92) 100%
  );
  box-shadow:
    inset 0 1px 2px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(255, 255, 255, 0.06);
}

.day-night-hud__slider::-moz-range-track {
  height: var(--dn-track-h);
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgb(36, 48, 92) 0%,
    rgb(255, 168, 88) 22%,
    rgb(255, 228, 148) 50%,
    rgb(255, 152, 72) 78%,
    rgb(36, 48, 92) 100%
  );
  box-shadow:
    inset 0 1px 2px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(255, 255, 255, 0.06);
}

.day-night-hud__slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: var(--dn-thumb);
  height: var(--dn-thumb);
  margin-top: calc((var(--dn-track-h) - var(--dn-thumb)) / 2);
  border-radius: 50%;
  border: 1.5px solid rgba(0, 0, 0, 0.4);
  background: radial-gradient(circle at 35% 30%, #fff6cc 0%, #ffd978 45%, #e8a840 100%);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.day-night-hud__slider::-moz-range-thumb {
  width: var(--dn-thumb);
  height: var(--dn-thumb);
  border-radius: 50%;
  border: 1.5px solid rgba(0, 0, 0, 0.4);
  background: radial-gradient(circle at 35% 30%, #fff6cc 0%, #ffd978 45%, #e8a840 100%);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.day-night-hud__slider:active::-webkit-slider-thumb {
  transform: scale(1.12);
  box-shadow:
    0 0 0 3px rgba(201, 162, 39, 0.28),
    0 2px 6px rgba(0, 0, 0, 0.5);
}

.day-night-hud__slider:active::-moz-range-thumb {
  transform: scale(1.12);
  box-shadow:
    0 0 0 3px rgba(201, 162, 39, 0.28),
    0 2px 6px rgba(0, 0, 0, 0.5);
}

.day-night-hud.is-disabled .day-night-hud__slider {
  pointer-events: none;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.day-night-hud__readout {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 52px;
}

#day-night-time {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}

#day-night-period {
  text-transform: capitalize;
  font-size: 0.65rem;
}

#day-night-period[data-period='dawn'],
#day-night-period[data-period='dusk'] {
  color: #e8a060;
}

#day-night-period[data-period='day'] {
  color: #d4c878;
}

#day-night-period[data-period='night'] {
  color: #8898d0;
}

.day-night-hud__controls {
  display: flex;
  align-items: center;
  gap: 4px;
  border-left: 1px solid var(--color-border);
  padding-left: 8px;
}

.day-night-hud__btn {
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.04);
  color: var(--color-text);
  cursor: pointer;
  font-size: 0.7rem;
  line-height: 1;
  padding: 0;
}

.day-night-hud__btn:hover {
  border-color: var(--color-border-gold);
  color: var(--color-border-gold);
}

.day-night-hud__btn[aria-pressed='true'] {
  background: var(--color-accent-dim);
  border-color: var(--color-accent);
}

#day-night-scale {
  min-width: 36px;
  text-align: center;
  font-variant-numeric: tabular-nums;
  font-size: 0.68rem;
}

@media (max-width: 640px) {
  .day-night-hud {
    top: auto;
    bottom: 72px;
    transform: translateX(-50%) scale(0.92);
  }
}

#night-tint-overlay {
  --t-o: 0;
  --t-tr: 14;
  --t-tg: 28;
  --t-tb: 68;
  --t-mr: 10;
  --t-mg: 22;
  --t-mb: 56;
  --t-br: 18;
  --t-bg: 34;
  --t-bb: 78;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 8;
  opacity: var(--t-o);
  border: none;
  mix-blend-mode: color;
  background: linear-gradient(
    180deg,
    rgb(var(--t-tr), var(--t-tg), var(--t-tb)) 0%,
    rgb(var(--t-mr), var(--t-mg), var(--t-mb)) 45%,
    rgb(var(--t-br), var(--t-bg), var(--t-bb)) 100%
  );
  will-change: opacity;
}
