.calendar-day.has-study::after{content:none}
.calendar-day[data-calendar-date]{padding:0;outline-offset:2px}
.calendar-day[data-calendar-date]:hover{background:rgba(255,255,255,.8)}
.calendar-day[aria-expanded=true]{background:rgba(255,255,255,.88);box-shadow:inset 0 0 0 1px rgba(182,94,89,.65)}
.calendar-day-markers{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:4px;pointer-events:none}
.calendar-marker{display:inline-block;flex-shrink:0;width:5px;height:5px;border-radius:50%}
.calendar-marker-study{background:#6c9567}
.calendar-marker-countdown{background:#c76461}
.calendar-legend{display:flex;align-items:center;justify-content:center;gap:20px;margin:15px 0 0;color:#73816f;font-size:12px}
.calendar-legend>span{display:inline-flex;align-items:center;gap:6px}
.calendar-hint{margin:12px 0 0;text-align:center;color:#7c8a76;font-size:12px;line-height:1.7}
.calendar-countdowns{margin-top:18px;padding:16px 18px;border:1px solid rgba(255,255,255,.65);border-radius:15px;background:rgba(255,255,255,.35)}
.calendar-countdowns[hidden]{display:none}
.calendar-countdowns h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:550;color:#5f7162}
.calendar-countdowns ul{padding:0;margin:0;list-style:none}
.calendar-countdowns li+li{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.calendar-countdowns strong{font-size:15px;font-weight:500;line-height:1.65;overflow-wrap:anywhere}
.calendar-countdowns p{margin:3px 0 0;color:#7c8a76;font-size:13px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}
@media(max-width:480px){.calendar-grid{gap:4px}.calendar-day{min-height:32px;font-size:13px}.calendar-day-markers{bottom:4px}.calendar-marker{width:4px;height:4px}.calendar-countdowns{padding:14px}.calendar-legend{gap:16px;font-size:11px}}
