.event-row{display:grid;grid-template-columns:6rem 1fr;gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--line);color:inherit}.event-row__media{aspect-ratio:1;overflow:hidden;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line)}.event-row__media img{object-fit:cover;width:100%;height:100%}.event-row__body{display:flex;gap:var(--space-1);flex-direction:column;min-width:0}.event-row__meta{font-size:var(--text-sm);color:var(--ink-muted)}.event-row__meta .icon{margin-right:var(--space-1);vertical-align:-.125em;color:var(--primary)}.event-row__name{font-weight:700;line-height:1.3}.event-row:hover .event-row__name{color:var(--primary)}.event-list .event-row:last-child{border-bottom:0}.event-row:not([href]){cursor:default}.event-row:not([href]):hover .event-row__name{color:inherit}.cal{display:flex;gap:var(--space-4);flex-direction:column}.cal-head{display:flex;justify-content:space-between;align-items: center;gap:var(--space-3)}.cal-title{font:inherit;letter-spacing:normal;font-weight:700}.cal-empty{padding:var(--space-4);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--ink-muted);text-align:center;margin:0}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--line);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;gap:1px}.cal-grid>thead,.cal-grid>tbody,.cal-grid>*>tr{display:contents}.cal-dow{background:var(--surface-raised);padding:var(--space-2)var(--space-3);font-size:var(--text-xs);font-weight:inherit;color:var(--ink-muted);text-align:center}.cal-day{background:var(--surface);padding:var(--space-2);display:flex;gap:var(--space-1);flex-direction:column;min-height:6rem}.cal-day__num{font-size:var(--text-xs);color:var(--ink-muted)}.cal-day__dow{display:none}.cal-day__events{display:flex;gap:var(--space-1);flex-direction:column}.cal-day--out{background:var(--stage-mid)}.cal-day--today{box-shadow:inset 0 0 0 2px var(--primary)}.cal-day--today .cal-day__num{color:var(--primary);font-weight:700}.cal-event{display:block;padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--ink);font:inherit;font-size:var(--text-xs);text-align:start;text-decoration:none;overflow-wrap:anywhere;border:0;width:100%}button.cal-event{cursor:pointer}.cal-event:-webkit-any([href],button):hover{background:var(--primary-fill);color:var(--on-primary)}.cal-event:-moz-any([href],button):hover{background:var(--primary-fill);color:var(--on-primary)}.cal-event:is([href],button):hover{background:var(--primary-fill);color:var(--on-primary)}.cal-event:-webkit-any([href],button):hover .cal-event__time{color:inherit}.cal-event:-moz-any([href],button):hover .cal-event__time{color:inherit}.cal-event:is([href],button):hover .cal-event__time{color:inherit}.cal-event__time{color:var(--ink-soft);margin-right:var(--space-1)}.cal-event .icon{margin-right:var(--space-1);vertical-align:-.125em}.cal-event--birthday{display:flex;align-items: center;gap:var(--space-2);background:linear-gradient(135deg,color-mix(in srgb,var(--primary)34%,transparent),color-mix(in srgb,var(--accent-violet)28%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary)45%,transparent)}.cal-event--birthday:-webkit-any([href],button):hover{background:linear-gradient(135deg,var(--primary-fill),var(--accent-violet));color:var(--on-primary)}.cal-event--birthday:-moz-any([href],button):hover{background:linear-gradient(135deg,var(--primary-fill),var(--accent-violet));color:var(--on-primary)}.cal-event--birthday:is([href],button):hover{background:linear-gradient(135deg,var(--primary-fill),var(--accent-violet));color:var(--on-primary)}.cal-event--birthday .icon{flex:none;width:2.25em;height:2.25em;margin:0}.cal-event__label{display:flex;flex-direction:column;min-width:0}.cal-event__name{font-weight:700}.cal-event__kind{opacity:.85;font-size:.9em}@media (min-width:640px){.cal-pop{width:min(28rem,92vw)}}.cal-pop__body{display:flex;gap:var(--space-3);padding:var(--space-4)var(--space-5)var(--space-5);flex-direction:column}.cal-pop__body p{margin:0}.cal-pop__meta{color:var(--ink-muted);font-size:var(--text-sm)}@media (max-width:639px){.cal-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-2);overflow:visible;background:0 0;border:0;border-radius:0}.cal-dow{display:none}.cal-day{display:grid;grid-template-columns:3.25rem minmax(0,1fr);align-items: start;gap:var(--space-3);padding:var(--space-3)var(--space-3)var(--space-3)var(--space-2);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--stage-mid);min-height:0}.cal-day__num{display:flex;justify-content:center;align-items: center;gap:var(--space-1);aspect-ratio:1;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink-soft);flex-direction:column;line-height:1}.cal-day__n{font-family:var(--font-brand);font-size:var(--text-xl);color:var(--ink);font-weight:700}.cal-day__dow{display:block;font-size:var(--text-xs);letter-spacing:var(--label-tracking);text-transform:var(--label-transform);font-weight:700}.cal-day--today{box-shadow:inset 0 0 0 2px var(--primary)}.cal-day--today .cal-day__num{background:var(--primary-fill);box-shadow:none;color:var(--on-primary)}.cal-day--today .cal-day__n{color:inherit}.cal-day--empty,.cal-day--out{display:none}.cal-day__events{gap:var(--space-2)}.cal-event{padding:var(--space-2)var(--space-3);font-size:var(--text-sm)}}.event-agenda{list-style:none;display:flex;gap:var(--space-2);flex-direction:column;margin:0;padding:0}.event-agenda__row{display:grid;grid-template-columns:4rem minmax(0,1fr)auto;align-items: center;gap:var(--space-4);padding:var(--space-3)var(--space-4)var(--space-3)var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--stage-mid);color:inherit;text-decoration:none;transition:background var(--dur-fast)var(--ease-out),border-color var(--dur-fast)var(--ease-out)}.event-agenda__row[href]:hover{background:var(--surface);border-color:var(--line-strong)}.event-agenda__row[href]:hover .event-agenda__title{color:var(--primary)}.event-agenda__row[href]:hover .event-agenda__chevron{color:var(--primary);transform:translate(3px)}.event-agenda__row:not([href]){cursor:default}.event-agenda__row:not([href]) .event-agenda__chevron{visibility:hidden}.event-agenda__row:focus-visible{border-radius:var(--radius-lg)}.event-agenda__date{display:flex;justify-content:center;align-items: center;gap:var(--space-1);aspect-ratio:1;border-radius:var(--radius-md);background:var(--primary-fill);color:var(--on-primary);flex-direction:column;line-height:1}.event-agenda__day{font-family:var(--font-brand);font-size:var(--text-2xl);font-weight:700}.event-agenda__month{font-size:var(--text-xs);letter-spacing:var(--label-tracking);text-transform:var(--label-transform);font-weight:700}.event-agenda__date--year{gap:.125rem}.event-agenda__year{font-variant-numeric:tabular-nums;letter-spacing:.04em;opacity:.8;font-size:.625rem;font-weight:700}.event-agenda__body{display:flex;gap:var(--space-1);flex-direction:column;min-width:0}.event-agenda__title{word-break:keep-all;overflow-wrap:anywhere;transition:color var(--dur-fast)var(--ease-out);font-weight:700;line-height:1.3}.event-agenda__meta{font-size:var(--text-sm);color:var(--ink-muted)}.event-agenda__chevron{display:flex;color:var(--ink-muted);transition:color var(--dur-fast)var(--ease-out),transform var(--dur-fast)var(--ease-out)}.event-agenda__separator{display:flex;align-items: center;gap:var(--space-3);margin-top:var(--space-4);font-size:var(--text-xs);letter-spacing:var(--label-tracking);text-transform:var(--label-transform);color:var(--ink-muted);font-weight:700}.event-agenda__separator:before,.event-agenda__separator:after{content:"";border-top:1px solid var(--line);flex:1}.event-agenda__row--past{background:0 0}.event-agenda__row--past .event-agenda__date{box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink-soft);background:0 0}.event-agenda__row--past .event-agenda__title{color:var(--ink-soft);font-weight:700}@media (max-width:639px){.event-agenda__row{grid-template-columns:3.25rem minmax(0,1fr)auto;gap:var(--space-3);padding:var(--space-3)var(--space-3)var(--space-3)var(--space-2)}.event-agenda__day{font-size:var(--text-xl)}}@media (prefers-reduced-motion:reduce){.event-agenda__row,.event-agenda__title,.event-agenda__chevron{transition:none}.event-agenda__row:hover .event-agenda__chevron{transform:none}}
