html:not(.calendar-js) .calendar-tabs,html:not(.calendar-js) .calendar-nav{display:none}.calendar-tab{padding-bottom:.25rem;border-bottom:2px solid transparent;cursor:pointer;background:none;border-top:0;border-left:0;border-right:0;color:var(--color-muted);font:inherit;letter-spacing:inherit}.calendar-tab:hover{color:var(--color-ink)}.calendar-tab.is-active{color:var(--color-ink);border-bottom-color:var(--color-accent)}.calendar-nav{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1.5rem}.calendar-nav button{background:none;border:1px solid var(--color-rule);color:var(--color-muted);padding:.25rem .75rem;cursor:pointer;font:inherit}.calendar-nav button:hover{color:var(--color-ink);border-color:var(--color-muted)}.calendar-period{flex:1;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:var(--color-ink)}.cal-month{border:1px solid var(--color-rule);background:var(--color-paper)}.cal-month-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--color-rule)}.cal-month-dayhead{padding:.5rem .75rem;font-family:var(--font-sans);font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--color-muted);border-right:1px solid var(--color-rule)}.cal-month-dayhead:last-child{border-right:0}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(5.5rem,auto)}.cal-month-cell{border-right:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);padding:0;position:relative;overflow:hidden;min-width:0}.cal-month-cell:nth-child(7n){border-right:0}.cal-month-cell:nth-last-child(-n+7){border-bottom:0}.cal-month-cell.is-out .cal-month-date{opacity:.4}.cal-month-cell.is-today{background:#3d5a3d0d}.cal-month-cell-button{display:block;width:100%;text-align:left;background:none;border:0;padding:.25rem .5rem 0;cursor:pointer;font:inherit;color:inherit}.cal-month-cell-button:hover{background:#3d5a3d0a}.cal-month-date{font-family:var(--font-sans);font-size:12px;font-variant-numeric:tabular-nums;color:var(--color-muted)}.cal-month-cell.is-today .cal-month-date{color:var(--color-accent);font-weight:600}.cal-month-events{display:flex;flex-direction:column;gap:1px;padding:2px 4px 4px}.cal-event{display:block;font-family:var(--font-sans);font-size:10px;line-height:1.4;padding:1px 4px;background:var(--color-accent);color:var(--color-paper);text-decoration:none;border-radius:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event:hover{opacity:.85}.cal-event-time{font-variant-numeric:tabular-nums;opacity:.85;margin-right:3px}.cal-month-more{font-family:var(--font-sans);font-size:10px;color:var(--color-muted);padding:1px 4px}.cal-week,.cal-weekend{display:grid;gap:.5rem}.cal-week{grid-template-columns:repeat(7,minmax(8rem,1fr));overflow-x:auto}.cal-weekend{grid-template-columns:repeat(3,1fr)}@media(max-width:640px){.cal-weekend{grid-template-columns:1fr}}.cal-week-col,.cal-weekend-col{border:1px solid var(--color-rule);background:var(--color-paper);min-width:0}.cal-week-col.is-today,.cal-weekend-col.is-today{background:#3d5a3d0a}.cal-week-colhead,.cal-weekend-colhead{padding:.5rem .75rem;border-bottom:1px solid var(--color-rule);display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.cal-week-dow,.cal-weekend-dow{font-family:var(--font-sans);font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--color-muted)}.cal-week-date,.cal-weekend-date{font-family:var(--font-sans);font-size:14px;font-variant-numeric:tabular-nums}.cal-week-col.is-today .cal-week-date,.cal-weekend-col.is-today .cal-weekend-date{color:var(--color-accent);font-weight:600}.cal-week-events,.cal-weekend-events{padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.cal-empty{font-family:var(--font-sans);font-size:12px;color:var(--color-muted);padding:.5rem 0}.cal-empty-large{padding:3rem 0;text-align:center;font-style:italic}.cal-card{display:block;padding:.625rem .75rem;background:#3d5a3d0f;border-left:3px solid var(--color-accent);text-decoration:none;color:inherit}.cal-card:hover{background:#3d5a3d1a}.cal-card-time{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);font-variant-numeric:tabular-nums}.cal-card-title{font-size:15px;line-height:1.3;margin-top:3px}.cal-card-loc{font-family:var(--font-sans);font-size:11px;color:var(--color-muted);margin-top:4px}.cal-card-desc{font-size:13px;color:var(--color-muted);margin-top:6px;line-height:1.4}.cal-day{display:flex;flex-direction:column;gap:.75rem}
