/* Shared interaction timing; no geometry changes to the existing calendar. */
.calendar-panel .day,
.calendar-panel .month-nav button,
.calendar-panel .quiet-button {
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease, transform 100ms ease;
}
.calendar-panel .month-nav button:hover:not(:disabled),
.calendar-panel .quiet-button:hover:not(:disabled) {
  background: #edf6f0;
  border-color: #86b99a;
  color: #26745d;
}
.calendar-panel .day:active:not(:disabled),
.calendar-panel .month-nav button:active:not(:disabled),
.calendar-panel .quiet-button:active:not(:disabled) { transform: scale(.97); }
.calendar-panel .day.selected,
.calendar-panel .day.selected:hover:not(:disabled) {
  border-color: #26745d;
  box-shadow: inset 0 0 0 1px #26745d;
}
.calendar-panel .day.has-announcement.selected,
.calendar-panel .day.has-announcement.selected:hover:not(:disabled) {
  border-color: #96700c;
  box-shadow: inset 0 0 0 1px #96700c;
}
.daily-content { min-height: 280px; }
.daily-content.is-changing { animation: daily-reveal 180ms cubic-bezier(.22, 1, .36, 1); }
@keyframes daily-reveal {
  from { opacity: .25; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
.post-original > summary { display: flex; align-items: center; gap: 8px; list-style: none; }
.post-original > summary::-webkit-details-marker { display: none; }
.post-original > summary::before {
  content: '';
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 180ms ease;
}
.post-original[data-expanded="true"] > summary::before { transform: rotate(45deg); }
@media (prefers-reduced-motion: reduce) {
  .calendar-panel .day,
  .calendar-panel .month-nav button,
  .calendar-panel .quiet-button,
  .post-original > summary::before { transition: none; }
  .calendar-panel .day:active:not(:disabled),
  .calendar-panel .month-nav button:active:not(:disabled),
  .calendar-panel .quiet-button:active:not(:disabled) { transform: none; }
  .daily-content.is-changing { animation: none; }
}
