.story-list {
    display: flex;
    flex-direction: column;

    /* progress bar → 다음 title 사이의 간격 */
    gap: 1rem;

    list-style: none;
    margin: 0;
    padding: 0;
}

.markdown-body .story-list > .story {
    margin: 0;
    padding: 0;
}

.story__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;

    gap: 1rem;

    margin-bottom: 0.2rem;
}

.story__title {
    font-weight: 700;
}

.story__progress {
    flex: 0 0 auto;

    font-size: 0.82em;
    font-variant-numeric: tabular-nums;

    opacity: 0.72;
}

.story__track {
    width: 100%;
    height: 1.15rem;

    overflow: hidden;

    background: rgba(255, 255, 255, 0.16);
}

.story__bar {
    width: var(--progress);
    height: 100%;

    background: hsl(0 100% 60%);
}

.story:hover .story__bar {
    animation: story-hue-wheel 2.5s linear infinite;
}

@keyframes story-hue-wheel {
    from {
        filter: hue-rotate(0deg);
    }

    to {
        filter: hue-rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .story:hover .story__bar {
        animation: none;
    }
}

.story__comments {
    margin: 0.7rem 0 0;
    padding-left: 1.5em;

    font-size: 0.82em;
    line-height: 1.6;

    opacity: 0.72;
}

.markdown-body .story__comments > li {
    margin: 0.15rem 0;
}