.month-view[hidden]{display:none}.month-view__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.month-view__label{margin:0;font-size:var(--step-2);text-align:center}.month-view__nav{flex:none;width:44px;height:44px;border:2px solid currentColor;border-radius:var(--radius);background:transparent;color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer}.month-view__nav:hover{background-color:var(--hl)}.month-grid{width:100%;table-layout:fixed;border-collapse:collapse}.month-grid th{padding:.4rem .25rem;font-family:var(--font-serif);font-weight:400;font-size:var(--step--1);color:var(--text-muted);text-align:left}.month-grid abbr{text-decoration:none}.month-grid td{vertical-align:top;height:clamp(3.5rem,2rem + 6vw,7rem);padding:.3rem;border:1px solid var(--line);overflow:hidden}.month-grid td.is-empty{background:transparent;border-color:transparent}.month-grid .day-num{display:block;font-family:var(--font-serif);font-variant-numeric:lining-nums tabular-nums;font-size:var(--step--1)}.month-grid .is-today .day-num{font-weight:700;color:var(--link)}.month-event{display:block;margin-top:.25rem;padding:.15rem .35rem;border-radius:2px;font-size:.75rem;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.month-event.is-future{background:var(--accent);color:var(--on-accent)}.month-event.is-past{background:var(--line);color:var(--text-muted)}.month-event:hover{background-color:var(--hl)}.month-agenda .month-event{display:inline;padding:0;background:none;font-size:inherit;white-space:normal;text-decoration:underline}.month-agenda .month-event.is-future{color:var(--link)}.month-agenda{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.4rem}.month-agenda li{display:flex;gap:.75rem}.month-agenda__date{flex:none;min-width:5.5em;font-family:var(--font-serif);color:var(--text-muted)}.month-agenda__none{color:var(--text-muted)}@media(max-width:40rem){.month-grid td{padding:.2rem}.month-grid .month-event{font-size:0;height:.5rem;padding:0;margin-top:.3rem}}.calendar-page{padding-block:clamp(2rem,1.5rem + 3vw,4rem)}.calendar-head{margin-bottom:clamp(2rem,1.5rem + 2vw,3rem)}.calendar-head h1{margin-bottom:1.25rem}.calendar-page .toolbar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}html:not(.js) .calendar-page .toolbar{display:none}.view-toggle{display:inline-flex;border:2px solid var(--text);border-radius:var(--radius);overflow:hidden}.view-toggle button{min-height:40px;min-width:5rem;padding:0 1rem;border:0;background:transparent;color:var(--text);font-family:var(--font-display);font-weight:700;font-stretch:112%;font-size:var(--step-0);cursor:pointer}.view-toggle button[aria-pressed=true]{background:var(--text);color:var(--bg)}.view-toggle button:focus-visible{outline-offset:-5px}[data-view-panel][hidden],.calendar-page [hidden]{display:none}.cal-section{margin-bottom:clamp(2.5rem,2rem + 3vw,4rem)}.cal-section>h2{border-bottom:2px solid var(--text);padding-bottom:.4rem;margin-bottom:1.25rem}.card-list{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem}.card-list>li{display:grid;gap:.6rem;min-width:0}.month-group+.month-group{margin-top:2rem}.month-group__label{font-family:var(--font-serif);font-weight:400;font-stretch:normal;font-size:var(--step-1);color:var(--text-muted);margin-bottom:.75rem}.empty{font-size:var(--step-1);max-width:40ch}.event-drawer{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--bg);color:var(--text);overflow-y:auto;overscroll-behavior:contain}.event-drawer::backdrop{background:#2121218c}.event-drawer__bar{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end;padding:.75rem var(--gutter);padding-top:max(.75rem,env(safe-area-inset-top,0px));background:var(--bg)}.event-drawer__body{padding:0 var(--gutter) 2rem}@media(min-width:768px){.event-drawer{inset:0;margin:auto;width:min(64rem,calc(100vw - 4rem));height:auto;max-height:min(90dvh,56rem);border:1px solid var(--line);border-radius:4px}.event-drawer__bar{padding-inline:2rem}.event-drawer__body{padding:0 2.5rem 2.5rem}}
