/* Paired reconstruction and simulation clips, grouped by demonstration. */
.motion-project .project-content { min-width: 0; }
.motion-flow { display: flex; flex-wrap: wrap; gap: 7px 26px; padding: 0; margin: 21px 0 25px; list-style: none; color: var(--body); font-size: .87rem; }
.motion-flow li { position: relative; }
.motion-flow li + li::before { content: "→"; position: absolute; left: -20px; color: var(--muted); }
.motion-example { border-top: 1px solid var(--border); }
.motion-example > summary { width: 100%; min-height: 58px; gap: 12px; color: var(--ink); font-size: .96rem; }
.motion-example-type { color: var(--muted); font-size: .78rem; font-weight: 400; margin-left: auto; }
.motion-example > summary > .icon { color: var(--muted); }
.motion-comparison { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 18px; padding: 4px 0 25px; }
.motion-comparison figure { min-width: 0; }
.motion-media { display: flex; align-items: center; height: 285px; border: 1px solid var(--border); border-radius: 7px; overflow: hidden; }
.motion-human { background: #fff; }
.motion-robot { background: #17191c; }
.motion-media video { display: block; width: 100%; height: 100%; object-fit: contain; }
.motion-comparison figcaption { display: flex; align-items: flex-start; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-top: 10px; line-height: 1.6; }
.motion-comparison figcaption > span { display: grid; gap: 3px; }
.motion-comparison figcaption strong { color: var(--ink); font-size: .87rem; font-weight: 600; }
.motion-comparison figcaption span span { color: var(--muted); font-size: .76rem; }
.motion-method { margin-top: 0; }
.motion-credits, .motion-media-error { margin-top: 15px; color: var(--muted); font-size: .8rem; }
.motion-credits a { text-decoration: underline; text-decoration-color: var(--border-strong); }
.motion-credits a:hover { color: var(--accent); text-decoration-color: currentColor; }
@media (max-width: 1100px) {
    .motion-media { height: 250px; }
}
@media (max-width: 720px) {
    .motion-comparison { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .motion-human { height: auto; aspect-ratio: 480 / 214; }
    .motion-robot { width: min(100%, 300px); height: auto; aspect-ratio: 1; }
    .motion-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; font-size: .82rem; counter-reset: motion-step; }
    .motion-flow li { display: flex; gap: 7px; }
    .motion-flow li::before, .motion-flow li + li::before { counter-increment: motion-step; content: counter(motion-step, decimal-leading-zero); position: static; color: var(--muted); font-size: .78rem; }
    .motion-example > summary { flex-wrap: wrap; column-gap: 8px; row-gap: 2px; padding-block: 12px; }
    .motion-example-type { order: 3; flex-basis: 100%; margin-left: 0; }
    .motion-example > summary > .icon { margin-left: auto; }
}
@media print {
    .motion-example { display: none; }
    .motion-credits { color: var(--body); }
}
