/* All selectors are scoped; typography and colors inherit from the theme. */
.aminu-timeline {
    --aminu-timeline-rail: 10rem;
    --aminu-timeline-gap: 2rem;
    --aminu-timeline-marker-size: 9px;
    --aminu-timeline-line-width: 1px;
    --aminu-timeline-line-style: solid;
    --aminu-timeline-marker-top: .75rem;
    list-style: none;
    padding: 0;
    margin-block: 2rem;
}
.aminu-timeline > .aminu-timeline__item {
    position: relative;
    display: grid;
    grid-template-columns: var(--aminu-timeline-rail) minmax(0, 1fr);
    column-gap: var(--aminu-timeline-gap);
    margin: 0;
    padding: 0 0 2.5rem;
    color: inherit;
}
.aminu-timeline > .aminu-timeline__item::before {
    content: "";
    position: absolute;
    inset-inline-start: calc(var(--aminu-timeline-rail) + var(--aminu-timeline-gap) / 2 - var(--aminu-timeline-line-width) / 2 + .5px);
    top: calc(var(--aminu-timeline-marker-top) + var(--aminu-timeline-marker-size) / 2);
    bottom: calc(0px - var(--aminu-timeline-marker-top) + var(--aminu-timeline-marker-size) / 2);
    width: 0;
    border-inline-start: var(--aminu-timeline-line-width) var(--aminu-timeline-line-style) currentColor;
    opacity: .25;
}
.aminu-timeline > .aminu-timeline__item::after {
    content: "";
    position: absolute;
    inset-inline-start: calc(var(--aminu-timeline-rail) + var(--aminu-timeline-gap) / 2 - var(--aminu-timeline-marker-size) / 2 + .5px);
    top: calc(var(--aminu-timeline-marker-top) - var(--aminu-timeline-marker-size) / 2);
    width: var(--aminu-timeline-marker-size);
    height: var(--aminu-timeline-marker-size);
    box-sizing: border-box;
    border-radius: 50%;
    background: currentColor;
}
.aminu-timeline > .aminu-timeline__item:last-of-type { padding-bottom: 0; }
.aminu-timeline > .aminu-timeline__item:last-of-type::before { display: none; }
.aminu-timeline .aminu-timeline__date {
    grid-column: 1;
    margin: 0;
    font-size: .875em;
    font-weight: 600;
    line-height: 1.7;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}
.aminu-timeline .aminu-timeline__content { grid-column: 2; min-width: 0; }
.aminu-timeline .aminu-timeline__title {
    margin: 0;
    font-size: 1.05em;
    font-weight: 600;
    line-height: 1.6;
    overflow-wrap: anywhere;
}
.aminu-timeline .aminu-timeline__description {
    margin: .5rem 0 0;
    font-size: .95em;
    line-height: 1.8;
    overflow-wrap: anywhere;
}
@media (max-width: 600px) {
    .aminu-timeline { --aminu-timeline-rail: 0rem; --aminu-timeline-gap: 1.75rem; }
    .aminu-timeline > .aminu-timeline__item { display: block; padding-inline-start: var(--aminu-timeline-gap); }
    .aminu-timeline .aminu-timeline__date { margin-bottom: .4rem; }
}
