/* Match the existing TAS Moon artwork; add compact rise/set information. */
#tas-future .moon-viewing-times {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  width: min(100%, 360px);
  margin: 12px auto 8px;
  padding: 14px 0;
  border-top: 1px solid #bcc4d544;
  border-bottom: 1px solid #bcc4d544;
  text-align: left;
}
#tas-future .moon-viewing-times span {
  display: block;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .5px;
  opacity: .82;
}
#tas-future .moon-viewing-times time {
  display: block;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 5px;
}
#tas-future .moon-viewing-note {
  text-align: center;
  font-size: 10px;
  line-height: 1.7;
  margin: 0 0 10px;
  opacity: .78;
}
#tas-future .tf-hero[data-sky=day] .moon-viewing-times {
  border-color: #49698055;
  color: #314c65;
}
#tas-future .tf-hero[data-sky=day] .moon-viewing-note {
  color: #314c65;
}
@media (max-width: 560px) {
  #tas-future .moon-viewing-times { gap: 14px; width: min(100%, 310px); }
  #tas-future .moon-viewing-times time { font-size: 13px; }
}

/* Keep the existing event cards, with clear year and summer-break separators. */
#tas-future .tas-combined-events .tas-event-year {
  color: #1a1b26;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.5px;
  margin: 30px 0 16px;
}
#tas-future .tas-combined-events > .tas-event-year:first-child {
  margin-top: 0;
}
#tas-future .tas-combined-events .event-row h4 {
  font-size: 19px;
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 7px;
}
#tas-future .tas-summer-break {
  background: #edebfa;
  color: #1a1b26;
  border: 1px solid #d5cfee;
  border-left: 4px solid #8b79bd;
  border-radius: 13px;
  padding: 26px;
  margin: 28px 0;
}
#tas-future .tas-summer-break .tas-break-season {
  display: block;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: #55516b;
  margin-bottom: 9px;
}
#tas-future .tas-summer-break h3 {
  color: #1a1b26;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.4px;
  margin: 0 0 10px;
}
#tas-future .tas-summer-break p {
  color: #515466;
  font-size: 14px;
  line-height: 1.8;
  max-width: 720px;
  margin: 0;
}
#tas-future .tas-summer-break a {
  color: #34314e;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 560px) {
  #tas-future .tas-summer-break { padding: 22px 20px; }
  #tas-future .tas-combined-events .tas-event-year { font-size: 23px; }
}

/* Solar-position twilight: soft dawn and dusk tones, with readable light text. */
#tas-future .tf-hero[data-sky=morning] {
  background: linear-gradient(145deg, #263b57, #584760 70%, #875f69);
  color: #fff;
}
#tas-future .tf-hero[data-sky=evening] {
  background: linear-gradient(145deg, #202c48, #51435e 70%, #946855);
  color: #fff;
}
#tas-future .tf-hero[data-sky=morning]::before,
#tas-future .tf-hero[data-sky=evening]::before { background: none; }
#tas-future .tf-hero[data-sky=morning] canvas,
#tas-future .tf-hero[data-sky=evening] canvas { opacity: .75; }
#tas-future .tf-hero[data-sky=morning] .tf-hero-copy,
#tas-future .tf-hero[data-sky=evening] .tf-hero-copy,
#tas-future .tf-hero[data-sky=morning] figcaption,
#tas-future .tf-hero[data-sky=evening] figcaption,
#tas-future .tf-hero[data-sky=morning] .tf-caption,
#tas-future .tf-hero[data-sky=evening] .tf-caption { color: #e0dbe8; }
