.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-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--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-size:var(--text-xs);text-decoration:none;overflow-wrap:anywhere}.cal-event[href]:hover{background:var(--primary-fill);color:var(--on-primary)}.cal-event:not([href]){cursor:default}.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);font-weight:700}.cal-event--birthday[href]:hover{background:linear-gradient(135deg,var(--primary-fill),var(--accent-violet));color:var(--on-primary)}.cal-event--birthday .icon{width:2.25em;height:2.25em;margin:0}.cal-event__label{min-width:0}.cal-event__age{display:inline-block;margin-left:var(--space-1);padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--primary-fill);color:var(--on-primary);font-size:.85em;font-weight:700;line-height:1.5}@media (max-width:639px){.cal-grid{grid-template-columns:1fr}.cal-dow{display:none}.cal-day{align-items:baseline;gap:var(--space-3);flex-direction:row;min-height:0}.cal-day__num{min-width:2.5rem}.cal-day--empty{display:none}}.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}}
