.ecal{margin:0 0 18px;padding:0;list-style:none}.ecal__item{position:relative;padding:0 0 22px 26px;border-left:2px solid var(--rule);margin:0 0 0 6px}.ecal__item:last-child{padding-bottom:4px;border-left-color:transparent}.ecal__item:before{content:"";position:absolute;top:3px;left:-8px;width:14px;height:14px;border:2px solid var(--rule-strong);border-radius:50%;background:var(--paper)}.ecal__item--action:before{border-color:var(--accent)}.ecal__item--next:before,.ecal__item--now:before{border-color:var(--accent);background:var(--accent)}.ecal__item--past{opacity:.55}.ecal__item--past:before{background:var(--paper-3)}.ecal__when{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 2px;font-size:13px;font-weight:700;color:var(--ink-2)}.ecal__when time:first-letter{text-transform:uppercase}.ecal__badge{padding:1px 8px;border-radius:999px;border:1px solid var(--accent);font-size:11.5px;font-weight:700;color:var(--accent)}.ecal__badge--now{background:var(--accent);color:var(--paper)}.ecal__past{font-size:11.5px;font-weight:600;color:var(--ink-3)}.ecal__title{margin:0 0 4px;font-family:var(--font-serif);font-size:19px;line-height:1.25;color:var(--ink)}.ecal__body{margin:0 0 6px;max-width:64ch;font-size:14px;line-height:1.55;color:var(--ink-2)}.ecal__meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;font-size:12px;color:var(--ink-3)}.ecal__kind{padding:1px 7px;border-radius:6px;background:var(--paper-2);font-weight:600}.ecal__kind--action{color:var(--ink)}.ecal__source{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;color:var(--ink-3)}.ecal__source:hover{color:var(--ink)}.ecal__note{max-width:64ch;margin:0 0 24px;font-size:13px;line-height:1.55;color:var(--ink-3)}