.agenda-card-grid{--agenda-gap:26px;gap:var(--agenda-gap)}
.agenda-special{position:relative;isolation:isolate;border-radius:var(--radius-component,6px);min-width:0;background:var(--surface);color:var(--ink);display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
.agenda-special::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--special-flag);z-index:-2}
.agenda-special::after{content:"";position:absolute;inset:0;border-radius:inherit;background:color-mix(in srgb,var(--surface) 77%,transparent);backdrop-filter:blur(22px);z-index:-1;border:1px solid var(--line)}
.agenda-special .agenda-special-copy{min-width:0;background:transparent;border-color:transparent;overflow-wrap:anywhere}
.agenda-special-copy .event-date-strip{background:transparent;color:var(--ink)}
.agenda-special-copy .date-strip-background{display:none}
.agenda-special-copy .date-strip-dates{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem}
.agenda-special-copy .date-strip-dates>span{white-space:nowrap}
.agenda-special--group{grid-column:span var(--special-span);grid-template-columns:repeat(var(--special-span),minmax(0,1fr));gap:var(--agenda-gap);background:none}
.agenda-special--group::before,.agenda-special--group::after{inset:-5px}
.agenda-special-event{min-width:0;display:grid;scroll-margin-top:6rem}
.agenda-special-event:target{outline:3px solid currentColor;outline-offset:3px;border-radius:.7rem}
.agenda-special-jumps{list-style:none;padding:0;display:grid;gap:.5rem}
.agenda-special-jumps a{white-space:normal}
.calendar-day{position:relative;--calendar-inset:10px}
.calendar-day-heading,.calendar-special-lane{position:relative;isolation:isolate;box-sizing:border-box;display:flex;align-items:center;gap:.35rem;height:2.8rem;margin-inline:calc(-1 * var(--calendar-inset));padding-inline:var(--calendar-inset);color:var(--ink)}
.calendar-day-heading{margin-top:calc(-1 * var(--calendar-inset))}
.calendar-special-lane>.calendar-special-strip::after{box-shadow:inset 0 1px var(--line)}
.calendar-day-heading time{flex-shrink:0}
.calendar-special-names{min-width:0;font-size:.75rem;font-weight:750;line-height:1.2;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.calendar-special-strip{position:absolute;inset:0 -1px 0 0;pointer-events:none;z-index:-1;background:var(--special-flag);background-size:var(--strip-size) 100%;background-position:var(--strip-position) 0}
.calendar-special-strip::after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--surface) 70%,transparent)}
.calendar-special-event{position:relative;isolation:isolate;padding:.25rem var(--calendar-inset) .5rem;margin-inline:calc(-1 * var(--calendar-inset));border-radius:0 0 .45rem .45rem}
.calendar-special-event::before{content:"";position:absolute;inset:0 -1px 0 0;border-radius:inherit;background:linear-gradient(color-mix(in srgb,var(--surface) 70%,transparent),color-mix(in srgb,var(--surface) 70%,transparent)),var(--special-flag);background-size:100% 100%,var(--strip-size) 100%;background-position:0 0,var(--strip-position) 0;z-index:-1}
.calendar-special-event .calendar-entry{margin:0}
@media(max-width:1050px){.calendar-day{--calendar-inset:6px}}
@media(max-width:1000px){.agenda-card-grid{--agenda-gap:16px}}
@media(max-width:700px){.agenda-card-grid{grid-template-columns:1fr}.agenda-special--group{grid-column:1/-1;grid-template-columns:1fr}.calendar-day{--calendar-inset:16px}.calendar-special-strip,.calendar-special-event::before{inset:0}.calendar-day-heading .calendar-special-strip{border-radius:6px 6px 0 0}}
/* Lift the wrapper's isolated stacking context along with the open event. */
@media(min-width:701px){.calendar-special-event:has(>.calendar-entry.is-preview-open){z-index:31}}

.agenda-special-copy a.date-strip-arrow{pointer-events:auto;text-decoration:none}

.calendar-date-short,.calendar-mobile-period{display:none}
@media(max-width:700px){
    .calendar-date-number,.calendar-period-band,.calendar-day.calendar-mobile-empty,.calendar-special-lane:not(.calendar-special-lane--single){display:none}
    .calendar-date-short{display:inline}
    .calendar-mobile-period{display:grid;gap:.25rem;padding:.65rem 1rem;border:1px solid var(--line);border-radius:var(--radius-component,6px);background:linear-gradient(color-mix(in srgb,var(--surface) 70%,transparent),color-mix(in srgb,var(--surface) 70%,transparent)),var(--special-flag);color:var(--ink)}
    .calendar-special-event::before{background-size:100% 100%;background-position:0 0}
}

.calendar .calendar-entry{--calendar-tile-bg:var(--paper);--calendar-tile-line:transparent;border-inline-start:3px solid var(--calendar-tile-line);background-color:var(--calendar-tile-bg);transition:background-color .16s ease,border-color .16s ease}
.calendar .calendar-entry.is-featured{--calendar-tile-line:var(--purple);outline:none}
.calendar .calendar-entry.changed{--calendar-tile-line:var(--orange)}
.calendar .calendar-entry.cancelled{--calendar-tile-bg:var(--surface);--calendar-tile-line:var(--red)}
.calendar-event-link{display:grid;gap:.25rem;padding:9px 7px;font-size:12px;line-height:1.5;color:inherit;text-decoration:none;overflow-wrap:anywhere;border-radius:inherit}
.calendar-entry.cancelled .calendar-event-link{color:var(--muted)}
.calendar-event-link:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.calendar .calendar-entry:is(.is-preview-open,:hover){background-color:color-mix(in srgb,var(--ink) 7%,var(--calendar-tile-bg))}
.calendar .calendar-entry:is(.is-featured,.changed,.cancelled):is(.is-preview-open,:hover){border-inline-start-color:color-mix(in srgb,var(--ink) 7%,var(--calendar-tile-line))}
.calendar-entry.is-preview-open{z-index:30}
.calendar-popover[hidden]{display:none}
@media(max-width:1050px){.calendar-event-link{font-size:11px}}
@media(max-width:700px){.calendar-event-link{font-size:14px;padding:12px}.calendar-entry .calendar-popover{display:none}}
.calendar-event-title{line-height:1.35}
.calendar-event-meta{display:flex;align-items:baseline;gap:.35rem;color:var(--muted);line-height:1.35}
.calendar-event-status{color:var(--ink);font-weight:700}
.calendar .calendar-event-meta .coc-icon{width:1em;height:1em;align-self:flex-start;margin-top:.16em;color:currentColor}
@media(prefers-reduced-motion:reduce){.calendar .calendar-entry{transition:none}}
.calendar .calendar-event-meta .icon-accent{fill:none;stroke:currentColor}
