.so-motion-parts summary { min-height: 44px; cursor: pointer; font-weight: 600; line-height: 1.5; padding: 10px 0; }
.so-motion-parts summary:focus-visible { outline: 2px solid var(--project-blue, #2877e8); outline-offset: 3px; }
.so-motion-parts__content { display: grid; gap: 16px; padding-top: 10px; }
.so-motion-part-group { min-width: 0; }
.so-motion-hint { margin: 0; font-size: 12px; line-height: 1.5; color: var(--vp-muted, var(--project-muted)); }
.so-motion-replay { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.so-motion-replay__button {
    min-width: 0; padding: 8px; border: 1px solid var(--vp-border, var(--project-line));
    border-radius: 6px; background: transparent; color: inherit; font: inherit; font-size: 12px;
}
.so-motion-replay__button:focus-visible { outline: 2px solid var(--project-blue, #2877e8); outline-offset: 2px; }
.so-motion-replay__button:disabled { opacity: .5; cursor: default; }
.so-motion-parts [hidden] { display: none; }
@media(max-width:400px) { .so-motion-replay { grid-template-columns: minmax(0, 1fr); } }
