.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.calendar-nav{display:inline-flex;align-items:center;gap:.5rem}.calendar-nav button{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem .8rem;border-radius:.6rem;border:1px solid var(--line-divider);background:transparent;color:inherit;font-size:.85rem;cursor:pointer;transition:background .15s ease}.calendar-nav button:hover{background:var(--btn-regular-bg)}.calendar-month-label{font-size:1.25rem;font-weight:700;min-width:9.5rem;text-align:center}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-weekdays{margin:1rem 0 .5rem;color:var(--content-meta);font-size:.8rem;text-align:center}.calendar-weekdays .is-weekend{color:var(--primary)}.calendar-cell{position:relative;min-height:5.2rem;padding:.4rem .5rem;border:1px solid var(--line-divider);border-radius:.7rem;background:transparent;color:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;transition:border-color .15s ease,background .15s ease}.calendar-cell:hover{border-color:var(--primary)}.calendar-cell.is-out{opacity:.35}.calendar-cell.is-today{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.calendar-cell.is-selected{background:var(--btn-regular-bg);border-color:var(--primary)}.calendar-cell.is-holiday{background:color-mix(in srgb,var(--primary) 6%,transparent)}.calendar-day-num{font-weight:600;font-size:.9rem;line-height:1}.calendar-holiday-name{font-size:.68rem;color:var(--primary);line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.calendar-holiday-name.is-workday{color:var(--content-meta)}.calendar-lunar{font-size:.63rem;color:var(--content-meta);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-lunar.is-fest{color:var(--primary);font-weight:600}.calendar-lunar-meta{color:var(--content-meta);font-size:.82rem;margin:-.3rem 0 .7rem}.calendar-count-head h3{font-size:1rem;font-weight:700}.calendar-count-head p{color:var(--content-meta);font-size:.8rem;margin-top:.25rem}.calendar-countdown{margin-top:.9rem;display:flex;flex-direction:column;gap:.45rem}.cd-row{display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;border:1px solid var(--line-divider);border-radius:.7rem;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.cd-row:hover{border-color:var(--primary);background:var(--btn-regular-bg)}.cd-tag{font-size:.68rem;color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 45%,transparent);padding:.08rem .45rem;border-radius:999px;white-space:nowrap}.cd-name{font-weight:600;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cd-date{color:var(--content-meta);font-size:.8rem;white-space:nowrap}.cd-left{margin-left:auto;color:var(--content-meta);font-size:.82rem;font-variant-numeric:tabular-nums;white-space:nowrap}.calendar-marks{margin-top:auto;display:flex;flex-wrap:wrap;gap:.22rem}.calendar-mark{width:.42rem;height:.42rem;border-radius:999px;background:var(--primary)}.calendar-mark.kind-post{background:var(--primary)}.calendar-mark.kind-record{background:#ec4899}.calendar-mark.kind-seu{background:#0ea5e9}.calendar-mark.kind-anniversary{background:#eab308}.calendar-legend{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.9rem;color:var(--content-meta);font-size:.78rem}.calendar-legend .calendar-mark{display:inline-block;margin-right:.3rem;vertical-align:middle}.calendar-detail{margin-top:1rem}.calendar-detail h3{font-size:1rem;font-weight:700;margin-bottom:.6rem}.calendar-detail-group{margin-bottom:.7rem}.calendar-detail-group .group-name{color:var(--content-meta);font-size:.78rem;margin-bottom:.3rem}.calendar-detail-item{display:block;padding:.45rem .7rem;border:1px solid var(--line-divider);border-radius:.6rem;margin-bottom:.4rem;color:inherit;text-decoration:none;font-size:.9rem;transition:border-color .15s ease,background .15s ease}a.calendar-detail-item:hover{border-color:var(--primary);background:var(--btn-regular-bg)}.calendar-detail-item .item-note{display:block;color:var(--content-meta);font-size:.78rem;margin-top:.15rem}.calendar-empty{color:var(--content-meta);font-size:.88rem;padding:.6rem 0}.calendar-footnote{margin-top:.8rem;color:var(--content-meta);font-size:.75rem;line-height:1.6}@media(max-width:768px){.calendar-cell{min-height:4.3rem;padding:.3rem .35rem}.cd-date,.calendar-holiday-name{display:none}.calendar-month-label{min-width:7.5rem;font-size:1.05rem}}
