.attendance-replay{container-type:inline-size;background:#1c1c1b;border-radius:18px;padding:2.2% 2.2% 3.5%;color:#bbb;position:relative}
.attendance-count{display:flex;align-items:baseline;gap:3cqw;margin:0 0 8cqw;font-family:Plex,sans-serif;line-height:1.15;white-space:nowrap}
.attendance-count strong{font-size:15cqw;letter-spacing:-.055em;line-height:1.05;font-weight:500;color:#7687ff;font-variant-numeric:tabular-nums;min-width:2.7ch}
.attendance-count span{font-size:4.1cqw;font-weight:400}
.attendance-atlas{display:block;width:100%;height:auto;overflow:visible;border-bottom:1px solid #ffffff10;padding-bottom:7cqw}
.attendance-atlas text{font-family:Mono,monospace;fill:#bdbdbd}
.attendance-atlas .calendar-day{fill:#282828;transition:fill 110ms ease-out,opacity 110ms ease-out}
.attendance-atlas .calendar-day.future{opacity:.45}
.attendance-atlas .calendar-day.lit{fill:#7687ff}
.attendance-atlas .calendar-day.latest{fill:#aeb9ff}
.attendance-atlas .calendar-today{fill:none;stroke:#7687ff;stroke-width:2;opacity:0;transition:opacity 300ms}
.attendance-replay.complete .calendar-today{opacity:1}
.attendance-replay.resetting .attendance-atlas .calendar-day.lit{fill:#282828;transition:fill 500ms ease-in-out}
.attendance-replay.resetting .calendar-today{opacity:0}
.years-caption{align-items:center;flex-wrap:wrap}
.calendar-toggle{font:inherit;color:inherit;background:transparent;border:0;padding:6px 0;cursor:pointer;text-align:left;min-height:24px}
.calendar-toggle:hover{color:#c7ceff}
.calendar-toggle:focus-visible{outline:2px solid #7687ff;outline-offset:5px;border-radius:3px}
.calendar-toggle:disabled{cursor:default}
@media(prefers-reduced-motion:reduce){.attendance-atlas .calendar-day,.attendance-atlas .calendar-today{transition:none!important}}
