.home-almanac { padding: 10px 22px 22px; background: linear-gradient(180deg, #663acc, #9164d1); color: #fff; }
.home-almanac-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; color: #e3d6ff; font-size: 13px; }
.home-calendar-link { padding: 8px 0 8px 12px; border: 0; background: transparent; color: #eee6ff; font: inherit; }
.home-calendar-link span { margin-left: 5px; font-size: 20px; line-height: 1; }
.home-almanac-date { display: flex; align-items: baseline; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.home-almanac-date strong { font-size: 23px; font-weight: 600; }
.home-almanac-date > span { font-size: 15px; }
.home-almanac .home-almanac-lunar,.home-almanac .home-almanac-pillars { margin: 5px 0 0; text-align: right; color: #e4d6fb; font-size: 13px; line-height: 1.7; }
.home-almanac .home-almanac-pillars { margin-bottom: 18px; }
.home-almanac-row { display: flex; align-items: flex-start; gap: 10px; margin-top: 10px; }
.home-almanac-tag { flex: 0 0 28px; border-radius: 5px; padding: 2px 0; text-align: center; line-height: 1.7; font-size: 14px; font-weight: 600; }
.home-almanac-tag.good { background: #238d76; color: #fff; }
.home-almanac-tag.bad { background: #d64c6d; color: #fff; }
.home-almanac-row p { min-width: 0; margin: 0; padding-top: 2px; color: #fff; font-size: 14px; line-height: 1.85; word-spacing: 4px; overflow-wrap: anywhere; }
.home-almanac-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 20px; }
.home-almanac-facts > div { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.home-almanac-facts span { color: #e3d6fb; font-size: 12px; }
.home-almanac-facts strong { color: #fff; font-size: 14px; font-weight: 500; overflow-wrap: anywhere; }
.home-almanac-facts .home-element { color: #ffe391; }
.home-almanac .home-almanac-festival { margin-top: 14px; color: #ffe391; font-size: 12px; line-height: 1.7; }
.home-almanac-directions { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-top: 20px; }
.home-direction { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-width: 0; padding: 12px 5px; border-radius: 10px; background: #ffffff26; }
.home-direction span { color: #f0e6ff; font-size: 12px; }
.home-direction strong { color: #fff; font-size: 15px; font-weight: 500; }
.home-direction.wealth strong { color: #ffe391; }
.home-almanac .home-almanac-error { padding: 12px 0; margin: 0; color: #f0e6ff; font-size: 13px; line-height: 1.8; }
.home-calendar-link:focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-radius: 4px; }
@media (max-width: 480px) {
  .home-almanac { padding: 4px 16px 20px; }
  .home-almanac-heading { margin-bottom: 10px; }
  .home-almanac-date strong { font-size: 21px; }
  .home-almanac-date > span { font-size: 13px; }
  .home-almanac-row p { font-size: 13px; }
  .home-almanac-directions { gap: 7px; }
  .home-direction { padding: 11px 3px; border-radius: 8px; }
  .home-direction strong { font-size: 14px; }
}
.home-almanac-intro { display: flex; align-items: center; gap: 20px; margin-bottom: 18px; }
.home-almanac-date-copy { flex: 1; min-width: 0; }
.home-almanac .home-almanac-intro .home-almanac-pillars { margin-bottom: 0; }
.bagua-emblem { position: relative; flex: 0 0 104px; height: 104px; border: 1px solid #e9ddff55; border-radius: 50%; color: #eee4ff; background: #ffffff05; pointer-events: none; }
.bagua-emblem::before { content: ''; position: absolute; inset: 7px; border: 1px solid #e9ddff26; border-radius: 50%; }
.bagua-taiji { position: absolute; width: 38px; height: 38px; top: 50%; left: 50%; transform: translate(-50%,-50%); border-radius: 50%; background: linear-gradient(90deg,#eee4ff 50%,#633cad 50%); box-shadow: 0 0 0 4px #e9ddff12; }
.bagua-taiji::before,.bagua-taiji::after { content: ''; position: absolute; box-sizing: border-box; left: 25%; width: 50%; height: 50%; border-radius: 50%; }
.bagua-taiji::before { top: 0; border: 7px solid #eee4ff; background: #633cad; }
.bagua-taiji::after { bottom: 0; border: 7px solid #633cad; background: #eee4ff; }
.bagua-trigram { position: absolute; top: 50%; left: 50%; width: 19px; height: 12px; margin: -6px 0 0 -9.5px; transform: rotate(var(--bagua-angle)) translateY(-36px); }
.bagua-line { display: block; height: 2px; margin-bottom: 3px; background: #eee4ffc9; border-radius: 1px; }
.bagua-line.broken { background: linear-gradient(90deg,#eee4ffc9 40%,transparent 40%,transparent 60%,#eee4ffc9 60%); }
.bagua-position-0 { --bagua-angle: 0deg; }
.bagua-position-1 { --bagua-angle: 45deg; }
.bagua-position-2 { --bagua-angle: 90deg; }
.bagua-position-3 { --bagua-angle: 135deg; }
.bagua-position-4 { --bagua-angle: 180deg; }
.bagua-position-5 { --bagua-angle: 225deg; }
.bagua-position-6 { --bagua-angle: 270deg; }
.bagua-position-7 { --bagua-angle: 315deg; }
@media(max-width:480px) {
  .home-almanac-intro { gap: 12px; }
  .bagua-emblem { flex-basis: 84px; height: 84px; }
  .bagua-emblem::before { inset: 5px; }
  .bagua-trigram { width: 16px; margin-left: -8px; transform: rotate(var(--bagua-angle)) translateY(-29px); }
  .bagua-taiji { width: 30px; height: 30px; }
  .bagua-taiji::before,.bagua-taiji::after { border-width: 6px; }
}
