.seasonal-calendar{color:var(--hmk-text);margin-block:1.5rem}.seasonal-calendar__intro{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:grid}.seasonal-month-art{width:100%;height:auto;display:block}.seasonal-calendar h2,.seasonal-calendar h3,.seasonal-calendar p{margin:0}.seasonal-calendar h2{margin-block:.4rem;font-size:1.35rem}.seasonal-calendar p{color:var(--hmk-text-muted);line-height:1.6}.seasonal-calendar__progress{align-items:center;gap:.5rem;display:flex;margin-top:.6rem!important}.seasonal-calendar__weekdays,.seasonal-calendar__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}.seasonal-calendar__weekdays{text-align:center;color:var(--hmk-text-muted);padding-block:.75rem;font-size:.8rem}.seasonal-calendar__days{margin:0;padding:0;list-style:none}.seasonal-calendar__days li:first-child{grid-column-start:var(--calendar-start)}.seasonal-calendar__days button{border:1px solid var(--hmk-border);border-radius:var(--hmk-radius-sm);background:var(--hmk-surface);width:100%;min-height:124px;color:var(--hmk-text);font:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:.45rem;padding:.6rem;display:flex}.seasonal-calendar__days button:hover{background:var(--hmk-surface-elevated)}.seasonal-calendar__days button[aria-pressed=true]{border-color:var(--hmk-accent);background:var(--hmk-surface-raised)}.seasonal-calendar__days button[data-status=completed] .seasonal-calendar__day-status{color:var(--hmk-success)}.seasonal-calendar__date{font-variant-numeric:tabular-nums;align-self:flex-start;font-weight:700}.seasonal-calendar__day-title{font-size:.8rem;line-height:1.35}.seasonal-calendar__day-status{min-height:1rem;color:var(--hmk-text-muted);align-items:center;gap:.25rem;font-size:.7rem;display:inline-flex}.seasonal-calendar__detail{border-top:1px solid var(--hmk-border);border-bottom:1px solid var(--hmk-border);margin-block:1rem;padding-block:1.25rem}.seasonal-calendar__detail-heading{align-items:center;gap:.75rem;margin-bottom:.7rem;display:flex}.seasonal-calendar__detail-heading>svg{color:var(--hmk-accent-text);flex-shrink:0}.seasonal-calendar__actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.seasonal-calendar button:focus-visible{outline:3px solid var(--hmk-accent);outline-offset:3px}.seasonal-calendar__actions>button:not(.hmk-button),.seasonal-calendar [role=status] button{border:1px solid var(--hmk-border);border-radius:var(--hmk-radius-sm);background:var(--hmk-surface);min-height:44px;color:var(--hmk-text);font:inherit;cursor:pointer;padding:.65rem 1rem}.seasonal-calendar button:disabled{cursor:default;opacity:.6}.seasonal-calendar__hint{font-size:.85rem;margin-top:.65rem!important}@media (width<=767px){.seasonal-calendar__intro{grid-template-columns:minmax(0,1fr);gap:1rem}.seasonal-month-art{max-width:220px}.seasonal-calendar__weekdays{display:none}.seasonal-calendar__days{grid-template-columns:minmax(0,1fr);gap:.4rem}.seasonal-calendar__days li:first-child{grid-column-start:auto}.seasonal-calendar__days button{text-align:left;grid-template-columns:2ch 22px minmax(0,1fr) auto;min-height:52px;padding:.75rem;display:grid}.seasonal-calendar__date{align-self:center}.seasonal-calendar__day-title{font-size:.9rem}.seasonal-calendar__actions{flex-direction:column}}
