table {
  border-collapse: collapse;
  width: 100%;
  margin: auto;
}
th, td {
  width:14.28%;
  vertical-align: top;
  padding: 6px;
  height: 85px;
  text-align: left;
}
th { text-align: center; background-color: #f8f9fa; }
.solar { font-size: 1.1em; font-weight: 500; }
.lunar { font-size: 0.8em; color: #666; margin-top: 4px; }
.holiday { color: #d63031; font-weight: bold; }
.term { color: #0984e3; font-size: 0.8em; }
.highlight-today { background-color: #ffeaa7; border-radius: 8px; }
.sunday { color: #d63031; }
.saturday { color: #0984e3; }

/* 🌕 달 모양 기본 구조 */
.moon {
  position: relative;
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 40%, #ffe16b 0%, #f8d94b 70%, #e0b92a 100%);
  overflow: hidden;
  box-shadow: inset 0 0 2px rgba(0,0,0,0.5);
  margin-top: 4px;
}

.shadow-wrapper {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1 / 1; /* ✅ 찌그러짐 방지 */
}

.shadow-wrapper > div {
  border-radius: 50%;
  aspect-ratio: 1 / 1; /* ✅ 그림자 원형 유지 */
  transform-origin: center center;
}