:root {
  --ink: #17242b;
  --muted: #5d7074;
  --line: #d9e4e2;
  --blue: #087e91;
  --coral: #ee6048;
  --gold: #de9b2b;
  --paper: #fff;
  --lime: #eaff80;
  --pink: #e667a5;
  --cyan: #59d8e2;
  color: var(--ink);
  background: #f2f6f5;
}

body { background: #f2f6f5; }
.shell { width: min(1280px, calc(100% - 48px)); }
.site-header { background: #16232b; color: #fff; border-bottom: 4px solid #f46a4e; }
.header-inner { min-height: 76px; }
.brand { gap: 13px; font-size: 21px; }
.brand-mark { width: 43px; height: 43px; background: #f46a4e; box-shadow: 4px 4px 0 #eaff80; transform: rotate(-6deg); }
.site-header nav a { color: #d4e0df; border-bottom: 3px solid transparent; transition: color .18s, border-color .18s, background-color .18s; }
.site-header nav a:hover { color: #fff; background: #ffffff1c; }
.site-header nav a.active { color: #eaff80; border-bottom-color: #eaff80; }
.site-header a:focus-visible { outline-color: #eaff80; }

.page-heading, .explore-heading {
  position: relative;
  min-height: 252px;
  background-color: #17232b;
  background-image: linear-gradient(105deg, #14232bed 3%, #263046b3 48%, #ed5d4766), var(--hero-image);
  background-position: center 54%;
  border-bottom: 7px solid #eaff80;
}
.page-heading { margin-top: 25px; margin-bottom: 26px; padding: 36px 43px; }
.calendar-context { order: 0; display: flex; align-items: baseline; gap: 20px; margin: 24px 0 20px; padding: 13px 17px; border-left: 4px solid #25a796; background: #e4f5f1; color: #294b4b; }
.calendar-context strong { flex: none; color: #126c68; font-size: 13px; }
.calendar-context p { margin: 0; font-size: 12px; line-height: 1.7; }
@media (max-width: 650px) { .calendar-context { display: block; margin: 12px 0 17px; padding: 12px 14px; } .calendar-context strong { display: block; margin-bottom: 3px; } }
.page-heading::before, .explore-heading::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(115deg, transparent 0 23px, #ffffff0c 23px 24px);
  pointer-events: none;
}
.page-heading::after, .explore-heading::after {
  content: attr(data-hero-number);
  position: absolute;
  right: 28px;
  top: -17px;
  color: #ffffff26;
  font: 900 190px/1 Georgia, serif;
  pointer-events: none;
}
.page-heading > *, .explore-heading > * { position: relative; z-index: 1; }
.page-heading h1 { max-width: 650px; font-size: 45px; line-height: 1.2; }
.explore-heading h1 { max-width: 720px; font-size: 43px; }
.page-heading .eyebrow, .explore-heading .eyebrow { color: var(--lime); font-size: 12px; }
.page-heading .subtitle { color: #fff; font-size: 16px; }
.today-link { min-height: 43px; padding: 0 18px; background: var(--lime); border: 0; color: #17242b; font-weight: 800; box-shadow: 4px 4px 0 #ef604a; transition: transform .18s, box-shadow .18s; }
.today-link:hover { background: #fff; color: #17242b; transform: translate(-2px, -2px); box-shadow: 6px 6px 0 #ef604a; }
.page-heading h1, .page-heading .subtitle, .explore-heading h1 { animation: vivid-enter .5s cubic-bezier(.2,.8,.2,1) both; }
.page-heading .subtitle { animation-delay: .08s; }
.page-heading::after, .explore-heading::after { animation: month-stamp .55s cubic-bezier(.2,.8,.2,1) both; }

.workspace { grid-template-areas: "calendar summary" "calendar details"; grid-template-rows: auto 1fr; gap: 16px 22px; }
.workspace .calendar-panel { grid-area: calendar; }
.workspace .date-summary { grid-area: summary; }
.workspace .details { grid-area: details; }
@media (max-width: 1050px) { .workspace { grid-template-areas: "summary" "calendar" "details"; grid-template-columns: minmax(0,1fr); grid-template-rows: auto; } }
.calendar-panel { border: 2px solid #17242b; box-shadow: 7px 7px 0 #b4e6e6; }
.calendar-toolbar { justify-content: space-between; gap: 12px; min-height: 79px; padding: 12px 18px; background: var(--lime); border-bottom: 2px solid #17242b; }
.calendar-period { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.calendar-period span { font-size: 10px; font-weight: 800; color: #466844; }
.calendar-period strong { color: #17242b; font-size: 21px; line-height: 1.15; white-space: nowrap; }
.calendar-controls { display: flex; align-items: center; gap: 8px; min-width: 0; }
.nav-arrow { flex: none; width: 39px; height: 39px; background: #fff; border: 2px solid #17242b; color: #17242b; font-size: 26px; font-weight: 700; transition: transform .16s, background-color .16s; }
.calendar-toolbar span.nav-arrow { opacity: .38; }
.nav-arrow:hover { background: var(--cyan); transform: translateY(-2px); }
.date-form label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.date-form input { width: 177px; min-width: 0; height: 39px; border: 2px solid #17242b; background: #fff; color: #17242b; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
@media (max-width: 650px) { .calendar-toolbar { flex-wrap: wrap; min-height: 0; gap: 10px; padding: 12px; } .calendar-period { flex-direction: row; align-items: baseline; gap: 8px; width: 100%; } .calendar-period strong { font-size: 18px; } .calendar-controls { width: 100%; } .calendar-controls .date-form { flex: 1; min-width: 0; } .calendar-controls .date-form input { width: 100%; min-width: 0; } .calendar-controls .nav-arrow { width: 36px; height: 36px; } }
.weekday-row { background: #17242b; color: #eaff80; font-weight: 700; }
.calendar-grid { border-color: #d6e2df; }
.day { background: #fff; transition: background-color .16s, color .16s, box-shadow .16s; }
.calendar-grid .day { position: relative; }
.day-holiday, .legend-holiday { display: grid; place-items: center; width: 17px; height: 17px; border-radius: 3px; color: #fff; font-size: 11px; font-weight: 900; line-height: 1; font-style: normal; }
.day-holiday { position: absolute; top: 5px; left: 5px; z-index: 1; }
.day-holiday.off, .legend-holiday.off { background: #269d66; }
.day-holiday.work, .legend-holiday.work { background: #e8674f; }
.calendar-foot { flex-wrap: wrap; }
.calendar-preview { position: fixed; z-index: 50; width: min(340px, calc(100vw - 16px)); padding: 13px 15px; border: 2px solid #17242b; border-top: 5px solid #59d8e2; background: #fff; box-shadow: 7px 7px 0 #17242b33; color: #26393d; pointer-events: none; }
.calendar-preview[hidden] { display: none; }
.calendar-preview-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 7px; }
.calendar-preview-heading strong { font-size: 15px; line-height: 1.3; }
.calendar-preview-heading b { display: grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 3px; background: #269d66; color: #fff; font-size: 13px; }
.calendar-preview-heading b.work { background: #e8674f; }
.calendar-preview-line { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 8px; padding: 6px 0; border-top: 1px solid #e3ecea; font-size: 12px; line-height: 1.5; }
.calendar-preview-line strong { color: #687d80; }
.calendar-preview-line.yi strong { color: #16805b; }
.calendar-preview-line.ji strong { color: #d65b4a; }
.calendar-preview-line span { overflow-wrap: anywhere; }
@media (max-width: 650px) { .calendar-grid .day.has-holiday { min-height: 55px; padding-top: 9px; } .day-holiday { top: 3px; left: 3px; width: 14px; height: 14px; font-size: 9px; } .calendar-foot { gap: 8px 13px; } }
.day:hover { background: #eaffd5; box-shadow: inset 0 0 0 2px #91c88b; }
.day.outside { background: #f4f8f7; }
.day.today:not(.selected) { box-shadow: inset 0 0 0 2px #ef654e; }
.day.today:not(.selected) .day-number { color: #df553e; text-decoration: none; }
.day.selected, .day.selected:hover { background: #ee6048; color: #fff; box-shadow: inset 0 0 0 3px #17242b; }
.day.selected { view-transition-name: selected-calendar-day; }
.day.selected .day-label { color: #fff; }
.day-label.special { color: #c64762; }
.calendar-foot { background: #fff; font-weight: 600; }
.today-dot { background: #ee6048; }
.selected-dot { background: #17242b; }
.mobile-date-strip { background: #d8f8ee; }
.mobile-date-strip strong { color: #174c4a; }
.mobile-date-strip b { display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: 7px; color: #fff; font-size: 11px; }
.mobile-good { background: #249966; }
.mobile-bad { background: #e75e4c; }

.date-summary { display: block; min-width: 0; padding: 0; background: #18303b; border-top: 6px solid #59d8e2; border-bottom: 5px solid #eaff80; }
.summary-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 21px 0; color: #91cdd1; font-size: 11px; font-weight: 800; }
.summary-topline a { color: #eaff80; font-size: 12px; }
.summary-topline a:hover { color: #fff; }
.summary-main { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); gap: 18px; align-items: end; padding: 15px 21px 23px; }
.date-summary .summary-date { display: flex; flex-direction: column; align-items: start; gap: 5px; min-width: 0; }
.date-summary .summary-date span, .date-summary .summary-lunar span { color: #91cdd1; font-size: 11px; font-weight: 700; }
.date-summary .summary-date h1 { margin: 0; color: #eaff80; font-size: 28px; line-height: 1.2; font-weight: 800; white-space: nowrap; }
.date-summary .summary-date b { color: #f0f7f5; font-size: 13px; }
.date-summary .summary-lunar { min-width: 0; gap: 5px; }
.date-summary .summary-lunar strong { color: #fff; font-size: 23px; line-height: 1.2; }
.date-summary .summary-lunar small { max-width: none; color: #bcd8d8; }
@media (max-width: 650px) { .date-summary .summary-date h1 { font-size: 25px; } }
@media (max-width: 430px) { .summary-main { grid-template-columns: 1fr; gap: 15px; padding-bottom: 19px; } .date-summary .summary-lunar { padding-top: 12px; border-top: 1px solid #ffffff2b; text-align: left; } }
.summary-date > strong { color: #eaff80; font-weight: 700; }
.summary-date span, .summary-lunar span { color: #90dce0; }
.summary-lunar strong { color: #fff; }
.yi-ji { border: 0; }
.yi-ji .yi { background: #e8f9ee; }
.yi-ji .ji { background: #fff0ef; }
.yi-ji > div + div { border-top: 2px solid #fff; }
.badge { background: #33ab71; color: #fff; }
.ji .badge { background: #ec624c; color: #fff; }
.info-section { border: 0; border-top: 5px solid #e667a5; }
.info-section h2 { font-size: 20px; }
.day-navigation a { color: #087e91; }
.day-navigation a:hover { color: #ec604a; }

.good-days-section { background: #dff8f1; border-left: 0; border-top: 6px solid #17242b; padding: 25px 28px 19px; }
.section-heading h2 { color: #17242b; font-size: 25px; }
.section-heading .eyebrow { color: #e05c4b; }
.good-tabs { position: relative; border-bottom: 2px solid #98d2c5; gap: 4px; }
.good-tab-indicator { position: absolute; top: 0; bottom: 2px; left: 0; width: 0; background: #d8f46d; opacity: 0; pointer-events: none; transition: transform .28s cubic-bezier(.2,.8,.2,1), width .28s cubic-bezier(.2,.8,.2,1); }
.good-tabs.has-indicator .good-tab-indicator { opacity: 1; }
.good-tabs:not(.is-ready) .good-tab-indicator { transition: none; }
.good-tabs.has-indicator button { position: relative; z-index: 1; }
.good-tabs.has-indicator button[aria-selected=true], .good-tabs.has-indicator button[aria-selected=true] span { background: transparent; color: #17242b; }
.good-tabs:not(.is-at-end) { mask-image: linear-gradient(to right, #000 0%, #000 calc(100% - 24px), transparent 100%); }
.good-tabs { scrollbar-width: none; }
.good-tabs::-webkit-scrollbar { display: none; }
.good-tabs button { color: #285855; border-bottom: 0; transition: background-color .18s, color .18s, transform .18s; }
.good-tabs button:hover { background: #bceade; transform: translateY(-2px); }
.good-tabs button[aria-selected=true] { color: #eaff80; background: #17242b; border-bottom-color: transparent; }
.good-tabs button[aria-selected=true] span { color: #fff; opacity: 1; }
.good-results { gap: 6px; padding: 13px 0; }
.good-results a { min-width: 165px; background: #fff; border: 0; border-bottom: 3px solid #f46a4e; transition: transform .18s, background-color .18s; }
.good-results a:hover { background: #fff3ed; transform: translateY(-3px); }
.good-results a > strong { color: #e55d48; }
.good-note { color: #54746c; }

.quick-links { gap: 8px; background: transparent; border: 0; }
.quick-links a { min-height: 115px; border: 0; background: #ffd9cd; transition: transform .18s, box-shadow .18s; }
.quick-links a:nth-child(2) { background: #c5f1f4; }
.quick-links a:nth-child(3) { background: #f2def0; }
.quick-links a:nth-child(4) { background: #eaffad; }
.quick-links a:hover { background: #fff; transform: translateY(-4px); box-shadow: 0 7px 0 #17242b; }
.quick-links a span { color: #a13d39; }
.quick-links a:nth-child(2) span { color: #006f81; }
.quick-links a:nth-child(3) span { color: #9b3d82; }
.quick-links a:nth-child(4) span { color: #407533; }
.quick-links strong { font-size: 19px; }
.quick-links small { color: #4c6267; }

.more-section { margin-top: 42px; }
.almanac-grid { gap: 2px; background: #cae3df; border-top: 6px solid #26a6ad; }
.almanac-grid > div { background: #fff; border: 0; }
.almanac-grid span { color: #087e91; font-weight: 700; }
.almanac-grid strong { color: #17242b; }
.hour-card { border: 1px solid #d9e4e2; border-left: 4px solid var(--hour-accent); }
.hour-card:hover { box-shadow: 5px 5px 0 color-mix(in srgb, var(--hour-accent) 30%, transparent); }
.hour-card.is-selected { box-shadow: 0 0 0 2px var(--hour-accent), 7px 7px 0 color-mix(in srgb, var(--hour-accent) 40%, transparent); }
.hour-head { background: #f1f8f7; }
.hour-rail { position: sticky; top: 0; z-index: 8; margin: 14px 0 16px; overflow-x: auto; background: #152730; border-bottom: 4px solid #eaff80; scrollbar-color: #70bcc1 #152730; scrollbar-width: thin; }
.hour-rail-track { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); min-width: 900px; }
.hour-rail-indicator { position: absolute; top: 0; bottom: 0; left: 0; width: var(--rail-width, 75px); transform: translateX(var(--rail-x, 0px)); background: var(--rail-accent, #eaff80); box-shadow: inset 0 -4px 0 #ffffff80, 0 0 20px color-mix(in srgb, var(--rail-accent, #eaff80) 45%, transparent); opacity: 0; pointer-events: none; transition: transform .34s cubic-bezier(.2,.8,.2,1), width .34s cubic-bezier(.2,.8,.2,1), background-color .34s; }
.hour-rail-track.has-selection .hour-rail-indicator { opacity: 1; }
.hour-rail-track:not(.is-ready) .hour-rail-indicator { transition: none; }
.hour-tick { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 67px; padding: 7px 4px; border: 0; border-right: 1px solid #ffffff21; background: transparent; color: #c9d9da; transition: color .2s, background-color .2s; }
.hour-tick strong { font-size: 18px; line-height: 1.2; }
.hour-tick small { font-size: 11px; opacity: .8; }
.hour-tick[aria-pressed=true] { color: #11232b; }
.hour-tick:hover:not([aria-pressed=true]) { background: #2a4852; color: #fff; }
.hour-tick:focus-visible { outline: 3px solid #eaff80; outline-offset: -3px; }
.culture-links a { background: #19323e; color: #fff; }
.culture-links a:nth-child(2) { background: #b84d83; }
.culture-links a:hover, .culture-links a:nth-child(2):hover { background: #267986; }
.culture-links a span, .culture-links a small { color: #cbf3e6; }
.site-footer { background: #16232b; border: 0; color: #bed2d0; }

.explore-heading { min-height: 248px; padding: 36px 43px; }
.explore-heading::after { font-size: 156px; top: 13px; }
.filter-bar { border-bottom: 4px solid #17242b; }
.year-switch strong { color: #17242b; font-size: 28px; }
.year-switch a { color: #0c7f91; }
.inline-form input, .inline-form select { border: 2px solid #17242b; }
.inline-form button { background: #e95f49; color: #fff; border: 2px solid #17242b; box-shadow: 3px 3px 0 #17242b; }
.inline-form button:hover { background: #c94d40; }
.listing-grid { border-top: 0; gap: 0 15px; }
.listing-item { border-bottom: 1px solid #d4e2df; }
.listing-item:hover { background: #e3f9f4; }
.listing-date strong { color: #e95f49; font-weight: 700; }
.listing-arrow { color: #e95f49; font-size: 21px; }
.section-solar-terms .listing-date strong { color: #087f93; }
.section-festivals .listing-date strong { color: #b74b86; }
.section-holidays .listing-date strong { color: #558326; }
.section-solar-terms .listing-item:nth-child(n) { border-top: 0; }
.section-history .explore-heading, .section-auspicious .explore-heading { border-bottom-color: #ff9c72; }
.section-festivals .explore-heading { border-bottom-color: #f1a7d2; }
.section-holidays .explore-heading { border-bottom-color: #eaff80; }
.history-list { border-top: 0; }
.history-item { background: #fff; border-bottom: 1px solid #d4e2df; }
.history-item:nth-child(even) { background: #f3faf8; }
.history-notice { display: grid; grid-template-columns: 170px minmax(0,1fr); align-items: center; gap: 18px; margin: 16px 0 24px; padding: 19px 22px; border-left: 5px solid #e95f49; background: #fff0e9; color: #533b3a; }
.history-notice strong { display: flex; align-items: center; gap: 9px; font-size: 16px; color: #983c34; }
.history-notice strong span { display: grid; place-items: center; flex: none; width: 24px; height: 24px; border-radius: 50%; background: #d95743; color: #fff; font-size: 16px; font-weight: 900; }
.history-notice p { margin: 0; font-size: 13px; line-height: 1.7; }
@media (max-width: 650px) { .history-notice { grid-template-columns: 1fr; gap: 8px; padding: 16px; } }
.history-year { color: #e95f49; font-weight: 700; }
.pagination a { color: #0c7f91; }

@keyframes vivid-enter {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes month-stamp {
  from { opacity: 0; transform: translateX(24px); }
  to { opacity: 1; transform: translateX(0); }
}
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: none; opacity: 0; }
::view-transition-new(root) { animation: none; }
::view-transition-old(selected-calendar-day), ::view-transition-new(selected-calendar-day) { animation-duration: .36s; }

@media (max-width: 1050px) {
  .site-header nav { mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 24px), transparent 100%); }
}

@media (max-width: 650px) {
  .shell { width: calc(100% - 24px); }
  .site-header { border-bottom-width: 3px; }
  .brand { font-size: 19px; }
  .brand-mark { width: 39px; height: 39px; }
  .header-inner { padding: 8px 0 6px; }
  .site-header nav { margin-top: 5px; }
  .site-header nav a { padding: 8px 9px; }
  .page-heading, .explore-heading { min-height: 174px; margin-top: 12px; margin-bottom: 18px; padding: 20px 18px; }
  .page-heading::after, .explore-heading::after { top: 4px; right: 10px; font-size: 110px; }
  .page-heading h1, .explore-heading h1 { font-size: 29px; }
  .page-heading .subtitle { max-width: 250px; font-size: 13px; }
  .today-link { min-height: 36px; padding: 0 10px; font-size: 11px; box-shadow: 3px 3px 0 #ef604a; }
  .calendar-panel { box-shadow: 4px 4px 0 #b4e6e6; }
  .calendar-toolbar { gap: 7px; }
  .nav-arrow { width: 34px; height: 34px; }
  .date-form input { width: 167px; min-width: 167px; }
  .mobile-date-strip { gap: 3px; padding: 8px 13px; }
  .mobile-date-strip strong { font-size: 13px; }
  .mobile-date-strip span { font-size: 12px; }
  .day { min-height: 47px; }
  .day.selected, .day.selected:hover { box-shadow: inset 0 0 0 2px #17242b; }
  .date-summary { border-top-width: 5px; }
  .good-days-section { padding: 18px 14px; }
  .section-heading h2 { font-size: 20px; }
  .good-tabs button { padding: 9px 11px; }
  .quick-links { gap: 6px; }
  .quick-links a { min-height: 98px; border: 0; }
  .quick-links strong { font-size: 16px; }
  .almanac-grid { gap: 1px; }
  .culture-links a { min-height: 112px; }
  .explore-heading { margin-bottom: 0; }
  .history-item { gap: 13px; }
  .hour-head { padding: 10px 13px; }
  .hour-range { padding: 7px 13px; }
  .hour-facts { padding: 0 13px 3px; }
  .hour-facts > div { padding: 7px 0; }
  .hour-facts dd { line-height: 1.5; }
  .hour-rail-track { min-width: 780px; }
  .hour-tick { min-height: 63px; }
}

@media (prefers-reduced-motion: reduce) {
  .page-heading h1, .page-heading .subtitle, .explore-heading h1 { animation: none; }
  .page-heading::after, .explore-heading::after { animation: none; }
  .good-tab-indicator, .hour-rail-indicator { transition: none; }
  ::view-transition-old(root), ::view-transition-new(root), ::view-transition-old(selected-calendar-day), ::view-transition-new(selected-calendar-day) { animation-duration: .01ms; }
}
/* Unsupported dates remain visible for calendar context. */
.calendar-grid .day.unavailable{opacity:.38;cursor:default;pointer-events:none}
.explore-intro{max-width:850px;margin:16px 0 8px;color:#51676b;line-height:1.75;font-size:14px}
.data-note a{text-decoration:underline;text-underline-offset:3px}

.live-time{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 18px;background:#172a32;color:#e9f7f3;border-bottom:1px solid #45616a;font-variant-numeric:tabular-nums}
.live-time-caption{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;color:#bce1df;white-space:nowrap}
.live-time-caption i{width:7px;height:7px;border-radius:50%;background:#eaff80;box-shadow:0 0 0 4px #eaff8026,0 0 14px #eaff80}
.live-time time{font:700 22px/1.2 "Segoe UI",sans-serif;letter-spacing:0;color:#fff;white-space:nowrap}
.live-time-hour{padding:5px 9px;border:1px solid #71959b;color:#eaff80;font-size:12px;font-weight:700;white-space:nowrap}
.almanac-detail{padding:0!important;border:1px solid #d4e2df!important;background:#fff;overflow:hidden}
.almanac-detail-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:20px 21px 15px}
.almanac-detail-heading span{font-size:11px;font-weight:800;color:#b65077}
.almanac-detail-heading h2{margin:3px 0 0;font-size:23px;line-height:1.25}
.almanac-detail-date{font:700 26px/1 Georgia,serif;color:#becfcb}
.almanac-verdict{display:flex;align-items:center;justify-content:space-between;min-height:100px;padding:15px 22px;background:#14353a;color:#fff;border-left:6px solid #eaff80}
.almanac-verdict.is-bad{border-left-color:#f57581;background:#3a2937}
.almanac-verdict div{display:flex;flex-direction:column;gap:4px}
.almanac-verdict span{font-size:12px;color:#b5d7d2}
.almanac-verdict strong{font-size:31px;line-height:1.2}
.almanac-verdict em{display:grid;place-items:center;width:53px;height:53px;border:2px solid #eaff80;border-radius:50%;color:#eaff80;font-style:normal;font-size:22px;font-weight:800}
.almanac-verdict.is-bad em{border-color:#ff9fa6;color:#ffb4ba}
.almanac-primary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);margin:0;border-bottom:1px solid #dce8e5}
.almanac-primary>div{padding:18px 20px;min-width:0}
.almanac-primary>div+div{border-left:1px solid #dce8e5}
.almanac-primary dt,.almanac-directions p,.almanac-more dt{color:#668082;font-size:12px;font-weight:700}
.almanac-primary dd{margin:7px 0 0;font-size:16px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.almanac-primary dd span{color:#df6981}
.almanac-directions{padding:17px 20px 19px;background:#f0faf7}
.almanac-directions p{margin:0 0 12px}
.almanac-directions dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.almanac-directions dl>div{min-width:0;border-top:3px solid #53cbbf;padding-top:8px}
.almanac-directions dl>div:nth-child(2){border-color:#e667a5}
.almanac-directions dl>div:nth-child(3){border-color:#e2a84f}
.almanac-directions dt{font-size:11px;color:#668082}
.almanac-directions dd{margin:3px 0 0;font-size:17px;font-weight:800;overflow-wrap:anywhere}
.almanac-more{border-top:1px solid #dce8e5}
.almanac-more summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:13px 20px;color:#285c60;font-size:13px;font-weight:700}
.almanac-more summary::-webkit-details-marker{display:none}
.almanac-more summary span{font-size:20px;line-height:16px;transition:transform .2s}
.almanac-more[open] summary span{transform:rotate(45deg)}
.almanac-more dl{margin:0;padding:0 20px 16px}
.almanac-more dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;padding:9px 0;border-top:1px solid #e2ebe9}
.almanac-more dd{margin:0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:650px){.live-time{min-height:43px;padding:7px 12px}.live-time-caption{font-size:11px}.live-time time{font-size:18px}.live-time-hour{font-size:11px;padding:4px 6px}.almanac-detail-heading{padding:17px 16px 12px}.almanac-verdict{min-height:88px;padding:13px 16px}.almanac-primary>div{padding:14px 15px}.almanac-primary dd{font-size:14px}.almanac-directions{padding:15px 16px}.almanac-directions dl{gap:8px}.almanac-directions dd{font-size:14px}.almanac-more summary{padding:12px 16px}}
@media(max-width:360px){.live-time{flex-wrap:wrap}.live-time-caption{width:100%}}
@media(prefers-reduced-motion:reduce){.almanac-more summary span{transition:none}}
[hidden]{display:none!important}
.month-rail{display:flex;align-items:center;gap:5px;overflow-x:auto;margin:8px 0 21px;padding:10px;background:#19323a;color:#fff;scrollbar-width:thin}
.month-rail>span{flex:none;padding:0 10px;font-size:12px;color:#b7d9d7;font-weight:700}
.month-rail a{flex:1;display:grid;place-items:center;min-width:44px;min-height:36px;font-size:13px;font-weight:700;transition:background .18s,color .18s}
.month-rail a:hover{background:#315964}
.month-rail a[aria-current=page]{background:#ff9c72;color:#17242b}
.explore-filter{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:9px 0 20px;padding:15px 18px;background:#e7f6f2;border-left:5px solid #59d8e2}
.filter-summary{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.filter-summary strong{font-size:18px;color:#1b353d}
.filter-summary span{font-size:12px;color:#587274}
.filter-options{display:flex;gap:4px;flex-wrap:wrap}
.filter-options button{min-height:35px;padding:5px 12px;border:0;background:#fff;color:#3b6166;font-size:12px;font-weight:700;transition:background .18s,color .18s,transform .18s}
.filter-options button:hover{transform:translateY(-2px)}
.filter-options button[aria-pressed=true]{background:#18333e;color:#eaff80}
.festival-filter{background:#f9eaf3;border-left-color:#e667a5}
.festival-filter label{display:flex;align-items:center;gap:10px;color:#6b4561;font-size:12px;font-weight:700}
.festival-filter select{height:36px;min-width:130px;padding:0 9px;border:1px solid #bc86a5;background:#fff;color:#4b3047}
.holiday-filter{background:#edf7dc;border-left-color:#87b34e}
.history-filter{background:#fff0e9;border-left-color:#f18b69}
.season-filter .filter-options button:nth-child(2)[aria-pressed=true]{background:#519a6e;color:#fff}
.season-filter .filter-options button:nth-child(3)[aria-pressed=true]{background:#d87d45;color:#fff}
.season-filter .filter-options button:nth-child(4)[aria-pressed=true]{background:#b65671;color:#fff}
.season-filter .filter-options button:nth-child(5)[aria-pressed=true]{background:#467c9c;color:#fff}
.section-solar-terms .listing-item{border-left:3px solid #7acfd3}
.section-festivals .listing-item{border-left:3px solid #e8a4c9}
.section-festivals .explore-heading{background-position:center 43%}
.festival-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.festival-card{min-width:0;display:flex;flex-direction:column;padding:23px 25px 18px;background:#fff;border-top:4px solid #e8769a;box-shadow:0 2px 12px #263a4010;transition:transform .22s ease,box-shadow .22s ease}
.festival-card:nth-child(3n+2){border-top-color:#36b7aa}.festival-card:nth-child(3n){border-top-color:#e9a149}
.festival-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #263a401c}
.festival-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.festival-kind{font-size:11px;font-weight:800;color:#a34c70}
.festival-card:nth-child(3n+2) .festival-kind{color:#167f78}.festival-card:nth-child(3n) .festival-kind{color:#a66c20}
.festival-card time{font-size:28px;font-weight:900;line-height:1;color:#202e36;font-variant-numeric:tabular-nums}
.festival-card h2{margin:8px 0 5px;font-size:26px;line-height:1.3;color:#1c3037}
.festival-card h2 a:hover{color:#c3527a}
.festival-story{margin:0 0 18px;color:#61767b;font-size:14px;line-height:1.6}
.festival-calendar{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding:12px 0;border-top:1px solid #e2e9e6;border-bottom:1px solid #e2e9e6;font-size:12px;color:#536c72}
.festival-calendar strong{color:#a14b70;font-weight:700}
.festival-actions{display:grid;gap:6px;padding:13px 0 15px}
.festival-actions p{display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:start;margin:0;font-size:13px;line-height:1.6;color:#354d51}
.festival-actions b{display:grid;place-items:center;width:21px;height:21px;background:#dff5e9;color:#20845c;font-size:11px}
.festival-actions p+p b{background:#ffebe8;color:#c45b50}
.festival-day-link{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:13px;border-top:1px solid #e2e9e6;color:#137b7b;font-size:13px;font-weight:800}
.festival-day-link:hover{color:#c3527a}.festival-day-link span{font-size:20px;line-height:1}
@media(max-width:720px){.festival-grid{grid-template-columns:1fr;gap:10px}.festival-card{padding:19px 18px 15px}.festival-card time{font-size:25px}.festival-card h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.festival-card{transition:none}}
.section-holidays .listing-item[data-group=work]{background:#fff5ee;border-left:4px solid #ed8b5b}
.section-holidays .listing-item[data-group=off]{border-left:4px solid #8ebd59}
.section-holidays .explore-heading{background-position:center 58%}
.holiday-board{display:grid;gap:24px;margin:14px 0 30px}
.holiday-group{min-width:0;background:#fff;border-top:5px solid #8bc151;box-shadow:0 5px 22px #263a4010}
.holiday-group:nth-child(3n+2){border-top-color:#52c4bc}.holiday-group:nth-child(3n){border-top-color:#e8aa54}
.holiday-group:not(:has(.holiday-day:not([hidden]))){display:none}
.holiday-group-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 27px 20px;background:#f2f8ec}
.holiday-group:nth-child(3n+2) .holiday-group-head{background:#eaf7f5}.holiday-group:nth-child(3n) .holiday-group-head{background:#fcf5e9}
.holiday-group-kicker{font-size:10px;font-weight:900;color:#628259}
.holiday-group-head h2{margin:5px 0 6px;font-size:28px;line-height:1.25;color:#22373a}
.holiday-group-head p{margin:0;color:#526b69;font-size:14px;line-height:1.5}
.holiday-total{display:flex;align-items:baseline;gap:5px;flex:none;color:#247b62}
.holiday-total b{font-size:44px;line-height:1;font-variant-numeric:tabular-nums}.holiday-total span{font-size:12px}
.holiday-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:20px 26px}
.holiday-day{display:grid;grid-template-columns:1fr;gap:9px;min-width:0;min-height:94px;padding:10px 11px;background:#ebf7eb;border-bottom:3px solid #83c48b;transition:transform .18s,background-color .18s}
.holiday-day:hover{transform:translateY(-3px);background:#dcf2dc}.holiday-day.is-work{background:#fff0e8;border-bottom-color:#ee9a73}.holiday-day.is-work:hover{background:#ffe4d7}
.holiday-day[hidden]{display:none}
.holiday-day-date{display:flex;align-items:baseline;gap:4px;color:#204c48}.holiday-day-date b{font-size:27px;line-height:1;font-variant-numeric:tabular-nums}.holiday-day-date small{font-size:11px}
.holiday-day-meta{display:flex;justify-content:space-between;gap:4px;flex-wrap:wrap;align-items:baseline}.holiday-day-meta strong{font-size:12px;color:#257b58}.holiday-day.is-work .holiday-day-meta strong{color:#ba5c40}.holiday-day-meta small{font-size:11px;color:#617777}
.holiday-work-note{margin:0;padding:13px 26px 17px;border-top:1px solid #e4ece7;color:#637478;font-size:12px;line-height:1.8}.holiday-work-note b{margin-right:8px;color:#ad5a3f}.holiday-work-note a{color:#304a4c;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.holiday-days{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:720px){.holiday-board{gap:15px}.holiday-group-head{padding:17px 18px}.holiday-group-head h2{font-size:23px}.holiday-total b{font-size:34px}.holiday-days{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:14px}.holiday-day{min-height:81px;padding:8px}.holiday-day-date b{font-size:24px}.holiday-work-note{padding:12px 16px}}
@media(max-width:390px){.holiday-days{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-total{flex-direction:column;align-items:center;gap:0}}
@media(prefers-reduced-motion:reduce){.holiday-day{transition:none}}
.section-history .history-list{border-left:4px solid #f28a67}
.filter-empty{margin:12px 0;padding:24px;background:#fff;color:#61777a;text-align:center;font-size:14px}
@media(max-width:650px){.month-rail{margin-top:12px}.month-rail a{flex:none}.explore-filter{align-items:flex-start;padding:14px 12px;margin-top:12px}.filter-summary{width:100%}.filter-options{width:100%}.filter-options button{flex:1}.festival-filter label{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.filter-options button,.month-rail a{transition:none}}

.month-actions{order:4;margin-top:38px;padding:25px 27px;background:#fff;border-top:6px solid #17242b}
.month-actions .section-heading{margin-bottom:18px}
.month-actions .section-heading>p{font-size:12px;color:#6e8384}
.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.action-item{min-width:0;padding:15px 16px 13px;background:#f3f9f7;border-left:4px solid #59cfc7}
.action-item:nth-child(4n+2){border-left-color:#e6769f;background:#fcf3f7}
.action-item:nth-child(4n+3){border-left-color:#ed9a55;background:#fff7ec}
.action-item:nth-child(4n){border-left-color:#a5bd56;background:#f7faed}
.action-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}
.action-title h3{margin:0;font-size:19px;line-height:1.3}
.action-title span{color:#657a7b;font-size:11px;white-space:nowrap}
.action-row{display:grid;grid-template-columns:25px minmax(0,1fr);gap:9px;align-items:start;padding:7px 0;border-top:1px solid #dce7e3}
.action-row>b{display:grid;place-items:center;width:22px;height:22px;background:#2daa75;color:#fff;font-size:12px}
.action-row.ji>b{background:#eb6859}
.action-row>div{display:flex;flex-wrap:wrap;gap:5px;min-height:25px}
.action-row a{display:grid;place-items:center;min-width:25px;height:25px;padding:0 3px;background:#fff;color:#276d60;font-size:12px;font-weight:700;transition:transform .16s,background-color .16s}
.action-row.ji a{color:#b85358}
.action-row a:hover{transform:translateY(-2px);background:#eaff80}
.action-none{font-size:12px;color:#819291;line-height:25px}
.month-actions .good-note{margin:16px 0 0}
.term-main{padding-bottom:35px}
.term-breadcrumb{display:flex;gap:9px;align-items:center;padding:22px 0 15px;color:#6d8384;font-size:12px}
.term-breadcrumb a{color:#087e91;font-weight:700}
.term-hero{display:flex;justify-content:space-between;align-items:end;gap:30px;min-height:285px;padding:37px 43px;background:#18313a url('/assets/images/forest-light.jpg') center/cover;color:#fff;position:relative;isolation:isolate;overflow:hidden;border-bottom:7px solid #eaff80}
.term-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#142a35ee,#122d3aa3 50%,#1d3d42a3);z-index:-1}
.term-hero .eyebrow{color:#eaff80}
.term-hero h1{font-size:clamp(58px,7vw,94px);line-height:1.1}
.term-hero p:last-child{margin:18px 0 0;color:#e0eeee}
.term-timer{display:flex;flex-direction:column;gap:3px;min-width:230px;padding:17px 19px;background:#eaff80;color:#19313b;box-shadow:6px 6px 0 #ef6852}
.term-timer span{font-size:12px;font-weight:800}
.term-timer strong{font-size:28px}
.term-timer b{font-size:22px;font-variant-numeric:tabular-nums}
.term-period,.term-day,.term-neighbors{margin-top:29px}
.term-period{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:34px;padding:28px 32px;background:#ddf7f0;border-left:7px solid #25b0a3}
.term-period span,.term-section-head span{color:#b84f68;font-size:11px;font-weight:800}
.term-period h2,.term-section-head h2{margin:7px 0 10px;font-size:27px;line-height:1.25}
.term-period p{max-width:680px;margin:0;color:#49686a;font-size:14px;line-height:1.75}
.term-period-line{display:flex;align-items:center;justify-content:space-between;gap:15px;align-self:center}
.term-period-line>div{display:flex;flex-direction:column;gap:6px;flex:none}
.term-period-line small{color:#597778;font-size:11px}
.term-period-line strong{font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}
.term-period-line i{height:3px;flex:1;min-width:20px;background:linear-gradient(90deg,#20a99f,#e77c99)}
.term-section-head{border-bottom:3px solid #17242b;padding-bottom:15px}
.term-section-head p{margin:0;color:#587276;font-size:13px}
.term-day-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}
.term-day-grid>div{min-width:0;padding:18px;background:#e5f6ec;border-top:4px solid #39ad73}
.term-day-grid>div+div{background:#fff0ed;border-color:#e96f60}
.term-tag{display:inline-grid;place-items:center;width:25px;height:25px;background:#2baa70;color:#fff}
.term-tag.ji{background:#e96554}
.term-day-grid p{margin:9px 0 0;font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.term-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:8px 0 0;background:#d7e5e2}
.term-facts>div{padding:15px 18px;background:#fff}
.term-facts dt{font-size:12px;color:#668083}
.term-facts dd{margin:5px 0 0;font-size:15px;font-weight:700}
.term-full-day,.term-all{display:inline-block;margin-top:17px;color:#087e91;font-size:14px;font-weight:800}
.term-neighbor-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:15px}
.term-neighbor-list a{display:flex;flex-direction:column;gap:5px;min-height:92px;padding:14px 15px;background:#fff;border-bottom:4px solid #9bd1d0;transition:transform .18s}
.term-neighbor-list a:hover{transform:translateY(-3px)}
.term-neighbor-list a[aria-current=page]{background:#172f3a;color:#fff;border-color:#eaff80}
.term-neighbor-list span{font-size:12px;color:#789093}
.term-neighbor-list strong{font-size:18px}
.term-neighbor-list em{font-size:11px;font-style:normal;color:#eaff80}
@media(max-width:950px){.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.term-period{grid-template-columns:1fr}.term-neighbor-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.month-actions{padding:19px 14px;margin-top:29px}.month-actions .section-heading{align-items:start}.action-grid{grid-template-columns:1fr;gap:8px}.action-item{padding:13px 14px}.term-breadcrumb{padding:14px 0}.term-hero{min-height:285px;padding:23px 19px;align-items:start;flex-direction:column;gap:18px}.term-hero h1{font-size:64px}.term-timer{min-width:0;width:100%;padding:10px 13px;display:grid;grid-template-columns:1fr auto;align-items:center}.term-timer span{grid-column:1/-1}.term-timer strong{font-size:22px}.term-timer b{font-size:18px}.term-period{padding:20px 17px;gap:20px}.term-period h2,.term-section-head h2{font-size:23px}.term-period-line strong{font-size:15px}.term-day-grid{grid-template-columns:1fr}.term-facts{grid-template-columns:1fr}.term-neighbor-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.action-row a,.term-neighbor-list a{transition:none}}
.occasion-row a{display:inline-flex;align-items:center;padding:7px 10px;background:#ddf8ec;color:#087e73;font-size:12px;font-weight:800}
.occasion-row a:hover{background:#eaff80}

.action-feature{display:grid;gap:5px;margin-top:12px;padding:11px 12px;background:#ffffffc9;border-top:2px solid #cddfd8}
.action-feature>span{color:#63807e;font-size:11px;font-weight:700}
.action-feature>a{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;color:#174953}
.action-feature>a:hover strong{text-decoration:underline;text-underline-offset:3px}
.action-feature strong{font-size:16px;white-space:nowrap}
.action-feature a span{font-size:12px;color:#567578}
.action-feature a b{font-size:12px;color:#087c77}
.action-feature small{font-size:11px;color:#738786}
.action-details{margin-top:10px;border-top:1px solid #d3e2dc}
.action-details summary{display:flex;justify-content:space-between;gap:7px;padding:9px 0 1px;cursor:pointer;list-style:none;color:#145f68;font-size:12px;font-weight:800}
.action-details summary::-webkit-details-marker{display:none}
.action-details summary span{color:#698381;font-weight:600}
.action-detail-list{max-height:295px;overflow:auto;display:grid;gap:3px;margin-top:10px;padding-right:3px}
.action-detail-list a{display:grid;grid-template-columns:20px 53px minmax(0,1fr);gap:4px 7px;align-items:center;padding:6px 7px;background:#fff;color:#23454a}
.action-detail-list a:hover{background:#e6f8ee}
.action-detail-list a.ji:hover{background:#fff0eb}
.action-detail-list b{display:grid;place-items:center;width:20px;height:20px;background:#28a76d;color:#fff;font-size:11px}
.action-detail-list a.ji b{background:#e96a5b}
.action-detail-list strong{font-size:12px}
.action-detail-list span{font-size:11px;color:#577678}
.action-detail-list em{grid-column:2/-1;font-size:11px;font-style:normal;color:#718684}
.term-period-days{margin-top:34px;background:#fff;border:1px solid #cddfdd}
.term-period-days-header{display:flex;align-items:end;justify-content:space-between;gap:22px;padding:26px 30px;background:#19323b;color:#fff;border-bottom:6px solid #eaff80}
.term-period-days-header>div>span{font-size:11px;font-weight:800;color:#eaff80}
.term-period-days-header h2{margin:6px 0 8px;font-size:30px;line-height:1.2}
.term-period-days-header p{margin:0;color:#bcdbda;font-size:13px}
.term-period-stats{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:1px 8px;flex:none}
.term-period-stats strong{font-size:22px;color:#eaff80;text-align:right}
.term-period-stats span{font-size:11px;color:#c3dedc}
.period-day-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:0 24px}
.period-day{display:grid;grid-template-columns:66px minmax(0,1fr);gap:16px;min-width:0;padding:20px 0;border-bottom:1px solid #dce8e5}
.period-day-date{display:flex;flex-direction:column;align-items:center;justify-content:start;padding:7px 3px;background:#e9f1f0;color:#1c4a50;align-self:start;min-height:79px}
.period-day.is-good .period-day-date{background:#dff5e6;color:#236f50}
.period-day-date span{font-size:11px}.period-day-date strong{font-size:29px;line-height:1.05;font-variant-numeric:tabular-nums}.period-day-date small{font-size:10px}
.period-day-main{min-width:0}
.period-day-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.period-day-title h3{margin:0;font-size:17px;line-height:1.4}
.period-day-title h3 a:hover{color:#087e91}
.period-boundary{padding:3px 5px;background:#eaff80;color:#344a2c;font-size:10px;font-weight:800}
.period-luck{margin-left:auto;color:#ac5555;font-size:11px;font-weight:800}
.period-luck.good{color:#228659}
.period-lunar,.period-context{margin:5px 0 0;color:#61797c;font-size:12px;line-height:1.5}
.period-context{color:#a56052}
.period-day-yi-ji{display:grid;gap:5px;margin:11px 0 0}
.period-day-yi-ji>div{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start}
.period-day-yi-ji dt{display:grid;place-items:center;width:19px;height:19px;background:#2ca974;color:#fff;font-size:11px;font-weight:800}
.period-day-yi-ji>div+div dt{background:#e96c5c}
.period-day-yi-ji dd{margin:0;color:#304b4f;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.period-day-note{margin:0;padding:15px 24px;background:#eef6f4;color:#5c7779;font-size:12px;line-height:1.6}
@media(max-width:950px){.period-day-list{grid-template-columns:1fr}.period-day{grid-template-columns:68px minmax(0,1fr)}}
@media(max-width:650px){.term-period-days-header{align-items:start;flex-direction:column;padding:20px 17px;gap:13px}.term-period-days-header h2{font-size:24px}.term-period-stats{grid-template-columns:auto auto auto auto;gap:8px}.term-period-stats strong{font-size:18px}.period-day-list{padding:0 15px}.period-day{gap:11px;padding:16px 0;grid-template-columns:58px minmax(0,1fr)}.period-day-date{min-height:72px}.period-day-date strong{font-size:25px}.period-day-title h3{font-size:15px}.period-luck{margin-left:0}.period-day-note{padding:13px 15px}}

.action-item:has(.action-details[open]){display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;background:#eaf7f3;border-left-width:6px;padding:21px 24px}
.action-item:has(.action-details[open]) .action-title{grid-column:1/-1}
.action-item:has(.action-details[open]) .action-row{grid-column:1}
.action-item:has(.action-details[open]) .action-feature{grid-column:2;grid-row:2/span 2;align-self:start;margin:0}
.action-item:has(.action-details[open]) .action-details{grid-column:1/-1}
.action-item:has(.action-details[open]) .action-title h3{font-size:25px}
.action-item:has(.action-details[open]) .action-feature{max-width:none}
.action-details[open]{margin-top:17px;padding-top:11px;border-top:3px solid #94cec0}
.action-details[open] summary{font-size:16px;color:#123f46}
.action-detail-intro{margin:10px 0;color:#527073;font-size:13px;line-height:1.65}
.action-details[open] .action-detail-list{max-height:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin-top:13px;overflow:visible}
.action-details[open] .action-detail-list a{min-width:0;grid-template-columns:24px minmax(0,1fr);gap:4px 10px;padding:12px;background:#fff;border-bottom:2px solid #d5e5e0}
.action-details[open] .action-detail-list a.ji{border-bottom-color:#f2c3bc}
.action-details[open] .action-detail-list a b{grid-row:1/3;width:24px;height:24px}
.action-details[open] .action-detail-list a strong{font-size:15px}
.action-details[open] .action-detail-list a span,.action-details[open] .action-detail-list a em,.action-details[open] .action-detail-list a small{grid-column:2;font-size:12px;line-height:1.45}
.action-details[open] .action-detail-list a em{font-style:normal;color:#2b6466}
.action-details[open] .action-detail-list a small{color:#8a6660}
@media(max-width:950px){.action-details[open] .action-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.action-item:has(.action-details[open]){display:block;padding:16px 14px}.action-item:has(.action-details[open]) .action-feature{margin-top:12px}.action-details[open] .action-detail-list{grid-template-columns:1fr}.action-details[open] .action-detail-list a{padding:10px}.action-details[open] summary{font-size:14px}}
